═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ RESTART ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2026-02-16 00:00:03.540 | INFO | <<< APP RESTART >>> 2026-02-16 00:00:03.547 | INFO | App stop: com.bilibili.azurlane 2026-02-16 00:00:03.601 | INFO | App start: com.bilibili.azurlane 2026-02-16 00:00:03.683 | INFO | handle_app_login 2026-02-16 00:00:03.690 | INFO | Screenshot interval set to 1.0s 2026-02-16 00:00:03.700 | INFO | <<< APP LOGIN >>> 2026-02-16 00:00:03.731 | INFO | [Device Orientation] 0 (Normal) 2026-02-16 00:00:09.659 | INFO | [Device Orientation] 0 (Normal) 2026-02-16 00:00:15.642 | INFO | [Device Orientation] 0 (Normal) 2026-02-16 00:00:21.633 | INFO | [Device Orientation] 0 (Normal) 2026-02-16 00:00:25.595 | INFO | Click ( 492, 338) @ LOGIN_CHECK 2026-02-16 00:00:25.655 | INFO | Login success 2026-02-16 00:00:31.582 | INFO | Click ( 500, 354) @ LOGIN_CHECK 2026-02-16 00:00:39.561 | INFO | Click ( 427, 350) @ LOGIN_CHECK 2026-02-16 00:00:45.571 | INFO | Click ( 459, 378) @ LOGIN_CHECK 2026-02-16 00:00:51.583 | INFO | Click ( 498, 345) @ LOGIN_CHECK 2026-02-16 00:00:57.579 | INFO | Click ( 478, 328) @ LOGIN_CHECK 2026-02-16 00:01:03.589 | INFO | Click ( 483, 369) @ LOGIN_CHECK 2026-02-16 00:01:09.593 | INFO | Click ( 466, 370) @ LOGIN_CHECK 2026-02-16 00:01:15.597 | INFO | Click ( 469, 332) @ LOGIN_CHECK 2026-02-16 00:01:21.599 | INFO | Click ( 468, 343) @ LOGIN_CHECK 2026-02-16 00:01:27.607 | INFO | Click ( 447, 324) @ LOGIN_CHECK 2026-02-16 00:01:33.607 | INFO | Function calls: gui.py L94 process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() gui.py L85 func() main.py L463 run() server.py L60 run() runners.py L43 run() on.py L84 main() proxy_headers.py L75 __call__() applications.py L112 __call__() errors.py L146 __call__() base.py L21 __call__() exceptions.py L58 __call__() routing.py L569 __call__() routing.py L540 lifespan() routing.py L481 default_lifespan() routing.py L518 startup() app.py L1523 process_manager.py L227 restart_processes() process_manager.py L51 start() process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() process_manager.py L166 run_process() alas.py L555 loop() alas.py L69 run() alas.py L167 restart() login.py L163 app_restart() login.py L145 handle_app_login() login.py L59 _handle_app_login() control.py L37 click() device.py L263 handle_control_check() device.py L299 click_record_check() device.py L43 show_function_call() 2026-02-16 00:01:33.636 | WARNING | Too many click for a button: LOGIN_CHECK 2026-02-16 00:01:33.641 | WARNING | History click: ['LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK'] 2026-02-16 00:01:33.646 | INFO | Screenshot interval set to 0.3s 2026-02-16 00:01:33.651 | ERROR | GameTooManyClickError: Too many click for a button: LOGIN_CHECK 2026-02-16 00:01:33.657 | WARNING | Saving error: ./log/error/1771171293656