2025-09-17T13:07:22.628028719Z [migrations] started 2025-09-17T13:07:22.628071535Z [migrations] no migrations found 2025-09-17T13:07:22.713775941Z usermod: no changes 2025-09-17T13:07:22.723260763Z ─────────────────────────────────────── 2025-09-17T13:07:22.723280713Z 2025-09-17T13:07:22.723285253Z ██╗ ███████╗██╗ ██████╗ 2025-09-17T13:07:22.723289331Z ██║ ██╔════╝██║██╔═══██╗ 2025-09-17T13:07:22.723293098Z ██║ ███████╗██║██║ ██║ 2025-09-17T13:07:22.723297397Z ██║ ╚════██║██║██║ ██║ 2025-09-17T13:07:22.723303900Z ███████╗███████║██║╚██████╔╝ 2025-09-17T13:07:22.723308890Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-09-17T13:07:22.723313810Z 2025-09-17T13:07:22.723318309Z Brought to you by linuxserver.io 2025-09-17T13:07:22.723322948Z ─────────────────────────────────────── 2025-09-17T13:07:22.723637452Z 2025-09-17T13:07:22.723648394Z To support LSIO projects visit: 2025-09-17T13:07:22.723652963Z https://www.linuxserver.io/donate/ 2025-09-17T13:07:22.723656791Z 2025-09-17T13:07:22.723660368Z ─────────────────────────────────────── 2025-09-17T13:07:22.723664737Z GID/UID 2025-09-17T13:07:22.723668504Z ─────────────────────────────────────── 2025-09-17T13:07:22.728212516Z 2025-09-17T13:07:22.728232587Z User UID: 911 2025-09-17T13:07:22.728239701Z User GID: 911 2025-09-17T13:07:22.728246114Z ─────────────────────────────────────── 2025-09-17T13:07:22.729994716Z Linuxserver.io version: 0.50.14-ls215 2025-09-17T13:07:22.730255120Z Build-date: 2025-09-17T13:01:32+00:00 2025-09-17T13:07:22.730264369Z ─────────────────────────────────────── 2025-09-17T13:07:22.730271242Z 2025-09-17T13:07:22.782096116Z [custom-init] No custom files found, skipping... 2025-09-17T13:07:23.010476708Z /app/changedetection/changedetectionio/html_tools.py:437: SyntaxWarning: invalid escape sequence '\[' 2025-09-17T13:07:23.011690232Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>' 2025-09-17T13:07:23.011717437Z /app/changedetection/changedetectionio/html_tools.py:501: SyntaxWarning: invalid escape sequence '\s' 2025-09-17T13:07:23.011888581Z content = re.sub('<!--\s+-->', '', content) 2025-09-17T13:07:23.090548811Z 2025-09-17 13:07:23.090 | DEBUG | changedetectionio.content_fetchers:<module>:62 - Falling back to selenium as fetcher 2025-09-17T13:07:23.409485209Z 2025-09-17 13:07:23.409 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully 2025-09-17T13:07:23.409512404Z 2025-09-17 13:07:23.409 | DEBUG | changedetectionio.queue_handlers:__init__:358 - NotificationQueue initialized successfully 2025-09-17T13:07:23.412172611Z 2025-09-17 13:07:23.412 | INFO | changedetectionio.flask_app:<module>:90 - System locale default is (None, None) 2025-09-17T13:07:23.412976060Z 2025-09-17 13:07:23.412 | SUCCESS | changedetectionio:main:131 - changedetection.io version 0.50.14 starting. 2025-09-17T13:07:23.425505534Z 2025-09-17 13:07:23.425 | INFO | changedetectionio.store:__init__:50 - Datastore path is '/config/url-watches.json' 2025-09-17T13:07:23.425930089Z 2025-09-17 13:07:23.425 | CRITICAL | changedetectionio.store:__init__:100 - No JSON DB found at /config/url-watches.json, creating JSON store at /config 2025-09-17T13:07:23.426152256Z 2025-09-17 13:07:23.426 | DEBUG | changedetectionio.store:add_tag:586 - >>> Adding new tag - 'tech news' 2025-09-17T13:07:23.471933107Z 2025-09-17 13:07:23.471 | DEBUG | changedetectionio.store:add_watch:362 - Adding URL 'https://news.ycombinator.com/' - e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.471956384Z 2025-09-17 13:07:23.471 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.472078721Z 2025-09-17 13:07:23.471 | INFO | changedetectionio.store:sync_to_json:392 - Saving JSON.. 2025-09-17T13:07:23.473377035Z 2025-09-17 13:07:23.473 | DEBUG | changedetectionio.store:add_watch:378 - Added 'https://news.ycombinator.com/' 2025-09-17T13:07:23.473415252Z 2025-09-17 13:07:23.473 | DEBUG | changedetectionio.store:add_tag:586 - >>> Adding new tag - 'changedetection.io' 2025-09-17T13:07:23.473794025Z 2025-09-17 13:07:23.473 | DEBUG | changedetectionio.store:add_watch:362 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.473816019Z 2025-09-17 13:07:23.473 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.473926712Z 2025-09-17 13:07:23.473 | INFO | changedetectionio.store:sync_to_json:392 - Saving JSON.. 2025-09-17T13:07:23.475486624Z 2025-09-17 13:07:23.475 | DEBUG | changedetectionio.store:add_watch:378 - Added 'https://changedetection.io/CHANGELOG.txt' 2025-09-17T13:07:23.476409983Z 2025-09-17 13:07:23.476 | INFO | changedetectionio.store:sync_to_json:392 - Saving JSON.. 2025-09-17T13:07:23.530891879Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:124: SyntaxWarning: invalid escape sequence '\d' 2025-09-17T13:07:23.530910316Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+") 2025-09-17T13:07:23.603883221Z 2025-09-17 13:07:23.603 | INFO | changedetectionio.realtime.socket_server:init_socketio:287 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO 2025-09-17T13:07:23.603936699Z 2025-09-17 13:07:23.603 | INFO | changedetectionio.realtime.socket_server:init_socketio:294 - Platform: linux, Python: 3.12, Socket.IO mode: threading 2025-09-17T13:07:23.634150588Z 2025-09-17 13:07:23.633 | INFO | changedetectionio.realtime.socket_server:init_socketio:306 - Socket.IO: Registering connect event handler 2025-09-17T13:07:23.634182292Z 2025-09-17 13:07:23.634 | INFO | changedetectionio.realtime.socket_server:__init__:38 - SignalHandler: Connected to notification_event signal 2025-09-17T13:07:23.634697089Z 2025-09-17 13:07:23.634 | INFO | changedetectionio.realtime.socket_server:polling_emit_running_or_queued_watches_threaded:131 - Queue update thread started (threading mode) 2025-09-17T13:07:23.634970510Z 2025-09-17 13:07:23.634 | INFO | changedetectionio.realtime.socket_server:__init__:47 - Started polling thread using threading (eventlet-free) 2025-09-17T13:07:23.635936736Z 2025-09-17 13:07:23.635 | INFO | changedetectionio.realtime.socket_server:init_socketio:405 - Socket.IO initialized and attached to main Flask app 2025-09-17T13:07:23.635946946Z 2025-09-17 13:07:23.635 | INFO | changedetectionio.realtime.socket_server:init_socketio:406 - Socket.IO: Registered event handlers: [] 2025-09-17T13:07:23.635987167Z 2025-09-17 13:07:23.635 | INFO | changedetectionio.flask_app:changedetection_app:533 - Socket.IO server initialized 2025-09-17T13:07:23.637306103Z 2025-09-17 13:07:23.637 | INFO | changedetectionio.flask_app:changedetection_app:623 - Starting 10 workers during app initialization 2025-09-17T13:07:23.637766110Z 2025-09-17 13:07:23.637 | INFO | changedetectionio.worker_handler:start_async_event_loop:29 - Starting async event loop for workers 2025-09-17T13:07:23.638294624Z 2025-09-17 13:07:23.638 | DEBUG | changedetectionio.worker_handler:start_async_event_loop:37 - Event loop created and set: <_UnixSelectorEventLoop running=False closed=False debug=False> 2025-09-17T13:07:23.938166748Z 2025-09-17 13:07:23.937 | INFO | changedetectionio.worker_handler:start_async_workers:76 - Starting 10 async workers 2025-09-17T13:07:23.939307505Z 2025-09-17 13:07:23.939 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:728 - System env MINIMUM_SECONDS_RECHECK_TIME 3 2025-09-17T13:07:23.942427940Z 2025-09-17 13:07:23.942 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-09-17T13:07:23.942523181Z 2025-09-17 13:07:23.942 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.942591770Z 2025-09-17 13:07:23.942 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.942673043Z 2025-09-17 13:07:23.942 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID e0cebc67-5c6b-4364-ac0e-f8ed0d684543 last checked at 0 queued at 1758114443.94 priority 1758114443 jitter 0.00s, 1758114443.94s since last checked 2025-09-17T13:07:23.943090193Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead. 2025-09-17T13:07:23.943366840Z * Serving Flask app 'changedetectionio.flask_app' 2025-09-17T13:07:23.943390979Z * Debug mode: off 2025-09-17T13:07:23.954746399Z 2025-09-17 13:07:23.954 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 2 2025-09-17T13:07:23.954821069Z 2025-09-17 13:07:23.954 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.954883174Z 2025-09-17 13:07:23.954 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.954962574Z 2025-09-17 13:07:23.954 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID a69238f7-4a3f-43da-886f-c30575abb086 last checked at 0 queued at 1758114443.94 priority 1758114443 jitter 0.00s, 1758114443.94s since last checked 2025-09-17T13:07:23.956049213Z 2025-09-17 13:07:23.955 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 0 2025-09-17T13:07:23.956147350Z 2025-09-17 13:07:23.956 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 0 2025-09-17T13:07:23.956342714Z 2025-09-17 13:07:23.956 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-09-17T13:07:23.956416853Z 2025-09-17 13:07:23.956 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.956497986Z 2025-09-17 13:07:23.956 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:23.956604531Z 2025-09-17 13:07:23.956 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 0 processing watch UUID e0cebc67-5c6b-4364-ac0e-f8ed0d684543 Priority 1758114443 URL https://news.ycombinator.com/ 2025-09-17T13:07:23.957570316Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 2025-09-17T13:07:23.957595246Z * Running on all addresses (0.0.0.0) 2025-09-17T13:07:23.957606880Z * Running on http://127.0.0.1:5000 2025-09-17T13:07:23.957617852Z * Running on http://172.17.0.4:5000 2025-09-17T13:07:23.957629485Z Press CTRL+C to quit 2025-09-17T13:07:23.982126431Z 2025-09-17 13:07:23.981 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 1 2025-09-17T13:07:23.982192995Z 2025-09-17 13:07:23.982 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 1 2025-09-17T13:07:23.982354100Z 2025-09-17 13:07:23.982 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 0 2025-09-17T13:07:23.982442097Z 2025-09-17 13:07:23.982 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.982518631Z 2025-09-17 13:07:23.982 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:23.982623392Z 2025-09-17 13:07:23.982 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 1 processing watch UUID a69238f7-4a3f-43da-886f-c30575abb086 Priority 1758114443 URL https://changedetection.io/CHANGELOG.txt 2025-09-17T13:07:23.986449999Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 2 2025-09-17T13:07:23.986505591Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 2 2025-09-17T13:07:23.986613157Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 3 2025-09-17T13:07:23.986676415Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 3 2025-09-17T13:07:23.986771987Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 4 2025-09-17T13:07:23.986823972Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 4 2025-09-17T13:07:23.987038604Z 2025-09-17 13:07:23.986 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 5 2025-09-17T13:07:23.987094366Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 5 2025-09-17T13:07:23.987191582Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 6 2025-09-17T13:07:23.987253116Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 6 2025-09-17T13:07:23.987335382Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 7 2025-09-17T13:07:23.987395803Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 7 2025-09-17T13:07:23.987478630Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 8 2025-09-17T13:07:23.987533461Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 8 2025-09-17T13:07:23.987605005Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 9 2025-09-17T13:07:23.987665697Z 2025-09-17 13:07:23.987 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 9 2025-09-17T13:07:24.682448569Z 2025-09-17 13:07:24.682 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:364 - Watch UUID a69238f7-4a3f-43da-886f-c30575abb086 content check - Previous MD5: 7f95ca18e7548bb6b77d501e3b65a347, Fetched MD5 7f95ca18e7548bb6b77d501e3b65a347 2025-09-17T13:07:24.808057993Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded! 2025-09-17T13:07:24.825710774Z [ls.io-init] done. 2025-09-17T13:07:25.045376354Z 2025-09-17 13:07:25.045 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:25.045679455Z 2025-09-17 13:07:25.045 | DEBUG | changedetectionio.async_update_worker:async_update_worker:354 - UUID: a69238f7-4a3f-43da-886f-c30575abb086 Page <title> is 'None' 2025-09-17T13:07:25.045784266Z 2025-09-17 13:07:25.045 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: a69238f7-4a3f-43da-886f-c30575abb086 2025-09-17T13:07:25.046119340Z 2025-09-17 13:07:25.046 | DEBUG | changedetectionio.async_update_worker:async_update_worker:396 - Worker 1 completed watch a69238f7-4a3f-43da-886f-c30575abb086 in 1.05s 2025-09-17T13:07:25.074278432Z 2025-09-17 13:07:25.074 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:364 - Watch UUID e0cebc67-5c6b-4364-ac0e-f8ed0d684543 content check - Previous MD5: fb83680c56eef3693573f74fe0223f86, Fetched MD5 fb83680c56eef3693573f74fe0223f86 2025-09-17T13:07:25.187312369Z 2025-09-17 13:07:25.187 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:25.187475938Z 2025-09-17 13:07:25.187 | DEBUG | changedetectionio.async_update_worker:async_update_worker:354 - UUID: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 Page <title> is 'Hacker News' 2025-09-17T13:07:25.187600118Z 2025-09-17 13:07:25.187 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: e0cebc67-5c6b-4364-ac0e-f8ed0d684543 2025-09-17T13:07:25.187902427Z 2025-09-17 13:07:25.187 | DEBUG | changedetectionio.async_update_worker:async_update_worker:396 - Worker 0 completed watch e0cebc67-5c6b-4364-ac0e-f8ed0d684543 in 1.19s 2025-09-17T13:07:43.907347270Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET / HTTP/1.1" 200 - 2025-09-17T13:07:43.924849769Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET / HTTP/1.1" 200 - 2025-09-17T13:07:43.943547837Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 - 2025-09-17T13:07:43.944940772Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/styles/styles.css?v=0.50.14 HTTP/1.1" 200 - 2025-09-17T13:07:43.947238179Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/spread-white.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.948394538Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/styles/pure-min.css HTTP/1.1" 200 - 2025-09-17T13:07:43.952238249Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/socket.io.min.js HTTP/1.1" 200 - 2025-09-17T13:07:43.953577867Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 - 2025-09-17T13:07:43.957808747Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/pause.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.959624224Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/play.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.976557126Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/csrf.js HTTP/1.1" 200 - 2025-09-17T13:07:43.977190482Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/bell-off.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.985175533Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/watch-overview.js HTTP/1.1" 200 - 2025-09-17T13:07:43.985962488Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/spread.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.986349077Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/realtime.js HTTP/1.1" 200 - 2025-09-17T13:07:43.987725649Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/toggle-theme.js HTTP/1.1" 200 - 2025-09-17T13:07:43.988076195Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 - 2025-09-17T13:07:43.989167303Z 172.17.0.3 - - [17/Sep/2025 13:07:43] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 - 2025-09-17T13:07:44.041232180Z 2025-09-17 13:07:44.041 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:356 - Socket.IO: Sent initial queue size 0 to new client 2025-09-17T13:07:44.041261769Z 2025-09-17 13:07:44.041 | INFO | changedetectionio.realtime.socket_server:handle_connect:360 - Socket.IO: Client connected 2025-09-17T13:07:44.043477351Z 172.17.0.3 - - [17/Sep/2025 13:07:44] "GET /static/favicons/favicon.ico HTTP/1.1" 200 - 2025-09-17T13:07:54.386427517Z 2025-09-17 13:07:54.386 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:366 - Socket.IO: Client disconnected 2025-09-17T13:07:54.386764115Z 172.17.0.3 - - [17/Sep/2025 13:07:54] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 - 2025-09-17T13:07:54.387579988Z Error on request: 2025-09-17T13:07:54.387613586Z Traceback (most recent call last): 2025-09-17T13:07:54.387623205Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi 2025-09-17T13:07:54.387632374Z execute(self.server.app) 2025-09-17T13:07:54.387640610Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute 2025-09-17T13:07:54.387649849Z write(b"") 2025-09-17T13:07:54.387658015Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write 2025-09-17T13:07:54.387666392Z assert status_set is not None, "write() before start_response" 2025-09-17T13:07:54.387676513Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-17T13:07:54.387684709Z AssertionError: write() before start_response