2026-02-25T11:39:08.493871241Z [migrations] started
2026-02-25T11:39:08.493911903Z [migrations] no migrations found
2026-02-25T11:39:08.513500790Z usermod: no changes
2026-02-25T11:39:08.519568980Z ───────────────────────────────────────
2026-02-25T11:39:08.519577738Z 
2026-02-25T11:39:08.519581295Z       ██╗     ███████╗██╗ ██████╗
2026-02-25T11:39:08.519584983Z       ██║     ██╔════╝██║██╔═══██╗
2026-02-25T11:39:08.519588490Z       ██║     ███████╗██║██║   ██║
2026-02-25T11:39:08.519592067Z       ██║     ╚════██║██║██║   ██║
2026-02-25T11:39:08.519595564Z       ███████╗███████║██║╚██████╔╝
2026-02-25T11:39:08.519599091Z       ╚══════╝╚══════╝╚═╝ ╚═════╝
2026-02-25T11:39:08.519602708Z 
2026-02-25T11:39:08.519606085Z    Brought to you by linuxserver.io
2026-02-25T11:39:08.519609512Z ───────────────────────────────────────
2026-02-25T11:39:08.520011351Z 
2026-02-25T11:39:08.520022333Z To support LSIO projects visit:
2026-02-25T11:39:08.520026341Z https://www.linuxserver.io/donate/
2026-02-25T11:39:08.520029808Z 
2026-02-25T11:39:08.520033275Z ───────────────────────────────────────
2026-02-25T11:39:08.520037043Z GID/UID
2026-02-25T11:39:08.520040440Z ───────────────────────────────────────
2026-02-25T11:39:08.524985107Z 
2026-02-25T11:39:08.524996590Z User UID:    911
2026-02-25T11:39:08.525000619Z User GID:    911
2026-02-25T11:39:08.525004226Z ───────────────────────────────────────
2026-02-25T11:39:08.526690912Z Linuxserver.io version: 0.54.1-ls270
2026-02-25T11:39:08.526963892Z Build-date: 2026-02-25T11:33:18+00:00
2026-02-25T11:39:08.526968051Z ───────────────────────────────────────
2026-02-25T11:39:08.526971728Z     
2026-02-25T11:39:08.577101317Z [custom-init] No custom files found, skipping...
2026-02-25T11:39:08.713355150Z 2026-02-25 11:39:08.713 | DEBUG    | changedetectionio:<module>:72 - Set multiprocessing default to 'spawn' for thread safety (explicit contexts used everywhere)
2026-02-25T11:39:08.938952500Z 2026-02-25 11:39:08.938 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-02-25T11:39:09.008690235Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-02-25T11:39:09.008742630Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-02-25T11:39:09.009152215Z /app/changedetection/changedetectionio/html_tools.py:629: SyntaxWarning: invalid escape sequence '\s'
2026-02-25T11:39:09.009183328Z   content = re.sub('<!--\s+-->', '', content)
2026-02-25T11:39:09.191327272Z 2026-02-25 11:39:09.191 | DEBUG    | changedetectionio.queue_handlers:__init__:59 - RecheckPriorityQueue initialized successfully
2026-02-25T11:39:09.191414348Z 2026-02-25 11:39:09.191 | DEBUG    | changedetectionio.queue_handlers:__init__:434 - NotificationQueue initialized successfully
2026-02-25T11:39:09.192679666Z 2026-02-25 11:39:09.192 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:508 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-02-25T11:39:09.236460520Z 2026-02-25 11:39:09.235 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:523 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-02-25T11:39:09.236486022Z 2026-02-25 11:39:09.235 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:153 - Configured Jinja2 to search 2 plugin template directories
2026-02-25T11:39:09.236496342Z 2026-02-25 11:39:09.236 | INFO     | changedetectionio.flask_app:<module>:163 - System locale default is (None, None)
2026-02-25T11:39:09.237049226Z 2026-02-25 11:39:09.236 | SUCCESS  | changedetectionio:main:315 - changedetection.io version 0.54.1 starting.
2026-02-25T11:39:09.248966294Z 2026-02-25 11:39:09.248 | INFO     | changedetectionio.store:reload_state:200 - Datastore path is '/config'
2026-02-25T11:39:09.249445439Z 2026-02-25 11:39:09.249 | WARNING  | changedetectionio.store:init_fresh_install:260 - No datastore found, creating new datastore at /config
2026-02-25T11:39:09.249796526Z 2026-02-25 11:39:09.249 | INFO     | changedetectionio.store:init_fresh_install:264 - Marking fresh install to schema version 29
2026-02-25T11:39:09.280167005Z 2026-02-25 11:39:09.279 | DEBUG    | changedetectionio.store:add_tag:950 - >>> Adding new tag - 'tech news'
2026-02-25T11:39:09.439331895Z 2026-02-25 11:39:09.439 | DEBUG    | changedetectionio.model:commit:670 - Committed tag d2a6829b-ccb8-4df6-ae7e-ee6f203b1a06 to d2a6829b-ccb8-4df6-ae7e-ee6f203b1a06/tag.json
2026-02-25T11:39:09.439425974Z 2026-02-25 11:39:09.439 | DEBUG    | changedetectionio.store:add_watch:774 - Adding URL 'https://news.ycombinator.com/' - 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.439472167Z 2026-02-25 11:39:09.439 | DEBUG    | changedetectionio.model:ensure_data_dir_exists:572 - > Creating data dir /config/28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.440133018Z 2026-02-25 11:39:09.440 | DEBUG    | changedetectionio.model:commit:670 - Committed watch 28e09312-5ed7-49af-a1c0-058c5b0cff86 to 28e09312-5ed7-49af-a1c0-058c5b0cff86/watch.json
2026-02-25T11:39:09.440161235Z 2026-02-25 11:39:09.440 | DEBUG    | changedetectionio.store:add_watch:790 - Saved new watch 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.440201747Z 2026-02-25 11:39:09.440 | DEBUG    | changedetectionio.store:add_watch:792 - Added 'https://news.ycombinator.com/'
2026-02-25T11:39:09.447612380Z 2026-02-25 11:39:09.447 | DEBUG    | changedetectionio.store:add_tag:950 - >>> Adding new tag - 'changedetection.io'
2026-02-25T11:39:09.448403804Z 2026-02-25 11:39:09.448 | DEBUG    | changedetectionio.model:commit:670 - Committed tag 865c99d9-596e-447a-9133-a55096a8076c to 865c99d9-596e-447a-9133-a55096a8076c/tag.json
2026-02-25T11:39:09.448483995Z 2026-02-25 11:39:09.448 | DEBUG    | changedetectionio.store:add_watch:774 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.448552814Z 2026-02-25 11:39:09.448 | DEBUG    | changedetectionio.model:ensure_data_dir_exists:572 - > Creating data dir /config/db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.449220990Z 2026-02-25 11:39:09.449 | DEBUG    | changedetectionio.model:commit:670 - Committed watch db3e6f3b-2ade-45e7-af35-1b13e733e85e to db3e6f3b-2ade-45e7-af35-1b13e733e85e/watch.json
2026-02-25T11:39:09.449245880Z 2026-02-25 11:39:09.449 | DEBUG    | changedetectionio.store:add_watch:790 - Saved new watch db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.449281101Z 2026-02-25 11:39:09.449 | DEBUG    | changedetectionio.store:add_watch:792 - Added 'https://changedetection.io/CHANGELOG.txt'
2026-02-25T11:39:09.450182095Z 2026-02-25 11:39:09.450 | INFO     | changedetectionio.store:init_fresh_install:283 - Created changedetection.json for new datastore
2026-02-25T11:39:09.450218849Z 2026-02-25 11:39:09.450 | INFO     | changedetectionio.store:_load_settings:93 - Loading settings from /config/changedetection.json
2026-02-25T11:39:09.450427660Z 2026-02-25 11:39:09.450 | INFO     | changedetectionio.store.file_saving_datastore:load_all_watches:289 - Loading watches from individual watch.json files...
2026-02-25T11:39:09.450687884Z 2026-02-25 11:39:09.450 | DEBUG    | changedetectionio.store.file_saving_datastore:load_all_watches:302 - Found 2 watch.json files in 0.000s
2026-02-25T11:39:09.451120254Z 2026-02-25 11:39:09.451 | INFO     | changedetectionio.store.file_saving_datastore:load_all_watches:330 - Loaded 2 watches from disk in 0.00s (2899 watches/sec)
2026-02-25T11:39:09.451142178Z 2026-02-25 11:39:09.451 | DEBUG    | changedetectionio.store:_load_watches:406 - Loaded 2 watches
2026-02-25T11:39:09.451178051Z 2026-02-25 11:39:09.451 | INFO     | changedetectionio.store:_rehydrate_watches:157 - Rehydrating 2 watches...
2026-02-25T11:39:09.451384587Z 2026-02-25 11:39:09.451 | SUCCESS  | changedetectionio.store:_rehydrate_watches:166 - Rehydrated 2 watches into Watch objects
2026-02-25T11:39:09.451406541Z 2026-02-25 11:39:09.451 | INFO     | changedetectionio.store.file_saving_datastore:load_all_tags:412 - Loading tags from individual tag.json files...
2026-02-25T11:39:09.451562645Z 2026-02-25 11:39:09.451 | DEBUG    | changedetectionio.store.file_saving_datastore:load_all_tags:427 - Found 2 tag.json files
2026-02-25T11:39:09.451939644Z 2026-02-25 11:39:09.451 | INFO     | changedetectionio.store.file_saving_datastore:load_all_tags:446 - Loaded 2 tags from disk
2026-02-25T11:39:09.451953753Z 2026-02-25 11:39:09.451 | INFO     | changedetectionio.store:_load_tags:437 - Loaded 2 tags from individual tag.json files
2026-02-25T11:39:09.452119477Z 2026-02-25 11:39:09.452 | INFO     | changedetectionio.store:_rehydrate_tags:149 - Tag: d2a6829b-ccb8-4df6-ae7e-ee6f203b1a06 Tech news
2026-02-25T11:39:09.452180079Z 2026-02-25 11:39:09.452 | INFO     | changedetectionio.store:_rehydrate_tags:149 - Tag: 865c99d9-596e-447a-9133-a55096a8076c changedetection.io
2026-02-25T11:39:09.484746069Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:154: SyntaxWarning: invalid escape sequence '\d'
2026-02-25T11:39:09.484771079Z   backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+")
2026-02-25T11:39:09.660048997Z /lsiopy/lib/python3.12/site-packages/requests/__init__.py:113: RequestsDependencyWarning: urllib3 (1.26.20) or chardet (6.0.0.post1)/charset_normalizer (3.4.4) doesn't match a supported version!
2026-02-25T11:39:09.660080771Z   warnings.warn(
2026-02-25T11:39:09.700196124Z 2026-02-25 11:39:09.699 | INFO     | changedetectionio.realtime.socket_server:init_socketio:226 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO
2026-02-25T11:39:09.700229000Z 2026-02-25 11:39:09.700 | INFO     | changedetectionio.realtime.socket_server:init_socketio:233 - Platform: linux, Python: 3.12, Socket.IO mode: threading
2026-02-25T11:39:09.728799073Z 2026-02-25 11:39:09.728 | INFO     | changedetectionio.realtime.socket_server:init_socketio:248 - Socket.IO: Registering connect event handler
2026-02-25T11:39:09.728864996Z 2026-02-25 11:39:09.728 | INFO     | changedetectionio.realtime.socket_server:__init__:43 - SignalHandler: Connected to notification_event signal
2026-02-25T11:39:09.729921323Z 2026-02-25 11:39:09.729 | INFO     | changedetectionio.realtime.socket_server:init_socketio:345 - Socket.IO initialized and attached to main Flask app
2026-02-25T11:39:09.729928077Z 2026-02-25 11:39:09.729 | INFO     | changedetectionio.realtime.socket_server:init_socketio:346 - Socket.IO: Registered event handlers: []
2026-02-25T11:39:09.729975883Z 2026-02-25 11:39:09.729 | INFO     | changedetectionio.flask_app:changedetection_app:891 - Socket.IO server initialized
2026-02-25T11:39:09.731387716Z 2026-02-25 11:39:09.731 | INFO     | changedetectionio.flask_app:changedetection_app:981 - Starting 5 workers during app initialization
2026-02-25T11:39:09.731394280Z 2026-02-25 11:39:09.731 | INFO     | changedetectionio.worker_pool:start_async_workers:117 - Starting 5 async workers (isolated threads)
2026-02-25T11:39:09.749017969Z 2026-02-25 11:39:09.748 | INFO     | changedetectionio.worker:async_update_worker:53 - Starting async worker 0 on thread 'PageFetchAsyncUpdateWorker-0' (max_jobs=10, max_runtime=3600s)
2026-02-25T11:39:09.749474188Z 2026-02-25 11:39:09.749 | INFO     | changedetectionio.worker:async_update_worker:53 - Starting async worker 1 on thread 'PageFetchAsyncUpdateWorker-1' (max_jobs=10, max_runtime=3600s)
2026-02-25T11:39:09.749803792Z 2026-02-25 11:39:09.749 | INFO     | changedetectionio.worker:async_update_worker:53 - Starting async worker 2 on thread 'PageFetchAsyncUpdateWorker-2' (max_jobs=10, max_runtime=3600s)
2026-02-25T11:39:09.750281584Z 2026-02-25 11:39:09.750 | INFO     | changedetectionio.worker:async_update_worker:53 - Starting async worker 3 on thread 'PageFetchAsyncUpdateWorker-3' (max_jobs=10, max_runtime=3600s)
2026-02-25T11:39:09.750745378Z 2026-02-25 11:39:09.750 | INFO     | changedetectionio.worker:async_update_worker:53 - Starting async worker 4 on thread 'PageFetchAsyncUpdateWorker-4' (max_jobs=10, max_runtime=3600s)
2026-02-25T11:39:09.751033859Z 2026-02-25 11:39:09.750 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1101 - System env MINIMUM_SECONDS_RECHECK_TIME 3
2026-02-25T11:39:09.751916086Z 2026-02-25 11:39:09.751 | INFO     | changedetectionio.flask_app:changedetection_app:999 - Started 1 notification worker(s)
2026-02-25T11:39:09.753026081Z 2026-02-25 11:39:09.752 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-02-25T11:39:09.753511689Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
2026-02-25T11:39:09.753898418Z 2026-02-25 11:39:09.753 | DEBUG    | changedetectionio.worker_pool:claim_uuid_for_processing:239 - Worker 2 claimed UUID: 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.753975613Z 2026-02-25 11:39:09.753 | INFO     | changedetectionio.worker:async_update_worker:136 - Worker 2 processing watch UUID 28e09312-5ed7-49af-a1c0-058c5b0cff86 Priority 1772019549 URL https://news.ycombinator.com/
2026-02-25T11:39:09.755128986Z  * Serving Flask app 'changedetectionio.flask_app'
2026-02-25T11:39:09.755143836Z  * Debug mode: off
2026-02-25T11:39:09.756550689Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2026-02-25T11:39:09.756567883Z  * Running on all addresses (0.0.0.0)
2026-02-25T11:39:09.756574276Z  * Running on http://127.0.0.1:5000
2026-02-25T11:39:09.756579787Z  * Running on http://172.17.0.4:5000
2026-02-25T11:39:09.756585288Z Press CTRL+C to quit
2026-02-25T11:39:09.760328426Z 2026-02-25 11:39:09.760 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-02-25T11:39:09.760608400Z 2026-02-25 11:39:09.760 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.760842802Z 2026-02-25 11:39:09.760 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1245 - > Queued watch UUID 28e09312-5ed7-49af-a1c0-058c5b0cff86 last checked at 1772019550 queued at 1772019549.75 priority 1772019549 jitter 0.00s, -0.25s since last checked
2026-02-25T11:39:09.760870328Z 2026-02-25 11:39:09.760 | DEBUG    | changedetectionio.processors.base:call_browser:164 - Using proxy 'None' for 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:09.762237320Z 2026-02-25 11:39:09.762 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-02-25T11:39:09.762845545Z 2026-02-25 11:39:09.762 | DEBUG    | changedetectionio.worker_pool:claim_uuid_for_processing:239 - Worker 1 claimed UUID: db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.762892790Z 2026-02-25 11:39:09.762 | INFO     | changedetectionio.worker:async_update_worker:136 - Worker 1 processing watch UUID db3e6f3b-2ade-45e7-af35-1b13e733e85e Priority 1772019549 URL https://changedetection.io/CHANGELOG.txt
2026-02-25T11:39:09.764393322Z 2026-02-25 11:39:09.763 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.764404555Z 2026-02-25 11:39:09.763 | DEBUG    | changedetectionio.processors.base:call_browser:164 - Using proxy 'None' for db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:09.764988180Z 2026-02-25 11:39:09.764 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-02-25T11:39:09.765038752Z 2026-02-25 11:39:09.764 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1245 - > Queued watch UUID db3e6f3b-2ade-45e7-af35-1b13e733e85e last checked at 1772019550 queued at 1772019549.76 priority 1772019549 jitter 0.00s, -0.24s since last checked
2026-02-25T11:39:10.542047504Z 2026-02-25 11:39:10.541 | DEBUG    | changedetectionio.processors.magic:__init__:80 - Guessing mime type, original content_type 'text/html; charset=utf-8', mime type detected 'text/html'
2026-02-25T11:39:10.591783590Z 2026-02-25 11:39:10.591 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:566 - Watch UUID db3e6f3b-2ade-45e7-af35-1b13e733e85e content check - Previous MD5: 7d67a454bb020b4f46fe4d68b2a55ac6, Fetched MD5 7d67a454bb020b4f46fe4d68b2a55ac6
2026-02-25T11:39:10.592508750Z 2026-02-25 11:39:10.592 | DEBUG    | changedetectionio.worker:async_update_worker:400 - Processing watch UUID: db3e6f3b-2ade-45e7-af35-1b13e733e85e - xpath_data length returned empty.
2026-02-25T11:39:10.598393711Z 2026-02-25 11:39:10.598 | DEBUG    | changedetectionio.model:commit:670 - Committed watch db3e6f3b-2ade-45e7-af35-1b13e733e85e to db3e6f3b-2ade-45e7-af35-1b13e733e85e/watch.json
2026-02-25T11:39:10.601726733Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded!
2026-02-25T11:39:10.605567047Z 2026-02-25 11:39:10.605 | DEBUG    | changedetectionio.model.Watch:_brotli_save:77 - Starting brotli streaming compression of 135191 bytes.
2026-02-25T11:39:10.619816853Z [ls.io-init] done.
2026-02-25T11:39:10.620852618Z 2026-02-25 11:39:10.620 | DEBUG    | changedetectionio.model.Watch:_brotli_save:103 - Finished brotli compression - From 135191 to 45687 bytes.
2026-02-25T11:39:10.658456323Z 2026-02-25 11:39:10.658 | DEBUG    | changedetectionio.model.Watch:_brotli_save:77 - Starting brotli streaming compression of 135191 bytes.
2026-02-25T11:39:10.677136110Z 2026-02-25 11:39:10.676 | DEBUG    | changedetectionio.model.Watch:_brotli_save:103 - Finished brotli compression - From 135191 to 45687 bytes.
2026-02-25T11:39:10.712730629Z 2026-02-25 11:39:10.712 | DEBUG    | changedetectionio.model.Watch:history:438 - Reading watch history index for db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:10.714229637Z 2026-02-25 11:39:10.714 | DEBUG    | changedetectionio.model:commit:670 - Committed watch db3e6f3b-2ade-45e7-af35-1b13e733e85e to db3e6f3b-2ade-45e7-af35-1b13e733e85e/watch.json
2026-02-25T11:39:10.771279573Z 2026-02-25 11:39:10.771 | DEBUG    | changedetectionio.worker:async_update_worker:549 - Worker 1 completed watch db3e6f3b-2ade-45e7-af35-1b13e733e85e in 0.77s
2026-02-25T11:39:10.772323765Z 2026-02-25 11:39:10.772 | DEBUG    | changedetectionio.worker_pool:release_uuid_from_processing:255 - Worker 1 released UUID: db3e6f3b-2ade-45e7-af35-1b13e733e85e
2026-02-25T11:39:10.943331865Z 2026-02-25 11:39:10.942 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:566 - Watch UUID 28e09312-5ed7-49af-a1c0-058c5b0cff86 content check - Previous MD5: 40b75fcdf5d65cc4be54ef837e1a074d, Fetched MD5 40b75fcdf5d65cc4be54ef837e1a074d
2026-02-25T11:39:10.943864137Z 2026-02-25 11:39:10.943 | DEBUG    | changedetectionio.worker:async_update_worker:400 - Processing watch UUID: 28e09312-5ed7-49af-a1c0-058c5b0cff86 - xpath_data length returned empty.
2026-02-25T11:39:10.944887408Z 2026-02-25 11:39:10.944 | DEBUG    | changedetectionio.model:commit:670 - Committed watch 28e09312-5ed7-49af-a1c0-058c5b0cff86 to 28e09312-5ed7-49af-a1c0-058c5b0cff86/watch.json
2026-02-25T11:39:10.947621433Z 2026-02-25 11:39:10.947 | DEBUG    | changedetectionio.model.Watch:_brotli_save:77 - Starting brotli streaming compression of 34107 bytes.
2026-02-25T11:39:10.952352150Z 2026-02-25 11:39:10.952 | DEBUG    | changedetectionio.model.Watch:_brotli_save:103 - Finished brotli compression - From 34107 to 4797 bytes.
2026-02-25T11:39:11.008360467Z 2026-02-25 11:39:11.008 | DEBUG    | changedetectionio.model.Watch:history:438 - Reading watch history index for 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:11.008748409Z 2026-02-25 11:39:11.008 | DEBUG    | changedetectionio.worker:async_update_worker:475 - UUID: 28e09312-5ed7-49af-a1c0-058c5b0cff86 Page <title> is 'Hacker News'
2026-02-25T11:39:11.009463609Z 2026-02-25 11:39:11.009 | DEBUG    | changedetectionio.model:commit:670 - Committed watch 28e09312-5ed7-49af-a1c0-058c5b0cff86 to 28e09312-5ed7-49af-a1c0-058c5b0cff86/watch.json
2026-02-25T11:39:11.077542414Z 2026-02-25 11:39:11.077 | DEBUG    | changedetectionio.worker:async_update_worker:549 - Worker 2 completed watch 28e09312-5ed7-49af-a1c0-058c5b0cff86 in 1.08s
2026-02-25T11:39:11.077567424Z 2026-02-25 11:39:11.077 | DEBUG    | changedetectionio.worker_pool:release_uuid_from_processing:255 - Worker 2 released UUID: 28e09312-5ed7-49af-a1c0-058c5b0cff86
2026-02-25T11:39:12.236386130Z 2026-02-25 11:39:12.236 | INFO     | changedetectionio.processors:_available_processors_cached:210 - DISABLED_PROCESSORS set, disabling: ['image_ssim_diff']
2026-02-25T11:39:12.236453135Z 2026-02-25 11:39:12.236 | DEBUG    | changedetectionio.processors:_available_processors_cached:218 - Skipping processor 'image_ssim_diff' (in DISABLED_PROCESSORS)
2026-02-25T11:39:12.449404860Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET / HTTP/1.1" 200 -
2026-02-25T11:39:12.461191495Z 2026-02-25 11:39:12.460 | INFO     | changedetectionio.processors:_available_processors_cached:210 - DISABLED_PROCESSORS set, disabling: ['image_ssim_diff']
2026-02-25T11:39:12.461216696Z 2026-02-25 11:39:12.461 | DEBUG    | changedetectionio.processors:_available_processors_cached:218 - Skipping processor 'image_ssim_diff' (in DISABLED_PROCESSORS)
2026-02-25T11:39:12.468655095Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET / HTTP/1.1" 200 -
2026-02-25T11:39:12.480337761Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/styles/pure-min.css HTTP/1.1" 200 -
2026-02-25T11:39:12.486769132Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 -
2026-02-25T11:39:12.488195154Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/styles/flag-icons.min.css HTTP/1.1" 200 -
2026-02-25T11:39:12.488764471Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/socket.io.min.js HTTP/1.1" 200 -
2026-02-25T11:39:12.489358487Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/bell-off.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.490170833Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/styles/styles.css?v=0.54.1 HTTP/1.1" 200 -
2026-02-25T11:39:12.490331777Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/pause.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.501185223Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 -
2026-02-25T11:39:12.502271841Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/modal.js HTTP/1.1" 200 -
2026-02-25T11:39:12.507346611Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/toast.js HTTP/1.1" 200 -
2026-02-25T11:39:12.508998968Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/favicons/site.webmanifest HTTP/1.1" 200 -
2026-02-25T11:39:12.539623007Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/realtime.js HTTP/1.1" 200 -
2026-02-25T11:39:12.540236523Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/csrf.js HTTP/1.1" 200 -
2026-02-25T11:39:12.542159425Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/play.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.542261260Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 -
2026-02-25T11:39:12.544186247Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/spread.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.544814973Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/watch-overview.js HTTP/1.1" 200 -
2026-02-25T11:39:12.550420692Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.551561479Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/hamburger-menu.js HTTP/1.1" 200 -
2026-02-25T11:39:12.554430186Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/toggle-theme.js HTTP/1.1" 200 -
2026-02-25T11:39:12.556051912Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/language-selector.js HTTP/1.1" 200 -
2026-02-25T11:39:12.556360503Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/search-modal.js HTTP/1.1" 200 -
2026-02-25T11:39:12.558247633Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/js/flask-toast-bridge.js HTTP/1.1" 200 -
2026-02-25T11:39:12.565920094Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/flags/1x1/us.svg HTTP/1.1" 200 -
2026-02-25T11:39:12.643125968Z 2026-02-25 11:39:12.642 | DEBUG    | changedetectionio.realtime.socket_server:handle_connect:309 - Socket.IO: Sent initial queue size 0 to new client
2026-02-25T11:39:12.643168183Z 2026-02-25 11:39:12.643 | INFO     | changedetectionio.realtime.socket_server:handle_connect:313 - Socket.IO: Client connected
2026-02-25T11:39:12.644272607Z 172.17.0.3 - - [25/Feb/2026 11:39:12] "GET /static/favicons/favicon.ico HTTP/1.1" 200 -
2026-02-25T11:39:22.992073585Z 2026-02-25 11:39:22.991 | INFO     | changedetectionio.realtime.socket_server:handle_disconnect:319 - Socket.IO: Client disconnected
2026-02-25T11:39:22.992735799Z 172.17.0.3 - - [25/Feb/2026 11:39:22] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 -
2026-02-25T11:39:22.994183634Z Error on request:
2026-02-25T11:39:22.994198234Z Traceback (most recent call last):
2026-02-25T11:39:22.994204627Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi
2026-02-25T11:39:22.994210609Z     execute(self.server.app)
2026-02-25T11:39:22.994219096Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute
2026-02-25T11:39:22.994224938Z     write(b"")
2026-02-25T11:39:22.994230419Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write
2026-02-25T11:39:22.994236290Z     assert status_set is not None, "write() before start_response"
2026-02-25T11:39:22.994241952Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-02-25T11:39:22.994247493Z AssertionError: write() before start_response