2026-01-14T13:16:53.846336078Z [migrations] started
2026-01-14T13:16:53.846375798Z [migrations] no migrations found
2026-01-14T13:16:53.866102320Z usermod: no changes
2026-01-14T13:16:53.871513947Z ───────────────────────────────────────
2026-01-14T13:16:53.871531944Z 
2026-01-14T13:16:53.871536092Z       ██╗     ███████╗██╗ ██████╗
2026-01-14T13:16:53.871539990Z       ██║     ██╔════╝██║██╔═══██╗
2026-01-14T13:16:53.871543788Z       ██║     ███████╗██║██║   ██║
2026-01-14T13:16:53.871547555Z       ██║     ╚════██║██║██║   ██║
2026-01-14T13:16:53.871551293Z       ███████╗███████║██║╚██████╔╝
2026-01-14T13:16:53.871555070Z       ╚══════╝╚══════╝╚═╝ ╚═════╝
2026-01-14T13:16:53.871558788Z 
2026-01-14T13:16:53.871562365Z    Brought to you by linuxserver.io
2026-01-14T13:16:53.871565972Z ───────────────────────────────────────
2026-01-14T13:16:53.871854844Z 
2026-01-14T13:16:53.871864874Z To support LSIO projects visit:
2026-01-14T13:16:53.871868922Z https://www.linuxserver.io/donate/
2026-01-14T13:16:53.871872700Z 
2026-01-14T13:16:53.871876447Z ───────────────────────────────────────
2026-01-14T13:16:53.871881217Z GID/UID
2026-01-14T13:16:53.871884954Z ───────────────────────────────────────
2026-01-14T13:16:53.877987854Z 
2026-01-14T13:16:53.877996992Z User UID:    911
2026-01-14T13:16:53.878001070Z User GID:    911
2026-01-14T13:16:53.878004938Z ───────────────────────────────────────
2026-01-14T13:16:53.879653187Z Linuxserver.io version: 0.52.4-ls255
2026-01-14T13:16:53.879934443Z Build-date: 2026-01-14T13:11:49+00:00
2026-01-14T13:16:53.879943271Z ───────────────────────────────────────
2026-01-14T13:16:53.879947530Z     
2026-01-14T13:16:53.927394431Z [custom-init] No custom files found, skipping...
2026-01-14T13:16:54.213447612Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T13:16:54.213486160Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T13:16:54.213772807Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T13:16:54.213823760Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T13:16:54.480275410Z 2026-01-14 13:16:54.479 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T13:16:54.480318447Z 2026-01-14 13:16:54.480 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T13:16:54.528524337Z 2026-01-14 13:16:54.528 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T13:16:54.539830453Z 2026-01-14 13:16:54.539 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T13:16:54.612250372Z 2026-01-14 13:16:54.612 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T13:16:54.612428771Z 2026-01-14 13:16:54.612 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T13:16:54.612464152Z 2026-01-14 13:16:54.612 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T13:16:54.613390828Z 2026-01-14 13:16:54.613 | DEBUG    | changedetectionio:<module>:70 - Set multiprocessing default to 'spawn' for thread safety (explicit contexts used everywhere)
2026-01-14T13:16:54.613437833Z 2026-01-14 13:16:54.613 | SUCCESS  | changedetectionio:main:191 - changedetection.io version 0.52.4 starting.
2026-01-14T13:16:54.625364910Z 2026-01-14 13:16:54.625 | INFO     | changedetectionio.store:reload_state:82 - Datastore path is '/config'
2026-01-14T13:16:54.625714394Z 2026-01-14 13:16:54.625 | CRITICAL | changedetectionio.store:reload_state:141 - No JSON DB found at /config/url-watches.json, creating JSON store at /config
2026-01-14T13:16:54.682386372Z 2026-01-14 13:16:54.682 | DEBUG    | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'tech news'
2026-01-14T13:16:54.683350463Z 2026-01-14 13:16:54.683 | DEBUG    | changedetectionio.store:add_watch:417 - Adding URL 'https://news.ycombinator.com/' - 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.683372247Z 2026-01-14 13:16:54.683 | DEBUG    | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.683513060Z 2026-01-14 13:16:54.683 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T13:16:54.684062176Z 2026-01-14 13:16:54.683 | DEBUG    | changedetectionio.store:add_watch:433 - Added 'https://news.ycombinator.com/'
2026-01-14T13:16:54.684675812Z 2026-01-14 13:16:54.684 | DEBUG    | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'changedetection.io'
2026-01-14T13:16:54.685095497Z 2026-01-14 13:16:54.684 | DEBUG    | changedetectionio.store:add_watch:417 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.685110477Z 2026-01-14 13:16:54.685 | DEBUG    | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.685229186Z 2026-01-14 13:16:54.685 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T13:16:54.686027544Z 2026-01-14 13:16:54.685 | DEBUG    | changedetectionio.store:add_watch:433 - Added 'https://changedetection.io/CHANGELOG.txt'
2026-01-14T13:16:54.686915201Z 2026-01-14 13:16:54.686 | INFO     | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T13:16:54.751922874Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:130: SyntaxWarning: invalid escape sequence '\d'
2026-01-14T13:16:54.751947734Z   backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+")
2026-01-14T13:16:54.832815604Z 2026-01-14 13:16:54.832 | INFO     | changedetectionio.realtime.socket_server:init_socketio:230 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO
2026-01-14T13:16:54.832852127Z 2026-01-14 13:16:54.832 | INFO     | changedetectionio.realtime.socket_server:init_socketio:237 - Platform: linux, Python: 3.12, Socket.IO mode: threading
2026-01-14T13:16:54.862616953Z 2026-01-14 13:16:54.862 | INFO     | changedetectionio.realtime.socket_server:init_socketio:249 - Socket.IO: Registering connect event handler
2026-01-14T13:16:54.862683367Z 2026-01-14 13:16:54.862 | INFO     | changedetectionio.realtime.socket_server:__init__:43 - SignalHandler: Connected to notification_event signal
2026-01-14T13:16:54.863883694Z 2026-01-14 13:16:54.863 | INFO     | changedetectionio.realtime.socket_server:init_socketio:335 - Socket.IO initialized and attached to main Flask app
2026-01-14T13:16:54.863910848Z 2026-01-14 13:16:54.863 | INFO     | changedetectionio.realtime.socket_server:init_socketio:336 - Socket.IO: Registered event handlers: []
2026-01-14T13:16:54.863920528Z 2026-01-14 13:16:54.863 | INFO     | changedetectionio.flask_app:changedetection_app:772 - Socket.IO server initialized
2026-01-14T13:16:54.865165485Z 2026-01-14 13:16:54.864 | INFO     | changedetectionio.flask_app:changedetection_app:862 - Starting 10 workers during app initialization
2026-01-14T13:16:54.865192158Z 2026-01-14 13:16:54.865 | INFO     | changedetectionio.worker_handler:start_async_workers:113 - Starting 10 async workers (isolated threads)
2026-01-14T13:16:54.885197733Z 2026-01-14 13:16:54.884 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 0
2026-01-14T13:16:54.886230743Z 2026-01-14 13:16:54.886 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 6
2026-01-14T13:16:54.886456096Z 2026-01-14 13:16:54.886 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 2
2026-01-14T13:16:54.886869569Z 2026-01-14 13:16:54.886 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 7
2026-01-14T13:16:54.888593661Z 2026-01-14 13:16:54.886 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:967 - System env MINIMUM_SECONDS_RECHECK_TIME 3
2026-01-14T13:16:54.890481181Z 2026-01-14 13:16:54.887 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 9
2026-01-14T13:16:54.891503620Z 2026-01-14 13:16:54.887 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 1
2026-01-14T13:16:54.891751439Z 2026-01-14 13:16:54.888 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 8
2026-01-14T13:16:54.892264793Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
2026-01-14T13:16:54.892925994Z 2026-01-14 13:16:54.888 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 5
2026-01-14T13:16:54.893746276Z 2026-01-14 13:16:54.888 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 4
2026-01-14T13:16:54.893819864Z  * Serving Flask app 'changedetectionio.flask_app'
2026-01-14T13:16:54.893833071Z  * Debug mode: off
2026-01-14T13:16:54.896197923Z 2026-01-14 13:16:54.890 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T13:16:54.897020058Z 2026-01-14 13:16:54.891 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T13:16:54.897707964Z 2026-01-14 13:16:54.891 | INFO     | changedetectionio.async_update_worker:async_update_worker:35 - Starting async worker 3
2026-01-14T13:16:54.898236879Z 2026-01-14 13:16:54.896 | DEBUG    | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.899345952Z 2026-01-14 13:16:54.896 | DEBUG    | changedetectionio.queue_handlers:put:72 - Successfully queued item: 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.899403949Z 2026-01-14 13:16:54.899 | DEBUG    | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.899529642Z 2026-01-14 13:16:54.899 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID 96cca05d-131b-426b-b357-5787879f1e06 last checked at 0 queued at 1768396614.89 priority 1768396614 jitter 0.00s, 1768396614.89s since last checked
2026-01-14T13:16:54.899931100Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2026-01-14T13:16:54.899955950Z  * Running on all addresses (0.0.0.0)
2026-01-14T13:16:54.899965620Z  * Running on http://127.0.0.1:5000
2026-01-14T13:16:54.899973977Z  * Running on http://172.17.0.4:5000
2026-01-14T13:16:54.899983957Z Press CTRL+C to quit
2026-01-14T13:16:54.900260934Z 2026-01-14 13:16:54.900 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T13:16:54.900316336Z 2026-01-14 13:16:54.900 | DEBUG    | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.900865372Z 2026-01-14 13:16:54.900 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 6 started processing UUID: 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.901773530Z 2026-01-14 13:16:54.900 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 0 started processing UUID: 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.901856918Z 2026-01-14 13:16:54.901 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T13:16:54.901984996Z 2026-01-14 13:16:54.901 | INFO     | changedetectionio.async_update_worker:async_update_worker:108 - Worker 6 processing watch UUID 96cca05d-131b-426b-b357-5787879f1e06 Priority 1768396614 URL https://news.ycombinator.com/
2026-01-14T13:16:54.902163916Z 2026-01-14 13:16:54.901 | INFO     | changedetectionio.async_update_worker:async_update_worker:108 - Worker 0 processing watch UUID 6cc39936-c286-4dbc-98ef-5c9be62de28f Priority 1768396614 URL https://changedetection.io/CHANGELOG.txt
2026-01-14T13:16:54.902659214Z 2026-01-14 13:16:54.901 | DEBUG    | changedetectionio.queue_handlers:put:72 - Successfully queued item: 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.902710086Z 2026-01-14 13:16:54.902 | DEBUG    | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.902836290Z 2026-01-14 13:16:54.902 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID 6cc39936-c286-4dbc-98ef-5c9be62de28f last checked at 1768396615 queued at 1768396614.90 priority 1768396614 jitter 0.00s, -0.10s since last checked
2026-01-14T13:16:54.903999963Z 2026-01-14 13:16:54.903 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.904253033Z 2026-01-14 13:16:54.904 | DEBUG    | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:54.904703400Z 2026-01-14 13:16:54.904 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.904753832Z 2026-01-14 13:16:54.904 | DEBUG    | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:54.949302988Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded!
2026-01-14T13:16:54.963726562Z [ls.io-init] done.
2026-01-14T13:16:55.577677274Z 2026-01-14 13:16:55.577 | 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-14T13:16:55.624703800Z 2026-01-14 13:16:55.624 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID 6cc39936-c286-4dbc-98ef-5c9be62de28f content check - Previous MD5: 27936a8a01802716053dab228978cce3, Fetched MD5 27936a8a01802716053dab228978cce3
2026-01-14T13:16:55.625490704Z 2026-01-14 13:16:55.625 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:341 - Processing watch UUID: 6cc39936-c286-4dbc-98ef-5c9be62de28f - xpath_data length returned empty.
2026-01-14T13:16:55.629719890Z 2026-01-14 13:16:55.629 | DEBUG    | changedetectionio.processors.magic:__init__:80 - Guessing mime type, original content_type 'text/html; charset=utf-8', mime type detected 'text/html'
2026-01-14T13:16:55.687174935Z 2026-01-14 13:16:55.686 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID 96cca05d-131b-426b-b357-5787879f1e06 content check - Previous MD5: bd104b96fd166c57ddf3f056e9261767, Fetched MD5 bd104b96fd166c57ddf3f056e9261767
2026-01-14T13:16:55.687335298Z 2026-01-14 13:16:55.687 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:341 - Processing watch UUID: 96cca05d-131b-426b-b357-5787879f1e06 - xpath_data length returned empty.
2026-01-14T13:16:55.942775615Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T13:16:55.942804223Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T13:16:55.943080840Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T13:16:55.943105009Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T13:16:55.977014530Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T13:16:55.977039110Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T13:16:55.977342100Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T13:16:55.977365437Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T13:16:56.206351415Z 2026-01-14 13:16:56.206 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T13:16:56.206388359Z 2026-01-14 13:16:56.206 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T13:16:56.242517921Z 2026-01-14 13:16:56.242 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T13:16:56.242545056Z 2026-01-14 13:16:56.242 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T13:16:56.267015341Z 2026-01-14 13:16:56.266 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T13:16:56.278391589Z 2026-01-14 13:16:56.278 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T13:16:56.303123420Z 2026-01-14 13:16:56.302 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T13:16:56.314417332Z 2026-01-14 13:16:56.314 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T13:16:56.336758580Z 2026-01-14 13:16:56.336 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T13:16:56.336877489Z 2026-01-14 13:16:56.336 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T13:16:56.336992621Z 2026-01-14 13:16:56.336 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T13:16:56.339446372Z 2026-01-14 13:16:56.339 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125570 bytes.
2026-01-14T13:16:56.372872911Z 2026-01-14 13:16:56.372 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T13:16:56.373008764Z 2026-01-14 13:16:56.372 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T13:16:56.373094888Z 2026-01-14 13:16:56.373 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T13:16:56.375266581Z 2026-01-14 13:16:56.375 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 16870 bytes.
2026-01-14T13:16:56.425993648Z 2026-01-14 13:16:56.425 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 16870 to 1678 bytes.
2026-01-14T13:16:56.519327620Z 2026-01-14 13:16:56.519 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 125570 to 37025 bytes.
2026-01-14T13:16:56.555707476Z 2026-01-14 13:16:56.555 | INFO     | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T13:16:56.555738097Z 2026-01-14 13:16:56.555 | DEBUG    | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T13:16:56.755273813Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET / HTTP/1.1" 200 -
2026-01-14T13:16:56.766328203Z 2026-01-14 13:16:56.766 | INFO     | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T13:16:56.766366871Z 2026-01-14 13:16:56.766 | DEBUG    | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T13:16:56.766446912Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T13:16:56.766471692Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T13:16:56.766802488Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T13:16:56.766813790Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T13:16:56.774820092Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET / HTTP/1.1" 200 -
2026-01-14T13:16:56.793035101Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 -
2026-01-14T13:16:56.793184341Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/styles/flag-icons.min.css HTTP/1.1" 200 -
2026-01-14T13:16:56.793530148Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/styles/styles.css?v=0.52.4 HTTP/1.1" 200 -
2026-01-14T13:16:56.795136943Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/styles/pure-min.css HTTP/1.1" 200 -
2026-01-14T13:16:56.797912893Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/socket.io.min.js HTTP/1.1" 200 -
2026-01-14T13:16:56.799282351Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 -
2026-01-14T13:16:56.812031783Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/modal.js HTTP/1.1" 200 -
2026-01-14T13:16:56.816000044Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/spread-white.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.841906541Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/pause.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.849221371Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/play.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.858643153Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/watch-overview.js HTTP/1.1" 200 -
2026-01-14T13:16:56.858861953Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/toast.js HTTP/1.1" 200 -
2026-01-14T13:16:56.860247453Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/bell-off.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.860799835Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 -
2026-01-14T13:16:56.861135832Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/csrf.js HTTP/1.1" 200 -
2026-01-14T13:16:56.861342849Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/realtime.js HTTP/1.1" 200 -
2026-01-14T13:16:56.878489697Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/toggle-theme.js HTTP/1.1" 200 -
2026-01-14T13:16:56.879725505Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/hamburger-menu.js HTTP/1.1" 200 -
2026-01-14T13:16:56.880031742Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/language-selector.js HTTP/1.1" 200 -
2026-01-14T13:16:56.881156106Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/search-modal.js HTTP/1.1" 200 -
2026-01-14T13:16:56.881393965Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.881920515Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/images/spread.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.893635856Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/js/flask-toast-bridge.js HTTP/1.1" 200 -
2026-01-14T13:16:56.896052412Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/flags/1x1/us.svg HTTP/1.1" 200 -
2026-01-14T13:16:56.939529099Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T13:16:56.939542786Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T13:16:56.939835987Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T13:16:56.939840696Z   content = re.sub('<!--\s+-->', '', content)
2026-01-14T13:16:56.959929688Z 2026-01-14 13:16:56.959 | DEBUG    | changedetectionio.realtime.socket_server:handle_connect:299 - Socket.IO: Sent initial queue size 0 to new client
2026-01-14T13:16:56.960157717Z 2026-01-14 13:16:56.960 | INFO     | changedetectionio.realtime.socket_server:handle_connect:303 - Socket.IO: Client connected
2026-01-14T13:16:56.961281130Z 172.17.0.3 - - [14/Jan/2026 13:16:56] "GET /static/favicons/favicon.ico HTTP/1.1" 200 -
2026-01-14T13:16:57.030870769Z 2026-01-14 13:16:57.030 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T13:16:57.030892012Z 2026-01-14 13:16:57.030 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T13:16:57.090739654Z 2026-01-14 13:16:57.090 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T13:16:57.101957713Z 2026-01-14 13:16:57.101 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T13:16:57.160151065Z 2026-01-14 13:16:57.160 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T13:16:57.160304995Z 2026-01-14 13:16:57.160 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T13:16:57.160416719Z 2026-01-14 13:16:57.160 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T13:16:57.163236417Z 2026-01-14 13:16:57.162 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 33759 bytes.
2026-01-14T13:16:57.201305575Z 2026-01-14 13:16:57.201 | DEBUG    | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T13:16:57.201334764Z 2026-01-14 13:16:57.201 | DEBUG    | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T13:16:57.207309204Z 2026-01-14 13:16:57.207 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 33759 to 4224 bytes.
2026-01-14T13:16:57.261662413Z 2026-01-14 13:16:57.261 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T13:16:57.270665913Z 2026-01-14 13:16:57.270 | DEBUG    | changedetectionio.model.Watch:history:339 - Reading watch history index for 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:57.271033373Z 2026-01-14 13:16:57.270 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:391 - UUID: 96cca05d-131b-426b-b357-5787879f1e06 Page <title> is 'Hacker News'
2026-01-14T13:16:57.271343176Z 2026-01-14 13:16:57.271 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:416 - Cleared fetcher content for UUID 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:57.271447406Z 2026-01-14 13:16:57.271 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:209 - Worker 6 finished processing UUID: 96cca05d-131b-426b-b357-5787879f1e06
2026-01-14T13:16:57.273071717Z 2026-01-14 13:16:57.272 | DEBUG    | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T13:16:57.301915428Z 2026-01-14 13:16:57.301 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:469 - Worker 6 completed watch 96cca05d-131b-426b-b357-5787879f1e06 in 2.30s
2026-01-14T13:16:57.330918300Z 2026-01-14 13:16:57.330 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:454 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-01-14T13:16:57.331050486Z 2026-01-14 13:16:57.330 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T13:16:57.331116770Z 2026-01-14 13:16:57.331 | INFO     | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T13:16:57.333539548Z 2026-01-14 13:16:57.333 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125570 bytes.
2026-01-14T13:16:57.512645836Z 2026-01-14 13:16:57.512 | DEBUG    | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 125570 to 37025 bytes.
2026-01-14T13:16:57.576337879Z 2026-01-14 13:16:57.576 | DEBUG    | changedetectionio.model.Watch:history:339 - Reading watch history index for 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:57.576852055Z 2026-01-14 13:16:57.576 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:416 - Cleared fetcher content for UUID 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:57.576960383Z 2026-01-14 13:16:57.576 | DEBUG    | changedetectionio.worker_handler:set_uuid_processing:209 - Worker 0 finished processing UUID: 6cc39936-c286-4dbc-98ef-5c9be62de28f
2026-01-14T13:16:57.607677005Z 2026-01-14 13:16:57.607 | DEBUG    | changedetectionio.async_update_worker:async_update_worker:469 - Worker 0 completed watch 6cc39936-c286-4dbc-98ef-5c9be62de28f in 2.61s
2026-01-14T13:17:07.285396559Z 2026-01-14 13:17:07.285 | INFO     | changedetectionio.realtime.socket_server:handle_disconnect:309 - Socket.IO: Client disconnected
2026-01-14T13:17:07.286382144Z 172.17.0.3 - - [14/Jan/2026 13:17:07] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 -
2026-01-14T13:17:07.287410645Z Error on request:
2026-01-14T13:17:07.287433010Z Traceback (most recent call last):
2026-01-14T13:17:07.287442689Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi
2026-01-14T13:17:07.287451998Z     execute(self.server.app)
2026-01-14T13:17:07.287460174Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute
2026-01-14T13:17:07.287468692Z     write(b"")
2026-01-14T13:17:07.287476938Z   File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write
2026-01-14T13:17:07.287485425Z     assert status_set is not None, "write() before start_response"
2026-01-14T13:17:07.287520316Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-14T13:17:07.287528903Z AssertionError: write() before start_response