2025-08-28T20:49:21.988654401Z [migrations] started 2025-08-28T20:49:21.992666389Z [migrations] no migrations found 2025-08-28T20:49:22.476528071Z usermod: no changes 2025-08-28T20:49:22.554950625Z ─────────────────────────────────────── 2025-08-28T20:49:22.555005185Z 2025-08-28T20:49:22.555015165Z ██╗ ███████╗██╗ ██████╗ 2025-08-28T20:49:22.555024153Z ██║ ██╔════╝██║██╔═══██╗ 2025-08-28T20:49:22.555032941Z ██║ ███████╗██║██║ ██║ 2025-08-28T20:49:22.555041618Z ██║ ╚════██║██║██║ ██║ 2025-08-28T20:49:22.555050286Z ███████╗███████║██║╚██████╔╝ 2025-08-28T20:49:22.555058793Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2025-08-28T20:49:22.555067541Z 2025-08-28T20:49:22.555075917Z Brought to you by linuxserver.io 2025-08-28T20:49:22.555097782Z ─────────────────────────────────────── 2025-08-28T20:49:22.568506263Z 2025-08-28T20:49:22.568554610Z To support LSIO projects visit: 2025-08-28T20:49:22.568564199Z https://www.linuxserver.io/donate/ 2025-08-28T20:49:22.568574160Z 2025-08-28T20:49:22.568584200Z ─────────────────────────────────────── 2025-08-28T20:49:22.568595813Z GID/UID 2025-08-28T20:49:22.568872560Z ─────────────────────────────────────── 2025-08-28T20:49:22.651305621Z 2025-08-28T20:49:22.651341513Z User UID: 911 2025-08-28T20:49:22.651353588Z User GID: 911 2025-08-28T20:49:22.651363428Z ─────────────────────────────────────── 2025-08-28T20:49:22.687501832Z Linuxserver.io version: 0.50.11-ls212 2025-08-28T20:49:22.691533821Z Build-date: 2025-08-28T20:43:15+00:00 2025-08-28T20:49:22.691575986Z ─────────────────────────────────────── 2025-08-28T20:49:22.691586888Z 2025-08-28T20:49:24.722407833Z [custom-init] No custom files found, skipping... 2025-08-28T20:49:27.677258232Z /app/changedetection/changedetectionio/html_tools.py:431: SyntaxWarning: invalid escape sequence '\[' 2025-08-28T20:49:27.677290206Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>' 2025-08-28T20:49:27.681229419Z /app/changedetection/changedetectionio/html_tools.py:495: SyntaxWarning: invalid escape sequence '\s' 2025-08-28T20:49:27.681281113Z content = re.sub('<!--\s+-->', '', content) 2025-08-28T20:49:28.499244815Z 2025-08-28 20:49:28.496 | DEBUG | changedetectionio.content_fetchers:<module>:62 - Falling back to selenium as fetcher 2025-08-28T20:49:31.849306282Z 2025-08-28 20:49:31.848 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully 2025-08-28T20:49:31.850080200Z 2025-08-28 20:49:31.849 | DEBUG | changedetectionio.queue_handlers:__init__:358 - NotificationQueue initialized successfully 2025-08-28T20:49:31.893668066Z 2025-08-28 20:49:31.892 | INFO | changedetectionio.flask_app:<module>:90 - System locale default is (None, None) 2025-08-28T20:49:31.904204945Z 2025-08-28 20:49:31.903 | SUCCESS | changedetectionio:main:131 - changedetection.io version 0.50.11 starting. 2025-08-28T20:49:32.077583998Z 2025-08-28 20:49:32.076 | INFO | changedetectionio.store:__init__:50 - Datastore path is '/config/url-watches.json' 2025-08-28T20:49:32.081885871Z 2025-08-28 20:49:32.081 | CRITICAL | changedetectionio.store:__init__:100 - No JSON DB found at /config/url-watches.json, creating JSON store at /config 2025-08-28T20:49:32.084915692Z 2025-08-28 20:49:32.084 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'tech news' 2025-08-28T20:49:32.652158182Z 2025-08-28 20:49:32.651 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://news.ycombinator.com/' - 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:32.652854915Z 2025-08-28 20:49:32.652 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:32.653533993Z 2025-08-28 20:49:32.653 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:32.673354186Z 2025-08-28 20:49:32.672 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://news.ycombinator.com/' 2025-08-28T20:49:32.674287886Z 2025-08-28 20:49:32.673 | DEBUG | changedetectionio.store:add_tag:591 - >>> Adding new tag - 'changedetection.io' 2025-08-28T20:49:32.677713054Z 2025-08-28 20:49:32.677 | DEBUG | changedetectionio.store:add_watch:367 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:32.678398183Z 2025-08-28 20:49:32.677 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:75 - > Creating data dir /config/97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:32.679016047Z 2025-08-28 20:49:32.678 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:32.702234023Z 2025-08-28 20:49:32.701 | DEBUG | changedetectionio.store:add_watch:383 - Added 'https://changedetection.io/CHANGELOG.txt' 2025-08-28T20:49:32.805312709Z 2025-08-28 20:49:32.763 | INFO | changedetectionio.store:sync_to_json:397 - Saving JSON.. 2025-08-28T20:49:33.769223873Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:124: SyntaxWarning: invalid escape sequence '\d' 2025-08-28T20:49:33.769265537Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+") 2025-08-28T20:49:34.698292613Z 2025-08-28 20:49:34.697 | INFO | changedetectionio.realtime.socket_server:init_socketio:287 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO 2025-08-28T20:49:34.698802109Z 2025-08-28 20:49:34.698 | INFO | changedetectionio.realtime.socket_server:init_socketio:294 - Platform: linux, Python: 3.12, Socket.IO mode: threading 2025-08-28T20:49:35.163130976Z 2025-08-28 20:49:35.162 | INFO | changedetectionio.realtime.socket_server:init_socketio:306 - Socket.IO: Registering connect event handler 2025-08-28T20:49:35.164334208Z 2025-08-28 20:49:35.163 | INFO | changedetectionio.realtime.socket_server:__init__:38 - SignalHandler: Connected to notification_event signal 2025-08-28T20:49:35.169186099Z 2025-08-28 20:49:35.167 | INFO | changedetectionio.realtime.socket_server:polling_emit_running_or_queued_watches_threaded:131 - Queue update thread started (threading mode) 2025-08-28T20:49:35.176904683Z 2025-08-28 20:49:35.169 | INFO | changedetectionio.realtime.socket_server:__init__:47 - Started polling thread using threading (eventlet-free) 2025-08-28T20:49:35.187782177Z 2025-08-28 20:49:35.187 | INFO | changedetectionio.realtime.socket_server:init_socketio:405 - Socket.IO initialized and attached to main Flask app 2025-08-28T20:49:35.188416354Z 2025-08-28 20:49:35.187 | INFO | changedetectionio.realtime.socket_server:init_socketio:406 - Socket.IO: Registered event handlers: [] 2025-08-28T20:49:35.189005471Z 2025-08-28 20:49:35.188 | INFO | changedetectionio.flask_app:changedetection_app:533 - Socket.IO server initialized 2025-08-28T20:49:35.211358545Z 2025-08-28 20:49:35.210 | INFO | changedetectionio.flask_app:changedetection_app:623 - Starting 10 workers during app initialization 2025-08-28T20:49:35.215596629Z 2025-08-28 20:49:35.214 | INFO | changedetectionio.worker_handler:start_async_event_loop:29 - Starting async event loop for workers 2025-08-28T20:49:35.224365838Z 2025-08-28 20:49:35.223 | 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:35.517870305Z 2025-08-28 20:49:35.516 | INFO | changedetectionio.worker_handler:start_async_workers:76 - Starting 10 async workers 2025-08-28T20:49:35.534810939Z 2025-08-28 20:49:35.533 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:728 - System env MINIMUM_SECONDS_RECHECK_TIME 3 2025-08-28T20:49:35.561518352Z 2025-08-28 20:49:35.560 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-28T20:49:35.562501772Z 2025-08-28 20:49:35.561 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:35.563306122Z 2025-08-28 20:49:35.562 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:35.566480955Z 2025-08-28 20:49:35.565 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 084952f2-6a5b-418f-94e8-3ce8508c2686 last checked at 0 queued at 1756414175.54 priority 1756414175 jitter 0.00s, 1756414175.54s since last checked 2025-08-28T20:49:35.672831520Z 2025-08-28 20:49:35.671 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 2 2025-08-28T20:49:35.676181917Z 2025-08-28 20:49:35.675 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:35.677362554Z 2025-08-28 20:49:35.676 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:218 - Successfully queued item: 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:35.678848977Z 2025-08-28 20:49:35.677 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:854 - > Queued watch UUID 97013adb-d32f-46cd-ac26-421121b1ccae last checked at 0 queued at 1756414175.57 priority 1756414175 jitter 0.00s, 1756414175.57s since last checked 2025-08-28T20:49:35.680194386Z 2025-08-28 20:49:35.679 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 0 2025-08-28T20:49:35.680842131Z 2025-08-28 20:49:35.680 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 0 2025-08-28T20:49:35.682349957Z 2025-08-28 20:49:35.681 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 1 2025-08-28T20:49:35.683014205Z 2025-08-28 20:49:35.682 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:35.684150954Z 2025-08-28 20:49:35.683 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:35.684900073Z 2025-08-28 20:49:35.684 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 0 processing watch UUID 084952f2-6a5b-418f-94e8-3ce8508c2686 Priority 1756414175 URL https://news.ycombinator.com/ 2025-08-28T20:49:35.702921023Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead. 2025-08-28T20:49:35.751032347Z * Serving Flask app 'changedetectionio.flask_app' 2025-08-28T20:49:35.751939273Z * Debug mode: off 2025-08-28T20:49:35.806325895Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 2025-08-28T20:49:35.806355003Z * Running on all addresses (0.0.0.0) 2025-08-28T20:49:35.806366567Z * Running on http://127.0.0.1:5000 2025-08-28T20:49:35.806375675Z * Running on http://172.17.0.4:5000 2025-08-28T20:49:35.807207911Z Press CTRL+C to quit 2025-08-28T20:49:36.082735688Z 2025-08-28 20:49:36.081 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 1 2025-08-28T20:49:36.088878317Z 2025-08-28 20:49:36.088 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 1 2025-08-28T20:49:36.091725331Z 2025-08-28 20:49:36.091 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:99 - SignalHandler: Queue length update received: 0 2025-08-28T20:49:36.092427515Z 2025-08-28 20:49:36.091 | DEBUG | changedetectionio.queue_handlers:async_get:155 - Successfully async retrieved item: 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:36.093180531Z 2025-08-28 20:49:36.092 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:179 - Started processing UUID: 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:36.094112768Z 2025-08-28 20:49:36.093 | INFO | changedetectionio.async_update_worker:async_update_worker:81 - Worker 1 processing watch UUID 97013adb-d32f-46cd-ac26-421121b1ccae Priority 1756414175 URL https://changedetection.io/CHANGELOG.txt 2025-08-28T20:49:36.115308001Z 2025-08-28 20:49:36.114 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 2 2025-08-28T20:49:36.116164325Z 2025-08-28 20:49:36.115 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 2 2025-08-28T20:49:36.117075259Z 2025-08-28 20:49:36.116 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 3 2025-08-28T20:49:36.117637562Z 2025-08-28 20:49:36.117 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 3 2025-08-28T20:49:36.118521261Z 2025-08-28 20:49:36.118 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 4 2025-08-28T20:49:36.119108374Z 2025-08-28 20:49:36.118 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 4 2025-08-28T20:49:36.119970901Z 2025-08-28 20:49:36.119 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 5 2025-08-28T20:49:36.120545468Z 2025-08-28 20:49:36.120 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 5 2025-08-28T20:49:36.121391802Z 2025-08-28 20:49:36.120 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 6 2025-08-28T20:49:36.121978092Z 2025-08-28 20:49:36.121 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 6 2025-08-28T20:49:36.124330429Z 2025-08-28 20:49:36.122 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 7 2025-08-28T20:49:36.124934375Z 2025-08-28 20:49:36.124 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 7 2025-08-28T20:49:36.125815480Z 2025-08-28 20:49:36.125 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 8 2025-08-28T20:49:36.126378694Z 2025-08-28 20:49:36.125 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 8 2025-08-28T20:49:36.127213776Z 2025-08-28 20:49:36.126 | INFO | changedetectionio.worker_handler:start_single_async_worker:106 - Starting async worker 9 2025-08-28T20:49:36.127780126Z 2025-08-28 20:49:36.127 | INFO | changedetectionio.async_update_worker:async_update_worker:34 - Starting async worker 9 2025-08-28T20:49:36.694520695Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded! 2025-08-28T20:49:37.053305601Z [ls.io-init] done. 2025-08-28T20:49:39.527349710Z 2025-08-28 20:49:39.526 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID 084952f2-6a5b-418f-94e8-3ce8508c2686 content check - Previous MD5: 489ba4f3d4a3720b13a75cae0af0a72f, Fetched MD5 489ba4f3d4a3720b13a75cae0af0a72f 2025-08-28T20:49:40.433817436Z 2025-08-28 20:49:40.432 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:40.436411270Z 2025-08-28 20:49:40.435 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 084952f2-6a5b-418f-94e8-3ce8508c2686 2025-08-28T20:49:40.438998921Z 2025-08-28 20:49:40.438 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 0 completed watch 084952f2-6a5b-418f-94e8-3ce8508c2686 in 4.44s 2025-08-28T20:49:41.039867284Z 2025-08-28 20:49:41.039 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:367 - Watch UUID 97013adb-d32f-46cd-ac26-421121b1ccae content check - Previous MD5: e471e0b0e2464d1b8380ac91e67fd67d, Fetched MD5 e471e0b0e2464d1b8380ac91e67fd67d 2025-08-28T20:49:43.699380700Z 2025-08-28 20:49:43.698 | DEBUG | changedetectionio.model.Watch:history:209 - Reading watch history index for 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:43.714511981Z 2025-08-28 20:49:43.713 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:182 - Finished processing UUID: 97013adb-d32f-46cd-ac26-421121b1ccae 2025-08-28T20:49:43.728584369Z 2025-08-28 20:49:43.727 | DEBUG | changedetectionio.async_update_worker:async_update_worker:397 - Worker 1 completed watch 97013adb-d32f-46cd-ac26-421121b1ccae in 7.73s 2025-08-28T20:49:43.750872342Z 172.17.0.3 - - [28/Aug/2025 20:49:43] "GET / HTTP/1.1" 200 - 2025-08-28T20:49:43.848443677Z 172.17.0.3 - - [28/Aug/2025 20:49:43] "GET / HTTP/1.1" 200 - 2025-08-28T20:49:43.988463082Z 172.17.0.3 - - [28/Aug/2025 20:49:43] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 - 2025-08-28T20:49:44.010649771Z 172.17.0.3 - - [28/Aug/2025 20:49:43] "GET /static/styles/styles.css?v=0.50.11 HTTP/1.1" 200 - 2025-08-28T20:49:44.013066898Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 - 2025-08-28T20:49:44.035030868Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/spread-white.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.047317922Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/socket.io.min.js HTTP/1.1" 200 - 2025-08-28T20:49:44.069726967Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/styles/pure-min.css HTTP/1.1" 200 - 2025-08-28T20:49:44.076033558Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/pause.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.104213625Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/play.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.149854876Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/bell-off.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.171585125Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/csrf.js HTTP/1.1" 200 - 2025-08-28T20:49:44.238867977Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/realtime.js HTTP/1.1" 200 - 2025-08-28T20:49:44.243431116Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/watch-overview.js HTTP/1.1" 200 - 2025-08-28T20:49:44.261386243Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/spread.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.266117992Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 - 2025-08-28T20:49:44.293321633Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/toggle-theme.js HTTP/1.1" 200 - 2025-08-28T20:49:44.299963358Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 - 2025-08-28T20:49:44.400878316Z 172.17.0.3 - - [28/Aug/2025 20:49:44] "GET /static/favicons/favicon.ico HTTP/1.1" 200 - 2025-08-28T20:49:44.413735217Z 2025-08-28 20:49:44.411 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:356 - Socket.IO: Sent initial queue size 0 to new client 2025-08-28T20:49:44.416429843Z 2025-08-28 20:49:44.415 | INFO | changedetectionio.realtime.socket_server:handle_connect:360 - Socket.IO: Client connected 2025-08-28T20:49:54.729712177Z 2025-08-28 20:49:54.728 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:366 - Socket.IO: Client disconnected 2025-08-28T20:49:54.735795217Z 172.17.0.3 - - [28/Aug/2025 20:49:54] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 - 2025-08-28T20:49:54.753539519Z Error on request: 2025-08-28T20:49:54.753558227Z Traceback (most recent call last): 2025-08-28T20:49:54.753564540Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi 2025-08-28T20:49:54.753570522Z execute(self.server.app) 2025-08-28T20:49:54.753576484Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute 2025-08-28T20:49:54.753583308Z write(b"") 2025-08-28T20:49:54.753588889Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write 2025-08-28T20:49:54.753594761Z assert status_set is not None, "write() before start_response" 2025-08-28T20:49:54.753600763Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-28T20:49:54.753606655Z AssertionError: write() before start_response