2025-08-19T17:49:15.023873934Z [migrations] started 2025-08-19T17:49:15.023898885Z [migrations] no migrations found 2025-08-19T17:49:15.042487530Z usermod: no changes 2025-08-19T17:49:15.048141486Z ─────────────────────────────────────── 2025-08-19T17:49:15.048155033Z 2025-08-19T17:49:15.048159011Z ██╗ ███████╗██╗ ██████╗ 2025-08-19T17:49:15.048162829Z ██║ ██╔════╝██║██╔═══██╗ 2025-08-19T17:49:15.048166817Z ██║ ███████╗██║██║ ██║ 2025-08-19T17:49:15.048170515Z ██║ ╚════██║██║██║ ██║ 2025-08-19T17:49:15.048174152Z ███████╗███████║██║╚██████╔╝ 2025-08-19T17:49:15.048177869Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-08-19T17:49:15.048181537Z 2025-08-19T17:49:15.048185034Z Brought to you by linuxserver.io 2025-08-19T17:49:15.048188741Z ─────────────────────────────────────── 2025-08-19T17:49:15.048487302Z 2025-08-19T17:49:15.048492894Z To support LSIO projects visit: 2025-08-19T17:49:15.048496361Z https://www.linuxserver.io/donate/ 2025-08-19T17:49:15.048499758Z 2025-08-19T17:49:15.048503084Z ─────────────────────────────────────── 2025-08-19T17:49:15.048506882Z GID/UID 2025-08-19T17:49:15.048510249Z ─────────────────────────────────────── 2025-08-19T17:49:15.052631749Z 2025-08-19T17:49:15.052638001Z User UID: 911 2025-08-19T17:49:15.052641638Z User GID: 911 2025-08-19T17:49:15.052645216Z ─────────────────────────────────────── 2025-08-19T17:49:15.054494620Z Linuxserver.io version: 0.50.10-ls211 2025-08-19T17:49:15.054777961Z Build-date: 2025-08-19T17:43:39+00:00 2025-08-19T17:49:15.054782420Z ─────────────────────────────────────── 2025-08-19T17:49:15.054786197Z 2025-08-19T17:49:15.101951992Z [custom-init] No custom files found, skipping... 2025-08-19T17:49:15.327927013Z /app/changedetection/changedetectionio/html_tools.py:431: SyntaxWarning: invalid escape sequence '\[' 2025-08-19T17:49:15.327956903Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>' 2025-08-19T17:49:15.328204362Z /app/changedetection/changedetectionio/html_tools.py:495: SyntaxWarning: invalid escape sequence '\s' 2025-08-19T17:49:15.328249462Z content = re.sub('<!--\s+-->', '', content) 2025-08-19T17:49:15.403231365Z 2025-08-19 17:49:15.403 | DEBUG | changedetectionio.content_fetchers:<module>:62 - Falling back to selenium as fetcher 2025-08-19T17:49:15.541501801Z 2025-08-19 17:49:15.541 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully 2025-08-19T17:49:15.541541211Z 2025-08-19 17:49:15.541 | DEBUG | changedetectionio.queue_handlers:__init__:358 - NotificationQueue initialized successfully 2025-08-19T17:49:15.544123842Z 2025-08-19 17:49:15.544 | INFO | changedetectionio.flask_app:<module>:90 - System locale default is (None, None) 2025-08-19T17:49:15.544904544Z 2025-08-19 17:49:15.544 | SUCCESS | changedetectionio:main:131 - changedetection.io version 0.50.10 starting. 2025-08-19T17:49:15.557351781Z 2025-08-19 17:49:15.557 | INFO | changedetectionio.store:__init__:50 - Datastore path is '/config/url-watches.json' 2025-08-19T17:49:15.557638709Z 2025-08-19 17:49:15.557 | CRITICAL | changedetectionio.store:__init__:100 - No JSON DB found at /config/url-watches.json, creating JSON store at /config 2025-08-19T17:49:15.612209827Z 2025-08-19 17:49:15.612 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'tech news' 2025-08-19T17:49:15.658653528Z 2025-08-19 17:49:15.658 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://news.ycombinator.com/' - 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:15.658695903Z 2025-08-19 17:49:15.658 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:73 - > Creating data dir /config/4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:15.658775002Z 2025-08-19 17:49:15.658 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-19T17:49:15.660048226Z 2025-08-19 17:49:15.659 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://news.ycombinator.com/' 2025-08-19T17:49:15.660126334Z 2025-08-19 17:49:15.660 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'changedetection.io' 2025-08-19T17:49:15.660468573Z 2025-08-19 17:49:15.660 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:15.660515588Z 2025-08-19 17:49:15.660 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:73 - > Creating data dir /config/8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:15.660684057Z 2025-08-19 17:49:15.660 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-19T17:49:15.662152765Z 2025-08-19 17:49:15.662 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://changedetection.io/CHANGELOG.txt' 2025-08-19T17:49:15.662990642Z 2025-08-19 17:49:15.662 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-19T17:49:15.720200023Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:124: SyntaxWarning: invalid escape sequence '\d' 2025-08-19T17:49:15.720231136Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+") 2025-08-19T17:49:15.809601415Z 2025-08-19 17:49:15.809 | INFO | changedetectionio.realtime.socket_server:init_socketio:287 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO 2025-08-19T17:49:15.809647478Z 2025-08-19 17:49:15.809 | INFO | changedetectionio.realtime.socket_server:init_socketio:294 - Platform: linux, Python: 3.12, Socket.IO mode: threading 2025-08-19T17:49:15.843560173Z 2025-08-19 17:49:15.843 | INFO | changedetectionio.realtime.socket_server:init_socketio:306 - Socket.IO: Registering connect event handler 2025-08-19T17:49:15.843640444Z 2025-08-19 17:49:15.843 | INFO | changedetectionio.realtime.socket_server:__init__:38 - SignalHandler: Connected to notification_event signal 2025-08-19T17:49:15.844181604Z 2025-08-19 17:49:15.843 | INFO | changedetectionio.realtime.socket_server:polling_emit_running_or_queued_watches_threaded:131 - Queue update thread started (threading mode) 2025-08-19T17:49:15.844380164Z 2025-08-19 17:49:15.844 | INFO | changedetectionio.realtime.socket_server:__init__:47 - Started polling thread using threading (eventlet-free) 2025-08-19T17:49:15.845498606Z 2025-08-19 17:49:15.845 | INFO | changedetectionio.realtime.socket_server:init_socketio:405 - Socket.IO initialized and attached to main Flask app 2025-08-19T17:49:15.845546212Z 2025-08-19 17:49:15.845 | INFO | changedetectionio.realtime.socket_server:init_socketio:406 - Socket.IO: Registered event handlers: [] 2025-08-19T17:49:15.845590081Z 2025-08-19 17:49:15.845 | INFO | changedetectionio.flask_app:changedetection_app:533 - Socket.IO server initialized 2025-08-19T17:49:15.847056153Z 2025-08-19 17:49:15.846 | INFO | changedetectionio.flask_app:changedetection_app:623 - Starting 10 workers during app initialization 2025-08-19T17:49:15.847375276Z 2025-08-19 17:49:15.847 | INFO | changedetectionio.worker_handler:start_async_event_loop:29 - Starting async event loop for workers 2025-08-19T17:49:15.847789149Z 2025-08-19 17:49:15.847 | DEBUG | changedetectionio.worker_handler:start_async_event_loop:37 - Event loop created and set: <_UnixSelectorEventLoop running=False closed=False debug=False> 2025-08-19T17:49:16.147747161Z 2025-08-19 17:49:16.147 | INFO | changedetectionio.worker_handler:start_async_workers:76 - Starting 10 async workers 2025-08-19T17:49:16.148629358Z 2025-08-19 17:49:16.148 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:728 - System env MINIMUM_SECONDS_RECHECK_TIME 3 2025-08-19T17:49:16.150301575Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-19T17:49:16.150353500Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:16.150388260Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:16.150475195Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 last checked at 0 queued at 1755625756.15 priority 1755625756 jitter 0.00s, 1755625756.15s since last checked 2025-08-19T17:49:16.150999410Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 2 2025-08-19T17:49:16.151058730Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:16.151071215Z 2025-08-19 17:49:16.150 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:16.151108340Z 2025-08-19 17:49:16.151 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 last checked at 0 queued at 1755625756.15 priority 1755625756 jitter 0.00s, 1755625756.15s since last checked 2025-08-19T17:49:16.151864021Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead. 2025-08-19T17:49:16.154187140Z * Serving Flask app 'changedetectionio.flask_app' 2025-08-19T17:49:16.154217391Z * Debug mode: off 2025-08-19T17:49:16.171298419Z 2025-08-19 17:49:16.171 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 0 2025-08-19T17:49:16.171375655Z 2025-08-19 17:49:16.171 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 0 2025-08-19T17:49:16.171579105Z 2025-08-19 17:49:16.171 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-19T17:49:16.171698185Z 2025-08-19 17:49:16.171 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:16.171809990Z 2025-08-19 17:49:16.171 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:16.171950142Z 2025-08-19 17:49:16.171 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 0 processing watch UUID 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 Priority 1755625756 URL https://news.ycombinator.com/ 2025-08-19T17:49:16.173720778Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 2025-08-19T17:49:16.173742872Z * Running on all addresses (0.0.0.0) 2025-08-19T17:49:16.173753975Z * Running on http://127.0.0.1:5000 2025-08-19T17:49:16.173764296Z * Running on http://172.17.0.5:5000 2025-08-19T17:49:16.173776350Z Press CTRL+C to quit 2025-08-19T17:49:16.206446833Z 2025-08-19 17:49:16.206 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 1 2025-08-19T17:49:16.206502906Z 2025-08-19 17:49:16.206 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 1 2025-08-19T17:49:16.206642598Z 2025-08-19 17:49:16.206 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 0 2025-08-19T17:49:16.206757709Z 2025-08-19 17:49:16.206 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:16.206844715Z 2025-08-19 17:49:16.206 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:16.206970809Z 2025-08-19 17:49:16.206 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 1 processing watch UUID 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 Priority 1755625756 URL https://changedetection.io/CHANGELOG.txt 2025-08-19T17:49:16.209654734Z 2025-08-19 17:49:16.209 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 2 2025-08-19T17:49:16.209740436Z 2025-08-19 17:49:16.209 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 2 2025-08-19T17:49:16.209880869Z 2025-08-19 17:49:16.209 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 3 2025-08-19T17:49:16.209973887Z 2025-08-19 17:49:16.209 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 3 2025-08-19T17:49:16.210116293Z 2025-08-19 17:49:16.209 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 4 2025-08-19T17:49:16.210193900Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 4 2025-08-19T17:49:16.210324863Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 5 2025-08-19T17:49:16.210439023Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 5 2025-08-19T17:49:16.210670710Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 6 2025-08-19T17:49:16.210746753Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 6 2025-08-19T17:49:16.210871665Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 7 2025-08-19T17:49:16.210956766Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 7 2025-08-19T17:49:16.211085535Z 2025-08-19 17:49:16.210 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 8 2025-08-19T17:49:16.211164244Z 2025-08-19 17:49:16.211 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 8 2025-08-19T17:49:16.211293574Z 2025-08-19 17:49:16.211 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 9 2025-08-19T17:49:16.211414307Z 2025-08-19 17:49:16.211 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 9 2025-08-19T17:49:16.895438682Z 2025-08-19 17:49:16.895 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 content check - Previous MD5: 47d714b625763699d036d1e4e1cacc86, Fetched MD5 47d714b625763699d036d1e4e1cacc86 2025-08-19T17:49:17.125324058Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded! 2025-08-19T17:49:17.142296728Z [ls.io-init] done. 2025-08-19T17:49:17.273543520Z 2025-08-19 17:49:17.273 | DEBUG | changedetectionio.model.Watch:history:207 - Reading watch history index for 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:17.273777341Z 2025-08-19 17:49:17.273 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 2025-08-19T17:49:17.274081023Z 2025-08-19 17:49:17.273 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 1 completed watch 8f6b5fe8-9246-40e6-bd5d-17104c4b2147 in 1.27s 2025-08-19T17:49:17.300351718Z 2025-08-19 17:49:17.300 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 content check - Previous MD5: ef2a588594148762d2697bce68a284c5, Fetched MD5 ef2a588594148762d2697bce68a284c5 2025-08-19T17:49:17.408967544Z 2025-08-19 17:49:17.408 | DEBUG | changedetectionio.model.Watch:history:207 - Reading watch history index for 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:17.409179732Z 2025-08-19 17:49:17.409 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 2025-08-19T17:49:17.409543815Z 2025-08-19 17:49:17.409 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 0 completed watch 4e2fdc61-19bf-4ace-aaaa-1f6880a436e9 in 1.41s 2025-08-19T17:49:36.104560388Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET / HTTP/1.1" 200 - 2025-08-19T17:49:36.119221323Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET / HTTP/1.1" 200 - 2025-08-19T17:49:36.136891047Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 - 2025-08-19T17:49:36.141310447Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/styles/pure-min.css HTTP/1.1" 200 - 2025-08-19T17:49:36.141882449Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/styles/styles.css?v=0.50.10 HTTP/1.1" 200 - 2025-08-19T17:49:36.142587700Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/spread-white.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.145885361Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/socket.io.min.js HTTP/1.1" 200 - 2025-08-19T17:49:36.149838472Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/pause.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.150965020Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 - 2025-08-19T17:49:36.151815994Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/play.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.155504312Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/bell-off.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.159919393Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/csrf.js HTTP/1.1" 200 - 2025-08-19T17:49:36.166900933Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 - 2025-08-19T17:49:36.179215503Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/spread.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.181004115Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/realtime.js HTTP/1.1" 200 - 2025-08-19T17:49:36.183290609Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/watch-overview.js HTTP/1.1" 200 - 2025-08-19T17:49:36.183873132Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 - 2025-08-19T17:49:36.184593303Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/js/toggle-theme.js HTTP/1.1" 200 - 2025-08-19T17:49:36.252130162Z 2025-08-19 17:49:36.251 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:356 - Socket.IO: Sent initial queue size 0 to new client 2025-08-19T17:49:36.258939355Z 2025-08-19 17:49:36.252 | INFO | changedetectionio.realtime.socket_server:handle_connect:360 - Socket.IO: Client connected 2025-08-19T17:49:36.254133997Z 172.17.0.3 - - [19/Aug/2025 17:49:36] "GET /static/favicons/favicon.ico HTTP/1.1" 200 - 2025-08-19T17:49:46.599067834Z 2025-08-19 17:49:46.598 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:366 - Socket.IO: Client disconnected 2025-08-19T17:49:46.599809297Z 172.17.0.3 - - [19/Aug/2025 17:49:46] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 - 2025-08-19T17:49:46.601490302Z Error on request: 2025-08-19T17:49:46.601509922Z Traceback (most recent call last): 2025-08-19T17:49:46.601516275Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi 2025-08-19T17:49:46.601522367Z execute(self.server.app) 2025-08-19T17:49:46.601527948Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute 2025-08-19T17:49:46.601533660Z write(b"") 2025-08-19T17:49:46.601539181Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write 2025-08-19T17:49:46.601544862Z assert status_set is not None, "write() before start_response" 2025-08-19T17:49:46.601550464Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-19T17:49:46.601556015Z AssertionError: write() before start_response