2025-08-28T20:49:20.689318480Z [migrations] started 2025-08-28T20:49:20.689341947Z [migrations] no migrations found 2025-08-28T20:49:20.712647098Z usermod: no changes 2025-08-28T20:49:20.718475395Z ─────────────────────────────────────── 2025-08-28T20:49:20.718487569Z 2025-08-28T20:49:20.718491818Z ██╗ ███████╗██╗ ██████╗ 2025-08-28T20:49:20.718495595Z ██║ ██╔════╝██║██╔═══██╗ 2025-08-28T20:49:20.718501637Z ██║ ███████╗██║██║ ██║ 2025-08-28T20:49:20.718516327Z ██║ ╚════██║██║██║ ██║ 2025-08-28T20:49:20.718520646Z ███████╗███████║██║╚██████╔╝ 2025-08-28T20:49:20.718524624Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-08-28T20:49:20.718528492Z 2025-08-28T20:49:20.718532189Z Brought to you by linuxserver.io 2025-08-28T20:49:20.718535937Z ─────────────────────────────────────── 2025-08-28T20:49:20.718855189Z 2025-08-28T20:49:20.718865580Z To support LSIO projects visit: 2025-08-28T20:49:20.718870761Z https://www.linuxserver.io/donate/ 2025-08-28T20:49:20.718875340Z 2025-08-28T20:49:20.718879849Z ─────────────────────────────────────── 2025-08-28T20:49:20.718884979Z GID/UID 2025-08-28T20:49:20.718889619Z ─────────────────────────────────────── 2025-08-28T20:49:20.724396879Z 2025-08-28T20:49:20.724408683Z User UID: 911 2025-08-28T20:49:20.724412922Z User GID: 911 2025-08-28T20:49:20.724416579Z ─────────────────────────────────────── 2025-08-28T20:49:20.726208868Z Linuxserver.io version: 0.50.11-ls212 2025-08-28T20:49:20.726417328Z Build-date: 2025-08-28T20:43:15+00:00 2025-08-28T20:49:20.726421296Z ─────────────────────────────────────── 2025-08-28T20:49:20.726425294Z 2025-08-28T20:49:20.795079677Z [custom-init] No custom files found, skipping... 2025-08-28T20:49:21.023917552Z /app/changedetection/changedetectionio/html_tools.py:431: SyntaxWarning: invalid escape sequence '\[' 2025-08-28T20:49:21.023940719Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>' 2025-08-28T20:49:21.024284040Z /app/changedetection/changedetectionio/html_tools.py:495: SyntaxWarning: invalid escape sequence '\s' 2025-08-28T20:49:21.024312668Z content = re.sub('<!--\s+-->', '', content) 2025-08-28T20:49:21.100680604Z 2025-08-28 20:49:21.100 | DEBUG | changedetectionio.content_fetchers:<module>:62 - Falling back to selenium as fetcher 2025-08-28T20:49:21.418735971Z 2025-08-28 20:49:21.418 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully 2025-08-28T20:49:21.418778357Z 2025-08-28 20:49:21.418 | DEBUG | changedetectionio.queue_handlers:__init__:358 - NotificationQueue initialized successfully 2025-08-28T20:49:21.421337841Z 2025-08-28 20:49:21.421 | INFO | changedetectionio.flask_app:<module>:90 - System locale default is (None, None) 2025-08-28T20:49:21.422210067Z 2025-08-28 20:49:21.422 | SUCCESS | changedetectionio:main:131 - changedetection.io version 0.50.11 starting. 2025-08-28T20:49:21.435860987Z 2025-08-28 20:49:21.435 | INFO | changedetectionio.store:__init__:50 - Datastore path is '/config/url-watches.json' 2025-08-28T20:49:21.436154558Z 2025-08-28 20:49:21.436 | CRITICAL | changedetectionio.store:__init__:100 - No JSON DB found at /config/url-watches.json, creating JSON store at /config 2025-08-28T20:49:21.436368028Z 2025-08-28 20:49:21.436 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'tech news' 2025-08-28T20:49:21.483479489Z 2025-08-28 20:49:21.483 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://news.ycombinator.com/' - f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.483502346Z 2025-08-28 20:49:21.483 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.483611696Z 2025-08-28 20:49:21.483 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:21.484965702Z 2025-08-28 20:49:21.484 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://news.ycombinator.com/' 2025-08-28T20:49:21.485044481Z 2025-08-28 20:49:21.484 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'changedetection.io' 2025-08-28T20:49:21.485400388Z 2025-08-28 20:49:21.485 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:21.485443635Z 2025-08-28 20:49:21.485 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:21.485544608Z 2025-08-28 20:49:21.485 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:21.487155562Z 2025-08-28 20:49:21.487 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://changedetection.io/CHANGELOG.txt' 2025-08-28T20:49:21.487970854Z 2025-08-28 20:49:21.487 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:21.540732694Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:124: SyntaxWarning: invalid escape sequence '\d' 2025-08-28T20:49:21.540758947Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+") 2025-08-28T20:49:21.618085514Z 2025-08-28 20:49:21.617 | INFO | changedetectionio.realtime.socket_server:init_socketio:287 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO 2025-08-28T20:49:21.618137008Z 2025-08-28 20:49:21.618 | INFO | changedetectionio.realtime.socket_server:init_socketio:294 - Platform: linux, Python: 3.12, Socket.IO mode: threading 2025-08-28T20:49:21.649682492Z 2025-08-28 20:49:21.649 | INFO | changedetectionio.realtime.socket_server:init_socketio:306 - Socket.IO: Registering connect event handler 2025-08-28T20:49:21.649781452Z 2025-08-28 20:49:21.649 | INFO | changedetectionio.realtime.socket_server:__init__:38 - SignalHandler: Connected to notification_event signal 2025-08-28T20:49:21.650310637Z 2025-08-28 20:49:21.650 | INFO | changedetectionio.realtime.socket_server:polling_emit_running_or_queued_watches_threaded:131 - Queue update thread started (threading mode) 2025-08-28T20:49:21.651602409Z 2025-08-28 20:49:21.650 | INFO | changedetectionio.realtime.socket_server:__init__:47 - Started polling thread using threading (eventlet-free) 2025-08-28T20:49:21.652640619Z 2025-08-28 20:49:21.652 | INFO | changedetectionio.realtime.socket_server:init_socketio:405 - Socket.IO initialized and attached to main Flask app 2025-08-28T20:49:21.652678145Z 2025-08-28 20:49:21.652 | INFO | changedetectionio.realtime.socket_server:init_socketio:406 - Socket.IO: Registered event handlers: [] 2025-08-28T20:49:21.652722224Z 2025-08-28 20:49:21.652 | INFO | changedetectionio.flask_app:changedetection_app:533 - Socket.IO server initialized 2025-08-28T20:49:21.654000247Z 2025-08-28 20:49:21.653 | INFO | changedetectionio.flask_app:changedetection_app:623 - Starting 10 workers during app initialization 2025-08-28T20:49:21.654494884Z 2025-08-28 20:49:21.654 | INFO | changedetectionio.worker_handler:start_async_event_loop:29 - Starting async event loop for workers 2025-08-28T20:49:21.655023047Z 2025-08-28 20:49:21.654 | DEBUG | changedetectionio.worker_handler:start_async_event_loop:37 - Event loop created and set: <_UnixSelectorEventLoop running=False closed=False debug=False> 2025-08-28T20:49:21.954955088Z 2025-08-28 20:49:21.954 | INFO | changedetectionio.worker_handler:start_async_workers:76 - Starting 10 async workers 2025-08-28T20:49:21.955717002Z 2025-08-28 20:49:21.955 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:728 - System env MINIMUM_SECONDS_RECHECK_TIME 3 2025-08-28T20:49:21.957947223Z 2025-08-28 20:49:21.957 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-28T20:49:21.957992545Z 2025-08-28 20:49:21.957 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.958057205Z 2025-08-28 20:49:21.957 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.958123368Z 2025-08-28 20:49:21.958 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID f077a907-8726-473f-ae0c-9155db2745b8 last checked at 0 queued at 1756414161.96 priority 1756414161 jitter 0.00s, 1756414161.96s since last checked 2025-08-28T20:49:21.958538083Z 2025-08-28 20:49:21.958 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 2 2025-08-28T20:49:21.958596250Z 2025-08-28 20:49:21.958 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:21.958626652Z 2025-08-28 20:49:21.958 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:21.958685721Z 2025-08-28 20:49:21.958 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID b2dd4d8f-8d77-44a2-b635-12f856c35264 last checked at 0 queued at 1756414161.96 priority 1756414161 jitter 0.00s, 1756414161.96s since last checked 2025-08-28T20:49:21.975972231Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead. 2025-08-28T20:49:21.976281805Z * Serving Flask app 'changedetectionio.flask_app' 2025-08-28T20:49:21.976529484Z * Debug mode: off 2025-08-28T20:49:21.978216561Z 2025-08-28 20:49:21.977 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 0 2025-08-28T20:49:21.978636557Z 2025-08-28 20:49:21.978 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 0 2025-08-28T20:49:21.979101553Z 2025-08-28 20:49:21.978 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-28T20:49:21.979288911Z 2025-08-28 20:49:21.979 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.979504906Z 2025-08-28 20:49:21.979 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:21.979678766Z 2025-08-28 20:49:21.979 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 0 processing watch UUID f077a907-8726-473f-ae0c-9155db2745b8 Priority 1756414161 URL https://news.ycombinator.com/ 2025-08-28T20:49:21.980471642Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 2025-08-28T20:49:21.980499959Z * Running on all addresses (0.0.0.0) 2025-08-28T20:49:21.980511282Z * Running on http://127.0.0.1:5000 2025-08-28T20:49:21.980520060Z * Running on http://172.17.0.5:5000 2025-08-28T20:49:21.980529970Z Press CTRL+C to quit 2025-08-28T20:49:22.020062489Z 2025-08-28 20:49:22.019 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 1 2025-08-28T20:49:22.020150266Z 2025-08-28 20:49:22.020 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 1 2025-08-28T20:49:22.020433777Z 2025-08-28 20:49:22.020 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 0 2025-08-28T20:49:22.020558878Z 2025-08-28 20:49:22.020 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:22.020673329Z 2025-08-28 20:49:22.020 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:22.020854384Z 2025-08-28 20:49:22.020 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 1 processing watch UUID b2dd4d8f-8d77-44a2-b635-12f856c35264 Priority 1756414161 URL https://changedetection.io/CHANGELOG.txt 2025-08-28T20:49:22.024582792Z 2025-08-28 20:49:22.024 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 2 2025-08-28T20:49:22.024663575Z 2025-08-28 20:49:22.024 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 2 2025-08-28T20:49:22.024859780Z 2025-08-28 20:49:22.024 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 3 2025-08-28T20:49:22.024979060Z 2025-08-28 20:49:22.024 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 3 2025-08-28T20:49:22.025151517Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 4 2025-08-28T20:49:22.025282771Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 4 2025-08-28T20:49:22.025383995Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 5 2025-08-28T20:49:22.025526011Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 5 2025-08-28T20:49:22.025737597Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 6 2025-08-28T20:49:22.025824452Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 6 2025-08-28T20:49:22.025999074Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 7 2025-08-28T20:49:22.026073193Z 2025-08-28 20:49:22.025 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 7 2025-08-28T20:49:22.026262094Z 2025-08-28 20:49:22.026 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 8 2025-08-28T20:49:22.026411454Z 2025-08-28 20:49:22.026 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 8 2025-08-28T20:49:22.026614343Z 2025-08-28 20:49:22.026 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 9 2025-08-28T20:49:22.026722180Z 2025-08-28 20:49:22.026 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 9 2025-08-28T20:49:22.651757070Z 2025-08-28 20:49:22.651 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID b2dd4d8f-8d77-44a2-b635-12f856c35264 content check - Previous MD5: e471e0b0e2464d1b8380ac91e67fd67d, Fetched MD5 e471e0b0e2464d1b8380ac91e67fd67d 2025-08-28T20:49:22.817846955Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded! 2025-08-28T20:49:22.835302096Z [ls.io-init] done. 2025-08-28T20:49:22.975674081Z 2025-08-28 20:49:22.975 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:22.975943864Z 2025-08-28 20:49:22.975 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: b2dd4d8f-8d77-44a2-b635-12f856c35264 2025-08-28T20:49:22.976316745Z 2025-08-28 20:49:22.976 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 1 completed watch b2dd4d8f-8d77-44a2-b635-12f856c35264 in 0.98s 2025-08-28T20:49:23.001678037Z 2025-08-28 20:49:23.001 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID f077a907-8726-473f-ae0c-9155db2745b8 content check - Previous MD5: e55311522bc21482b41e83fbca6fc205, Fetched MD5 e55311522bc21482b41e83fbca6fc205 2025-08-28T20:49:23.105963022Z 2025-08-28 20:49:23.105 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:23.106176512Z 2025-08-28 20:49:23.106 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: f077a907-8726-473f-ae0c-9155db2745b8 2025-08-28T20:49:23.106578611Z 2025-08-28 20:49:23.106 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 0 completed watch f077a907-8726-473f-ae0c-9155db2745b8 in 1.11s 2025-08-28T20:49:41.879550833Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET / HTTP/1.1" 200 - 2025-08-28T20:49:41.898011108Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET / HTTP/1.1" 200 - 2025-08-28T20:49:41.919548790Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 - 2025-08-28T20:49:41.922321764Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/spread-white.svg HTTP/1.1" 200 - 2025-08-28T20:49:41.923118568Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/styles/pure-min.css HTTP/1.1" 200 - 2025-08-28T20:49:41.924528277Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/styles/styles.css?v=0.50.11 HTTP/1.1" 200 - 2025-08-28T20:49:41.925413950Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/socket.io.min.js HTTP/1.1" 200 - 2025-08-28T20:49:41.930388548Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 - 2025-08-28T20:49:41.937443826Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/pause.svg HTTP/1.1" 200 - 2025-08-28T20:49:41.938990250Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/play.svg HTTP/1.1" 200 - 2025-08-28T20:49:41.944464494Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/bell-off.svg HTTP/1.1" 200 - 2025-08-28T20:49:41.948829885Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/csrf.js HTTP/1.1" 200 - 2025-08-28T20:49:41.954969779Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 - 2025-08-28T20:49:41.985318063Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/toggle-theme.js HTTP/1.1" 200 - 2025-08-28T20:49:41.985633609Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/watch-overview.js HTTP/1.1" 200 - 2025-08-28T20:49:41.986359711Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 - 2025-08-28T20:49:41.986908195Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/js/realtime.js HTTP/1.1" 200 - 2025-08-28T20:49:41.988139154Z 172.17.0.3 - - [28/Aug/2025 20:49:41] "GET /static/images/spread.svg HTTP/1.1" 200 - 2025-08-28T20:49:42.070398775Z 172.17.0.3 - - [28/Aug/2025 20:49:42] "GET /static/favicons/favicon.ico HTTP/1.1" 200 - 2025-08-28T20:49:42.074720167Z 2025-08-28 20:49:42.074 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:356 - Socket.IO: Sent initial queue size 0 to new client 2025-08-28T20:49:42.074740999Z 2025-08-28 20:49:42.074 | INFO | changedetectionio.realtime.socket_server:handle_connect:360 - Socket.IO: Client connected 2025-08-28T20:49:52.415645670Z 2025-08-28 20:49:52.415 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:366 - Socket.IO: Client disconnected 2025-08-28T20:49:52.416385460Z 172.17.0.3 - - [28/Aug/2025 20:49:52] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 - 2025-08-28T20:49:52.417853716Z Error on request: 2025-08-28T20:49:52.417870550Z Traceback (most recent call last): 2025-08-28T20:49:52.417878536Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi 2025-08-28T20:49:52.417884659Z execute(self.server.app) 2025-08-28T20:49:52.417890200Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute 2025-08-28T20:49:52.417895921Z write(b"") 2025-08-28T20:49:52.417901953Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write 2025-08-28T20:49:52.417907635Z assert status_set is not None, "write() before start_response" 2025-08-28T20:49:52.417913366Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-28T20:49:52.417918948Z AssertionError: write() before start_response