2025-09-10T11:03:49.061991411Z [migrations] started 2025-09-10T11:03:49.062034147Z [migrations] no migrations found 2025-09-10T11:03:49.081890983Z usermod: no changes 2025-09-10T11:03:49.088028152Z ─────────────────────────────────────── 2025-09-10T11:03:49.088038603Z 2025-09-10T11:03:49.088042270Z ██╗ ███████╗██╗ ██████╗ 2025-09-10T11:03:49.088046038Z ██║ ██╔════╝██║██╔═══██╗ 2025-09-10T11:03:49.088049835Z ██║ ███████╗██║██║ ██║ 2025-09-10T11:03:49.088053483Z ██║ ╚════██║██║██║ ██║ 2025-09-10T11:03:49.088057230Z ███████╗███████║██║╚██████╔╝ 2025-09-10T11:03:49.088061148Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-09-10T11:03:49.088064906Z 2025-09-10T11:03:49.088068443Z Brought to you by linuxserver.io 2025-09-10T11:03:49.088072160Z ─────────────────────────────────────── 2025-09-10T11:03:49.088485783Z 2025-09-10T11:03:49.088499872Z To support LSIO projects visit: 2025-09-10T11:03:49.088504230Z https://www.linuxserver.io/donate/ 2025-09-10T11:03:49.088508218Z 2025-09-10T11:03:49.088511786Z ─────────────────────────────────────── 2025-09-10T11:03:49.088515844Z GID/UID 2025-09-10T11:03:49.088519651Z ─────────────────────────────────────── 2025-09-10T11:03:49.095816295Z 2025-09-10T11:03:49.095822607Z User UID: 911 2025-09-10T11:03:49.095826415Z User GID: 911 2025-09-10T11:03:49.095830263Z ─────────────────────────────────────── 2025-09-10T11:03:49.097488622Z Linuxserver.io version: 0.50.12-ls214 2025-09-10T11:03:49.097746572Z Build-date: 2025-09-10T10:58:08+00:00 2025-09-10T11:03:49.097753025Z ─────────────────────────────────────── 2025-09-10T11:03:49.097756963Z 2025-09-10T11:03:49.147619642Z [custom-init] No custom files found, skipping... 2025-09-10T11:03:49.374229639Z /app/changedetection/changedetectionio/html_tools.py:431: SyntaxWarning: invalid escape sequence '\[' 2025-09-10T11:03:49.374239839Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>' 2025-09-10T11:03:49.374527749Z /app/changedetection/changedetectionio/html_tools.py:495: SyntaxWarning: invalid escape sequence '\s' 2025-09-10T11:03:49.374559293Z content = re.sub('<!--\s+-->', '', content) 2025-09-10T11:03:49.450906184Z 2025-09-10 11:03:49.450 | DEBUG | changedetectionio.content_fetchers:<module>:62 - Falling back to selenium as fetcher 2025-09-10T11:03:49.764139275Z 2025-09-10 11:03:49.763 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully 2025-09-10T11:03:49.764176780Z 2025-09-10 11:03:49.764 | DEBUG | changedetectionio.queue_handlers:__init__:358 - NotificationQueue initialized successfully 2025-09-10T11:03:49.766695001Z 2025-09-10 11:03:49.766 | INFO | changedetectionio.flask_app:<module>:90 - System locale default is (None, None) 2025-09-10T11:03:49.767563079Z 2025-09-10 11:03:49.767 | SUCCESS | changedetectionio:main:131 - changedetection.io version 0.50.12 starting. 2025-09-10T11:03:49.780225438Z 2025-09-10 11:03:49.780 | INFO | changedetectionio.store:__init__:50 - Datastore path is '/config/url-watches.json' 2025-09-10T11:03:49.780508097Z 2025-09-10 11:03:49.780 | CRITICAL | changedetectionio.store:__init__:100 - No JSON DB found at /config/url-watches.json, creating JSON store at /config 2025-09-10T11:03:49.780730795Z 2025-09-10 11:03:49.780 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'tech news' 2025-09-10T11:03:49.826475011Z 2025-09-10 11:03:49.826 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://news.ycombinator.com/' - 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:49.826517426Z 2025-09-10 11:03:49.826 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:49.826631336Z 2025-09-10 11:03:49.826 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-09-10T11:03:49.827995002Z 2025-09-10 11:03:49.827 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://news.ycombinator.com/' 2025-09-10T11:03:49.828114683Z 2025-09-10 11:03:49.827 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'changedetection.io' 2025-09-10T11:03:49.828396310Z 2025-09-10 11:03:49.828 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:49.828459577Z 2025-09-10 11:03:49.828 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:49.828518065Z 2025-09-10 11:03:49.828 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-09-10T11:03:49.830106303Z 2025-09-10 11:03:49.830 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://changedetection.io/CHANGELOG.txt' 2025-09-10T11:03:49.830912116Z 2025-09-10 11:03:49.830 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-09-10T11:03:49.882315528Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:124: SyntaxWarning: invalid escape sequence '\d' 2025-09-10T11:03:49.882348654Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+") 2025-09-10T11:03:49.955429348Z 2025-09-10 11:03:49.955 | INFO | changedetectionio.realtime.socket_server:init_socketio:287 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO 2025-09-10T11:03:49.955482735Z 2025-09-10 11:03:49.955 | INFO | changedetectionio.realtime.socket_server:init_socketio:294 - Platform: linux, Python: 3.12, Socket.IO mode: threading 2025-09-10T11:03:49.986307437Z 2025-09-10 11:03:49.986 | INFO | changedetectionio.realtime.socket_server:init_socketio:306 - Socket.IO: Registering connect event handler 2025-09-10T11:03:49.986416938Z 2025-09-10 11:03:49.986 | INFO | changedetectionio.realtime.socket_server:__init__:38 - SignalHandler: Connected to notification_event signal 2025-09-10T11:03:49.986950162Z 2025-09-10 11:03:49.986 | INFO | changedetectionio.realtime.socket_server:polling_emit_running_or_queued_watches_threaded:131 - Queue update thread started (threading mode) 2025-09-10T11:03:49.987965096Z 2025-09-10 11:03:49.986 | INFO | changedetectionio.realtime.socket_server:__init__:47 - Started polling thread using threading (eventlet-free) 2025-09-10T11:03:49.988999639Z 2025-09-10 11:03:49.988 | INFO | changedetectionio.realtime.socket_server:init_socketio:405 - Socket.IO initialized and attached to main Flask app 2025-09-10T11:03:49.989036122Z 2025-09-10 11:03:49.988 | INFO | changedetectionio.realtime.socket_server:init_socketio:406 - Socket.IO: Registered event handlers: [] 2025-09-10T11:03:49.989067275Z 2025-09-10 11:03:49.988 | INFO | changedetectionio.flask_app:changedetection_app:533 - Socket.IO server initialized 2025-09-10T11:03:49.990303254Z 2025-09-10 11:03:49.990 | INFO | changedetectionio.flask_app:changedetection_app:623 - Starting 10 workers during app initialization 2025-09-10T11:03:49.990802289Z 2025-09-10 11:03:49.990 | INFO | changedetectionio.worker_handler:start_async_event_loop:29 - Starting async event loop for workers 2025-09-10T11:03:49.991365272Z 2025-09-10 11:03:49.991 | DEBUG | changedetectionio.worker_handler:start_async_event_loop:37 - Event loop created and set: <_UnixSelectorEventLoop running=False closed=False debug=False> 2025-09-10T11:03:50.291233180Z 2025-09-10 11:03:50.290 | INFO | changedetectionio.worker_handler:start_async_workers:76 - Starting 10 async workers 2025-09-10T11:03:50.292376072Z 2025-09-10 11:03:50.292 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:728 - System env MINIMUM_SECONDS_RECHECK_TIME 3 2025-09-10T11:03:50.293899559Z 2025-09-10 11:03:50.293 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-09-10T11:03:50.294014581Z 2025-09-10 11:03:50.293 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:50.294088710Z 2025-09-10 11:03:50.293 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:50.294288252Z 2025-09-10 11:03:50.294 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 1f1e7d92-7810-4bd6-a839-2a23167de029 last checked at 0 queued at 1757502230.29 priority 1757502230 jitter 0.00s, 1757502230.29s since last checked 2025-09-10T11:03:50.296140442Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead. 2025-09-10T11:03:50.296576430Z 2025-09-10 11:03:50.296 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 2 2025-09-10T11:03:50.296637062Z 2025-09-10 11:03:50.296 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:50.296714869Z 2025-09-10 11:03:50.296 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:50.296836794Z 2025-09-10 11:03:50.296 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 078ad2c4-0e23-4e9c-b278-be23865ef4ec last checked at 0 queued at 1757502230.29 priority 1757502230 jitter 0.00s, 1757502230.29s since last checked 2025-09-10T11:03:50.297333554Z * Serving Flask app 'changedetectionio.flask_app' 2025-09-10T11:03:50.297349968Z * Debug mode: off 2025-09-10T11:03:50.316121548Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 2025-09-10T11:03:50.316148171Z * Running on all addresses (0.0.0.0) 2025-09-10T11:03:50.316156969Z * Running on http://127.0.0.1:5000 2025-09-10T11:03:50.316165216Z * Running on http://172.17.0.4:5000 2025-09-10T11:03:50.316173202Z Press CTRL+C to quit 2025-09-10T11:03:50.316950086Z 2025-09-10 11:03:50.316 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 0 2025-09-10T11:03:50.317029917Z 2025-09-10 11:03:50.316 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 0 2025-09-10T11:03:50.317298167Z 2025-09-10 11:03:50.317 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-09-10T11:03:50.317412367Z 2025-09-10 11:03:50.317 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:50.317510164Z 2025-09-10 11:03:50.317 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:50.317609875Z 2025-09-10 11:03:50.317 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 0 processing watch UUID 1f1e7d92-7810-4bd6-a839-2a23167de029 Priority 1757502230 URL https://news.ycombinator.com/ 2025-09-10T11:03:50.350271697Z 2025-09-10 11:03:50.350 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 1 2025-09-10T11:03:50.350331247Z 2025-09-10 11:03:50.350 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 1 2025-09-10T11:03:50.350553855Z 2025-09-10 11:03:50.350 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 0 2025-09-10T11:03:50.350624116Z 2025-09-10 11:03:50.350 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:50.350762736Z 2025-09-10 11:03:50.350 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:50.350901004Z 2025-09-10 11:03:50.350 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 1 processing watch UUID 078ad2c4-0e23-4e9c-b278-be23865ef4ec Priority 1757502230 URL https://changedetection.io/CHANGELOG.txt 2025-09-10T11:03:50.355477720Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 2 2025-09-10T11:03:50.355523121Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 2 2025-09-10T11:03:50.355682212Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 3 2025-09-10T11:03:50.355792314Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 3 2025-09-10T11:03:50.355966484Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 4 2025-09-10T11:03:50.356013659Z 2025-09-10 11:03:50.355 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 4 2025-09-10T11:03:50.356198141Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 5 2025-09-10T11:03:50.356239103Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 5 2025-09-10T11:03:50.356390628Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 6 2025-09-10T11:03:50.356426801Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 6 2025-09-10T11:03:50.356597485Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 7 2025-09-10T11:03:50.356634189Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 7 2025-09-10T11:03:50.356809251Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 8 2025-09-10T11:03:50.356858410Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 8 2025-09-10T11:03:50.357090417Z 2025-09-10 11:03:50.356 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 9 2025-09-10T11:03:50.357154547Z 2025-09-10 11:03:50.357 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 9 2025-09-10T11:03:51.004574373Z 2025-09-10 11:03:51.004 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:364 - Watch UUID 078ad2c4-0e23-4e9c-b278-be23865ef4ec content check - Previous MD5: 92eaef52cf7a945974a253a156d6ccae, Fetched MD5 92eaef52cf7a945974a253a156d6ccae 2025-09-10T11:03:51.171869298Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded! 2025-09-10T11:03:51.196687003Z [ls.io-init] done. 2025-09-10T11:03:51.364358485Z 2025-09-10 11:03:51.364 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:51.364574891Z 2025-09-10 11:03:51.364 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 078ad2c4-0e23-4e9c-b278-be23865ef4ec 2025-09-10T11:03:51.364928303Z 2025-09-10 11:03:51.364 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 1 completed watch 078ad2c4-0e23-4e9c-b278-be23865ef4ec in 1.36s 2025-09-10T11:03:51.390939261Z 2025-09-10 11:03:51.390 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:364 - Watch UUID 1f1e7d92-7810-4bd6-a839-2a23167de029 content check - Previous MD5: abbc589d6f63b7e44828ebd9066e1b16, Fetched MD5 abbc589d6f63b7e44828ebd9066e1b16 2025-09-10T11:03:51.498088218Z 2025-09-10 11:03:51.497 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:51.498278732Z 2025-09-10 11:03:51.498 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 1f1e7d92-7810-4bd6-a839-2a23167de029 2025-09-10T11:03:51.498655400Z 2025-09-10 11:03:51.498 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 0 completed watch 1f1e7d92-7810-4bd6-a839-2a23167de029 in 1.50s 2025-09-10T11:04:10.345684948Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET / HTTP/1.1" 200 - 2025-09-10T11:04:10.363925298Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET / HTTP/1.1" 200 - 2025-09-10T11:04:10.383578244Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 - 2025-09-10T11:04:10.385582730Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/spread-white.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.386378984Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/styles/pure-min.css HTTP/1.1" 200 - 2025-09-10T11:04:10.387274196Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/styles/styles.css?v=0.50.12 HTTP/1.1" 200 - 2025-09-10T11:04:10.390627639Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/socket.io.min.js HTTP/1.1" 200 - 2025-09-10T11:04:10.391643234Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 - 2025-09-10T11:04:10.396332718Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/pause.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.397599579Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/play.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.401685707Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/bell-off.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.404723584Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/csrf.js HTTP/1.1" 200 - 2025-09-10T11:04:10.423733615Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/realtime.js HTTP/1.1" 200 - 2025-09-10T11:04:10.425454110Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 - 2025-09-10T11:04:10.431704466Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/spread.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.432729490Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 - 2025-09-10T11:04:10.432763469Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/watch-overview.js HTTP/1.1" 200 - 2025-09-10T11:04:10.432981528Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/js/toggle-theme.js HTTP/1.1" 200 - 2025-09-10T11:04:10.512862435Z 2025-09-10 11:04:10.512 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:356 - Socket.IO: Sent initial queue size 0 to new client 2025-09-10T11:04:10.512891233Z 2025-09-10 11:04:10.512 | INFO | changedetectionio.realtime.socket_server:handle_connect:360 - Socket.IO: Client connected 2025-09-10T11:04:10.514865819Z 172.17.0.3 - - [10/Sep/2025 11:04:10] "GET /static/favicons/favicon.ico HTTP/1.1" 200 - 2025-09-10T11:04:20.846306317Z 2025-09-10 11:04:20.846 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:366 - Socket.IO: Client disconnected 2025-09-10T11:04:20.846863870Z 172.17.0.3 - - [10/Sep/2025 11:04:20] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 - 2025-09-10T11:04:20.847900377Z Error on request: 2025-09-10T11:04:20.847930618Z Traceback (most recent call last): 2025-09-10T11:04:20.847940417Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi 2025-09-10T11:04:20.847949245Z execute(self.server.app) 2025-09-10T11:04:20.847957452Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute 2025-09-10T11:04:20.847966259Z write(b"") 2025-09-10T11:04:20.847974576Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write 2025-09-10T11:04:20.847983154Z assert status_set is not None, "write() before start_response" 2025-09-10T11:04:20.847991641Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-10T11:04:20.848000017Z AssertionError: write() before start_response