2026-01-14T11:44:59.028650149Z [migrations] started
2026-01-14T11:44:59.028712354Z [migrations] no migrations found
2026-01-14T11:44:59.048501242Z usermod: no changes
2026-01-14T11:44:59.053805232Z ───────────────────────────────────────
2026-01-14T11:44:59.053824261Z 
2026-01-14T11:44:59.053831816Z       ██╗     ███████╗██╗ ██████╗
2026-01-14T11:44:59.053838730Z       ██║     ██╔════╝██║██╔═══██╗
2026-01-14T11:44:59.053845423Z       ██║     ███████╗██║██║   ██║
2026-01-14T11:44:59.053851906Z       ██║     ╚════██║██║██║   ██║
2026-01-14T11:44:59.053858329Z       ███████╗███████║██║╚██████╔╝
2026-01-14T11:44:59.053865003Z       ╚══════╝╚══════╝╚═╝ ╚═════╝
2026-01-14T11:44:59.053871496Z 
2026-01-14T11:44:59.053877578Z    Brought to you by linuxserver.io
2026-01-14T11:44:59.053884031Z ───────────────────────────────────────
2026-01-14T11:44:59.054160307Z 
2026-01-14T11:44:59.054166951Z To support LSIO projects visit:
2026-01-14T11:44:59.054170909Z https://www.linuxserver.io/donate/
2026-01-14T11:44:59.054174596Z 
2026-01-14T11:44:59.054178234Z ───────────────────────────────────────
2026-01-14T11:44:59.054182312Z GID/UID
2026-01-14T11:44:59.054186190Z ───────────────────────────────────────
2026-01-14T11:44:59.058936586Z 
2026-01-14T11:44:59.058946947Z User UID:    911
2026-01-14T11:44:59.058953289Z User GID:    911
2026-01-14T11:44:59.058959462Z ───────────────────────────────────────
2026-01-14T11:44:59.060834588Z Linuxserver.io version: 0.52.3-ls255
2026-01-14T11:44:59.061122517Z Build-date: 2026-01-14T11:39:50+00:00
2026-01-14T11:44:59.061130614Z ───────────────────────────────────────
2026-01-14T11:44:59.061135333Z     
2026-01-14T11:44:59.106555394Z [custom-init] No custom files found, skipping...
2026-01-14T11:44:59.393001094Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:44:59.393037548Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:44:59.393195215Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:44:59.393246258Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:44:59.656110582Z 2026-01-14 11:44:59.655 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:44:59.656142567Z 2026-01-14 11:44:59.656 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:44:59.704590646Z 2026-01-14 11:44:59.704 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:44:59.715478761Z 2026-01-14 11:44:59.715 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:44:59.788243175Z 2026-01-14 11:44:59.787 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T11:44:59.788345661Z 2026-01-14 11:44:59.788 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:44:59.788503579Z 2026-01-14 11:44:59.788 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:44:59.789368421Z 2026-01-14 11:44:59.789 | DEBUG    | changedetectionio:<module>:70 - Set multiprocessing default to 'spawn' for thread safety (explicit contexts used everywhere)
2026-01-14T11:44:59.789400956Z 2026-01-14 11:44:59.789 | SUCCESS  | changedetectionio:main:191 - changedetection.io version 0.52.3 starting.
2026-01-14T11:44:59.801782850Z 2026-01-14 11:44:59.801 | INFO     | changedetectionio.store:reload_state:82 - Datastore path is '/config'
2026-01-14T11:44:59.802083275Z 2026-01-14 11:44:59.801 | CRITICAL | changedetectionio.store:reload_state:141 - No JSON DB found at /config/url-watches.json, creating JSON store at /config
2026-01-14T11:44:59.858130095Z 2026-01-14 11:44:59.857 | DEBUG    | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'tech news'
2026-01-14T11:44:59.859055187Z 2026-01-14 11:44:59.858 | DEBUG    | changedetectionio.store:add_watch:417 - Adding URL 'https://news.ycombinator.com/' - ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:44:59.859086561Z 2026-01-14 11:44:59.859 | DEBUG    | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:44:59.859197825Z 2026-01-14 11:44:59.859 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:44:59.861118963Z 2026-01-14 11:44:59.861 | DEBUG    | changedetectionio.store:add_watch:433 - Added 'https://news.ycombinator.com/'
2026-01-14T11:44:59.861766908Z 2026-01-14 11:44:59.861 | DEBUG    | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'changedetection.io'
2026-01-14T11:44:59.862202094Z 2026-01-14 11:44:59.862 | DEBUG    | changedetectionio.store:add_watch:417 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:44:59.862220090Z 2026-01-14 11:44:59.862 | DEBUG    | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:44:59.862341154Z 2026-01-14 11:44:59.862 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:44:59.863131025Z 2026-01-14 11:44:59.863 | DEBUG    | changedetectionio.store:add_watch:433 - Added 'https://changedetection.io/CHANGELOG.txt'
2026-01-14T11:44:59.863816305Z 2026-01-14 11:44:59.863 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:44:59.926651415Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:130: SyntaxWarning: invalid escape sequence '\d'
2026-01-14T11:44:59.926683219Z   backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+")
2026-01-14T11:45:00.007808760Z 2026-01-14 11:45:00.007 | INFO     | changedetectionio.realtime.socket_server:init_socketio:230 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO
2026-01-14T11:45:00.007837327Z 2026-01-14 11:45:00.007 | INFO     | changedetectionio.realtime.socket_server:init_socketio:237 - Platform: linux, Python: 3.12, Socket.IO mode: threading
2026-01-14T11:45:00.037944934Z 2026-01-14 11:45:00.037 | INFO     | changedetectionio.realtime.socket_server:init_socketio:249 - Socket.IO: Registering connect event handler
2026-01-14T11:45:00.038160949Z 2026-01-14 11:45:00.037 | INFO     | changedetectionio.realtime.socket_server:__init__:43 - SignalHandler: Connected to notification_event signal
2026-01-14T11:45:00.039190883Z 2026-01-14 11:45:00.039 | INFO     | changedetectionio.realtime.socket_server:init_socketio:335 - Socket.IO initialized and attached to main Flask app
2026-01-14T11:45:00.039212757Z 2026-01-14 11:45:00.039 | INFO     | changedetectionio.realtime.socket_server:init_socketio:336 - Socket.IO: Registered event handlers: []
2026-01-14T11:45:00.039223048Z 2026-01-14 11:45:00.039 | INFO     | changedetectionio.flask_app:changedetection_app:772 - Socket.IO server initialized
2026-01-14T11:45:00.040454367Z 2026-01-14 11:45:00.040 | INFO     | changedetectionio.flask_app:changedetection_app:862 - Starting 10 workers during app initialization
2026-01-14T11:45:00.040480249Z 2026-01-14 11:45:00.040 | INFO     | changedetectionio.worker_handler:start_async_workers:113 - Starting 10 async workers (isolated threads)
2026-01-14T11:45:00.058338630Z 2026-01-14 11:45:00.058 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 0
2026-01-14T11:45:00.059705082Z 2026-01-14 11:45:00.058 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 3
2026-01-14T11:45:00.060674454Z 2026-01-14 11:45:00.058 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 1
2026-01-14T11:45:00.062689171Z 2026-01-14 11:45:00.059 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 4
2026-01-14T11:45:00.063575576Z 2026-01-14 11:45:00.060 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 5
2026-01-14T11:45:00.063884919Z 2026-01-14 11:45:00.060 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 2
2026-01-14T11:45:00.064870964Z 2026-01-14 11:45:00.061 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 7
2026-01-14T11:45:00.065565723Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
2026-01-14T11:45:00.066048305Z 2026-01-14 11:45:00.061 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 6
2026-01-14T11:45:00.066319100Z  * Serving Flask app 'changedetectionio.flask_app'
2026-01-14T11:45:00.066340353Z  * Debug mode: off
2026-01-14T11:45:00.066826562Z 2026-01-14 11:45:00.062 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 8
2026-01-14T11:45:00.066992035Z 2026-01-14 11:45:00.063 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:967 - System env MINIMUM_SECONDS_RECHECK_TIME 3
2026-01-14T11:45:00.068004003Z 2026-01-14 11:45:00.063 | INFO     | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 9
2026-01-14T11:45:00.069406437Z 2026-01-14 11:45:00.069 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:00.069573854Z 2026-01-14 11:45:00.069 | DEBUG    | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.070142750Z 2026-01-14 11:45:00.069 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 7 started processing UUID: ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.071728073Z 2026-01-14 11:45:00.070 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:00.072154672Z 2026-01-14 11:45:00.071 | INFO     | changedetectionio.async_update_worker:async_update_worker:110 - Worker 7 processing watch UUID ddc79200-940e-4b52-b877-51335bddf350 Priority 1768391100 URL https://news.ycombinator.com/
2026-01-14T11:45:00.072418032Z 2026-01-14 11:45:00.071 | DEBUG    | changedetectionio.queue_handlers:put:72 - Successfully queued item: ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.072433603Z 2026-01-14 11:45:00.072 | DEBUG    | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.072479726Z 2026-01-14 11:45:00.072 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID ddc79200-940e-4b52-b877-51335bddf350 last checked at 1768391100 queued at 1768391100.07 priority 1768391100 jitter 0.00s, 0.07s since last checked
2026-01-14T11:45:00.072967188Z 2026-01-14 11:45:00.072 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:00.073045956Z 2026-01-14 11:45:00.072 | DEBUG    | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.073460110Z 2026-01-14 11:45:00.073 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 3 started processing UUID: 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.073576855Z 2026-01-14 11:45:00.073 | INFO     | changedetectionio.async_update_worker:async_update_worker:110 - Worker 3 processing watch UUID 9dad90ac-1c42-48fc-9794-8f5e3da2118e Priority 1768391100 URL https://changedetection.io/CHANGELOG.txt
2026-01-14T11:45:00.075041765Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2026-01-14T11:45:00.075056846Z  * Running on all addresses (0.0.0.0)
2026-01-14T11:45:00.075063419Z  * Running on http://127.0.0.1:5000
2026-01-14T11:45:00.075069251Z  * Running on http://172.17.0.5:5000
2026-01-14T11:45:00.075074882Z Press CTRL+C to quit
2026-01-14T11:45:00.076494611Z 2026-01-14 11:45:00.076 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.076767069Z 2026-01-14 11:45:00.076 | DEBUG    | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:00.077275423Z 2026-01-14 11:45:00.077 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:00.077290393Z 2026-01-14 11:45:00.077 | DEBUG    | changedetectionio.queue_handlers:put:72 - Successfully queued item: 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.077325394Z 2026-01-14 11:45:00.077 | DEBUG    | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.077378460Z 2026-01-14 11:45:00.077 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID 9dad90ac-1c42-48fc-9794-8f5e3da2118e last checked at 1768391100 queued at 1768391100.07 priority 1768391100 jitter 0.00s, 0.07s since last checked
2026-01-14T11:45:00.078796957Z 2026-01-14 11:45:00.078 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.078947530Z 2026-01-14 11:45:00.078 | DEBUG    | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:00.128283186Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded!
2026-01-14T11:45:00.141206620Z [ls.io-init] done.
2026-01-14T11:45:00.741113179Z 2026-01-14 11:45:00.740 | WARNING  | changedetectionio.processors.magic:__init__:91 - Error getting a more precise mime type from 'puremagic' library (Could not identify file), using content-based detection
2026-01-14T11:45:00.799501214Z 2026-01-14 11:45:00.799 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID 9dad90ac-1c42-48fc-9794-8f5e3da2118e content check - Previous MD5: d97fde75a7f6ee738e92a07036a8cffd, Fetched MD5 d97fde75a7f6ee738e92a07036a8cffd
2026-01-14T11:45:00.799623390Z 2026-01-14 11:45:00.799 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:343 - Processing watch UUID: 9dad90ac-1c42-48fc-9794-8f5e3da2118e - xpath_data length returned empty.
2026-01-14T11:45:00.832587409Z 2026-01-14 11:45:00.832 | DEBUG    | changedetectionio.processors.magic:__init__:80 - Guessing mime type, original content_type 'text/html; charset=utf-8', mime type detected 'text/html'
2026-01-14T11:45:00.896336970Z 2026-01-14 11:45:00.896 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID ddc79200-940e-4b52-b877-51335bddf350 content check - Previous MD5: 819c3bdfc3f280156575e1e98ab0ea61, Fetched MD5 819c3bdfc3f280156575e1e98ab0ea61
2026-01-14T11:45:00.896515099Z 2026-01-14 11:45:00.896 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:343 - Processing watch UUID: ddc79200-940e-4b52-b877-51335bddf350 - xpath_data length returned empty.
2026-01-14T11:45:01.091756672Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:01.091788466Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:01.092032798Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:01.092046416Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:01.183881783Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:01.183907926Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:01.183918617Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:01.183927445Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:01.354605596Z 2026-01-14 11:45:01.354 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:01.354643502Z 2026-01-14 11:45:01.354 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:01.415037095Z 2026-01-14 11:45:01.414 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:01.426434817Z 2026-01-14 11:45:01.426 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:01.448976318Z 2026-01-14 11:45:01.448 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:01.449026038Z 2026-01-14 11:45:01.448 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:01.485064167Z 2026-01-14 11:45:01.484 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T11:45:01.485226374Z 2026-01-14 11:45:01.485 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:01.485333069Z 2026-01-14 11:45:01.485 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:01.487812352Z 2026-01-14 11:45:01.487 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125322 bytes.
2026-01-14T11:45:01.511807901Z 2026-01-14 11:45:01.511 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:01.523084659Z 2026-01-14 11:45:01.522 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:01.581535820Z 2026-01-14 11:45:01.581 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T11:45:01.581699009Z 2026-01-14 11:45:01.581 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:01.581812057Z 2026-01-14 11:45:01.581 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:01.583977908Z 2026-01-14 11:45:01.583 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 16872 bytes.
2026-01-14T11:45:01.632724247Z 2026-01-14 11:45:01.632 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 16872 to 1683 bytes.
2026-01-14T11:45:01.666727729Z 2026-01-14 11:45:01.666 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 125322 to 36946 bytes.
2026-01-14T11:45:01.780265288Z 2026-01-14 11:45:01.779 | INFO     | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T11:45:01.780284977Z 2026-01-14 11:45:01.780 | DEBUG    | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T11:45:01.973875927Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:01.973898753Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:01.974180360Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:01.974188747Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:01.978813200Z 172.17.0.3 - - [14/Jan/2026 11:45:01] "GET / HTTP/1.1" 200 -
2026-01-14T11:45:01.990615696Z 2026-01-14 11:45:01.990 | INFO     | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T11:45:01.990638552Z 2026-01-14 11:45:01.990 | DEBUG    | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T11:45:02.005261999Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET / HTTP/1.1" 200 -
2026-01-14T11:45:02.011564771Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:02.011580152Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:02.011907050Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:02.011927030Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:02.025677679Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/styles/flag-icons.min.css HTTP/1.1" 200 -
2026-01-14T11:45:02.026097525Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/styles/pure-min.css HTTP/1.1" 200 -
2026-01-14T11:45:02.026259952Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/styles/styles.css?v=0.52.3 HTTP/1.1" 200 -
2026-01-14T11:45:02.029905162Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 -
2026-01-14T11:45:02.030201659Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/socket.io.min.js HTTP/1.1" 200 -
2026-01-14T11:45:02.031099838Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 -
2026-01-14T11:45:02.042326274Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/modal.js HTTP/1.1" 200 -
2026-01-14T11:45:02.048611030Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/spread-white.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.048809039Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/pause.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.075019418Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/play.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.078598846Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/bell-off.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.086746372Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/watch-overview.js HTTP/1.1" 200 -
2026-01-14T11:45:02.088698573Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/toast.js HTTP/1.1" 200 -
2026-01-14T11:45:02.088885960Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/spread.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.089418453Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/csrf.js HTTP/1.1" 200 -
2026-01-14T11:45:02.089754509Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 -
2026-01-14T11:45:02.090975628Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/realtime.js HTTP/1.1" 200 -
2026-01-14T11:45:02.098822590Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.099793916Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/toggle-theme.js HTTP/1.1" 200 -
2026-01-14T11:45:02.101960388Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/hamburger-menu.js HTTP/1.1" 200 -
2026-01-14T11:45:02.105905082Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/search-modal.js HTTP/1.1" 200 -
2026-01-14T11:45:02.108064500Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/language-selector.js HTTP/1.1" 200 -
2026-01-14T11:45:02.108614377Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/flags/1x1/us.svg HTTP/1.1" 200 -
2026-01-14T11:45:02.109189545Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/js/flask-toast-bridge.js HTTP/1.1" 200 -
2026-01-14T11:45:02.189500376Z 2026-01-14 11:45:02.189 | DEBUG    | changedetectionio.realtime.socket_server:handle_connect:299 - Socket.IO: Sent initial queue size 0 to new client
2026-01-14T11:45:02.189535326Z 2026-01-14 11:45:02.189 | INFO     | changedetectionio.realtime.socket_server:handle_connect:303 - Socket.IO: Client connected
2026-01-14T11:45:02.190596823Z 172.17.0.3 - - [14/Jan/2026 11:45:02] "GET /static/favicons/favicon.ico HTTP/1.1" 200 -
2026-01-14T11:45:02.236408834Z 2026-01-14 11:45:02.236 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:02.236470669Z 2026-01-14 11:45:02.236 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:02.282419505Z 2026-01-14 11:45:02.282 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:02.282442301Z 2026-01-14 11:45:02.282 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:02.296077278Z 2026-01-14 11:45:02.295 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:02.307260577Z 2026-01-14 11:45:02.307 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:02.341980602Z 2026-01-14 11:45:02.341 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:02.353250115Z 2026-01-14 11:45:02.353 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:02.364913041Z 2026-01-14 11:45:02.364 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T11:45:02.365060838Z 2026-01-14 11:45:02.364 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:02.365116440Z 2026-01-14 11:45:02.365 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:02.367361221Z 2026-01-14 11:45:02.367 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 33901 bytes.
2026-01-14T11:45:02.410796365Z 2026-01-14 11:45:02.410 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T11:45:02.410917228Z 2026-01-14 11:45:02.410 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:02.411019895Z 2026-01-14 11:45:02.410 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:02.411888614Z 2026-01-14 11:45:02.411 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 33901 to 4240 bytes.
2026-01-14T11:45:02.413486602Z 2026-01-14 11:45:02.413 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125322 bytes.
2026-01-14T11:45:02.475697575Z 2026-01-14 11:45:02.475 | DEBUG    | changedetectionio.model.Watch:history:339 - Reading watch history index for ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:02.476079875Z 2026-01-14 11:45:02.475 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:393 - UUID: ddc79200-940e-4b52-b877-51335bddf350 Page <title> is 'Hacker News'
2026-01-14T11:45:02.476370169Z 2026-01-14 11:45:02.476 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:418 - Cleared fetcher content for UUID ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:02.476471864Z 2026-01-14 11:45:02.476 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:209 - Worker 7 finished processing UUID: ddc79200-940e-4b52-b877-51335bddf350
2026-01-14T11:45:02.507717332Z 2026-01-14 11:45:02.507 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:471 - Worker 7 completed watch ddc79200-940e-4b52-b877-51335bddf350 in 2.51s
2026-01-14T11:45:02.592310917Z 2026-01-14 11:45:02.592 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 125322 to 36946 bytes.
2026-01-14T11:45:02.655640893Z 2026-01-14 11:45:02.655 | DEBUG    | changedetectionio.model.Watch:history:339 - Reading watch history index for 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:02.656186893Z 2026-01-14 11:45:02.656 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:418 - Cleared fetcher content for UUID 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:02.656347316Z 2026-01-14 11:45:02.656 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:209 - Worker 3 finished processing UUID: 9dad90ac-1c42-48fc-9794-8f5e3da2118e
2026-01-14T11:45:02.694503660Z 2026-01-14 11:45:02.694 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:471 - Worker 3 completed watch 9dad90ac-1c42-48fc-9794-8f5e3da2118e in 2.69s
2026-01-14T11:45:12.526609172Z 2026-01-14 11:45:12.526 | INFO     | changedetectionio.realtime.socket_server:handle_disconnect:309 - Socket.IO: Client disconnected
2026-01-14T11:45:12.527287137Z 172.17.0.3 - - [14/Jan/2026 11:45:12] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 -
2026-01-14T11:45:12.529442948Z Error on request:
2026-01-14T11:45:12.529468359Z Traceback (most recent call last):
2026-01-14T11:45:12.529477989Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi
2026-01-14T11:45:12.529486947Z     execute(self.server.app)
2026-01-14T11:45:12.529495404Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute
2026-01-14T11:45:12.529504031Z     write(b"")
2026-01-14T11:45:12.529512358Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write
2026-01-14T11:45:12.529520795Z     assert status_set is not None, "write() before start_response"
2026-01-14T11:45:12.529552098Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-14T11:45:12.529560675Z AssertionError: write() before start_response