2026-01-14T11:45:00.361597136Z [migrations] started
2026-01-14T11:45:00.365553352Z [migrations] no migrations found
2026-01-14T11:45:00.867549902Z usermod: no changes
2026-01-14T11:45:00.957924848Z ───────────────────────────────────────
2026-01-14T11:45:00.957943155Z
2026-01-14T11:45:00.957949568Z ██╗ ███████╗██╗ ██████╗
2026-01-14T11:45:00.957955450Z ██║ ██╔════╝██║██╔═══██╗
2026-01-14T11:45:00.957961231Z ██║ ███████╗██║██║ ██║
2026-01-14T11:45:00.957966883Z ██║ ╚════██║██║██║ ██║
2026-01-14T11:45:00.957972554Z ███████╗███████║██║╚██████╔╝
2026-01-14T11:45:00.957978115Z ╚══════╝╚══════╝╚═╝ ╚═════╝
2026-01-14T11:45:00.957983897Z
2026-01-14T11:45:00.957989178Z Brought to you by linuxserver.io
2026-01-14T11:45:00.957994659Z ───────────────────────────────────────
2026-01-14T11:45:00.964064702Z
2026-01-14T11:45:00.964090374Z To support LSIO projects visit:
2026-01-14T11:45:00.964100354Z https://www.linuxserver.io/donate/
2026-01-14T11:45:00.964108751Z
2026-01-14T11:45:00.964116847Z ───────────────────────────────────────
2026-01-14T11:45:00.964125975Z GID/UID
2026-01-14T11:45:00.964242099Z ───────────────────────────────────────
2026-01-14T11:45:01.037098288Z
2026-01-14T11:45:01.037132367Z User UID: 911
2026-01-14T11:45:01.037141495Z User GID: 911
2026-01-14T11:45:01.037149742Z ───────────────────────────────────────
2026-01-14T11:45:01.069089749Z Linuxserver.io version: 0.52.3-ls255
2026-01-14T11:45:01.072794599Z Build-date: 2026-01-14T11:39:50+00:00
2026-01-14T11:45:01.072813467Z ───────────────────────────────────────
2026-01-14T11:45:01.072823357Z
2026-01-14T11:45:03.242142359Z [custom-init] No custom files found, skipping...
2026-01-14T11:45:06.758125439Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:06.758177875Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:06.762096065Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:06.762163340Z content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:09.603825625Z 2026-01-14 11:45:09.601 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:09.604917955Z 2026-01-14 11:45:09.604 | DEBUG | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:10.244236427Z 2026-01-14 11:45:10.243 | DEBUG | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:10.356221609Z 2026-01-14 11:45:10.355 | DEBUG | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:11.069157522Z 2026-01-14 11:45:11.068 | 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:11.071111657Z 2026-01-14 11:45:11.070 | INFO | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:11.073601120Z 2026-01-14 11:45:11.073 | INFO | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:11.083202334Z 2026-01-14 11:45:11.082 | DEBUG | changedetectionio:<module>:70 - Set multiprocessing default to 'spawn' for thread safety (explicit contexts used everywhere)
2026-01-14T11:45:11.084202709Z 2026-01-14 11:45:11.083 | SUCCESS | changedetectionio:main:191 - changedetection.io version 0.52.3 starting.
2026-01-14T11:45:11.250938020Z 2026-01-14 11:45:11.250 | INFO | changedetectionio.store:reload_state:82 - Datastore path is '/config'
2026-01-14T11:45:11.255811594Z 2026-01-14 11:45:11.255 | CRITICAL | changedetectionio.store:reload_state:141 - No JSON DB found at /config/url-watches.json, creating JSON store at /config
2026-01-14T11:45:11.980622330Z 2026-01-14 11:45:11.979 | DEBUG | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'tech news'
2026-01-14T11:45:11.990085976Z 2026-01-14 11:45:11.989 | DEBUG | changedetectionio.store:add_watch:417 - Adding URL 'https://news.ycombinator.com/' - 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:11.990793491Z 2026-01-14 11:45:11.990 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:11.991481797Z 2026-01-14 11:45:11.990 | INFO | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:45:12.001504910Z 2026-01-14 11:45:12.000 | DEBUG | changedetectionio.store:add_watch:433 - Added 'https://news.ycombinator.com/'
2026-01-14T11:45:12.009153031Z 2026-01-14 11:45:12.008 | DEBUG | changedetectionio.store:add_tag:651 - >>> Adding new tag - 'changedetection.io'
2026-01-14T11:45:12.013740599Z 2026-01-14 11:45:12.013 | DEBUG | changedetectionio.store:add_watch:417 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:12.014427252Z 2026-01-14 11:45:12.013 | DEBUG | changedetectionio.model.Watch:ensure_data_dir_exists:188 - > Creating data dir /config/5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:12.015080317Z 2026-01-14 11:45:12.014 | INFO | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:45:12.025566462Z 2026-01-14 11:45:12.025 | DEBUG | changedetectionio.store:add_watch:433 - Added 'https://changedetection.io/CHANGELOG.txt'
2026-01-14T11:45:12.170053243Z 2026-01-14 11:45:12.100 | INFO | changedetectionio.store:sync_to_json:447 - Saving JSON..
2026-01-14T11:45:13.162843673Z /app/changedetection/changedetectionio/blueprint/backups/__init__.py:130: SyntaxWarning: invalid escape sequence '\d'
2026-01-14T11:45:13.162875307Z backup_filename_regex = BACKUP_FILENAME_FORMAT.format("\d+")
2026-01-14T11:45:14.116995148Z 2026-01-14 11:45:14.116 | INFO | changedetectionio.realtime.socket_server:init_socketio:230 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO
2026-01-14T11:45:14.117543241Z 2026-01-14 11:45:14.117 | INFO | changedetectionio.realtime.socket_server:init_socketio:237 - Platform: linux, Python: 3.12, Socket.IO mode: threading
2026-01-14T11:45:14.561032015Z 2026-01-14 11:45:14.560 | INFO | changedetectionio.realtime.socket_server:init_socketio:249 - Socket.IO: Registering connect event handler
2026-01-14T11:45:14.562382004Z 2026-01-14 11:45:14.561 | INFO | changedetectionio.realtime.socket_server:__init__:43 - SignalHandler: Connected to notification_event signal
2026-01-14T11:45:14.574198458Z 2026-01-14 11:45:14.573 | INFO | changedetectionio.realtime.socket_server:init_socketio:335 - Socket.IO initialized and attached to main Flask app
2026-01-14T11:45:14.574808166Z 2026-01-14 11:45:14.574 | INFO | changedetectionio.realtime.socket_server:init_socketio:336 - Socket.IO: Registered event handlers: []
2026-01-14T11:45:14.575369937Z 2026-01-14 11:45:14.574 | INFO | changedetectionio.flask_app:changedetection_app:772 - Socket.IO server initialized
2026-01-14T11:45:14.594223071Z 2026-01-14 11:45:14.593 | INFO | changedetectionio.flask_app:changedetection_app:862 - Starting 10 workers during app initialization
2026-01-14T11:45:14.594789762Z 2026-01-14 11:45:14.594 | INFO | changedetectionio.worker_handler:start_async_workers:113 - Starting 10 async workers (isolated threads)
2026-01-14T11:45:14.737054568Z 2026-01-14 11:45:14.736 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 0
2026-01-14T11:45:14.744078021Z 2026-01-14 11:45:14.742 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 5
2026-01-14T11:45:14.750162633Z 2026-01-14 11:45:14.749 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 1
2026-01-14T11:45:14.764101111Z 2026-01-14 11:45:14.753 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 7
2026-01-14T11:45:14.783909980Z 2026-01-14 11:45:14.755 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 8
2026-01-14T11:45:14.793579792Z 2026-01-14 11:45:14.764 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 6
2026-01-14T11:45:14.801015234Z 2026-01-14 11:45:14.766 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 3
2026-01-14T11:45:14.808124210Z 2026-01-14 11:45:14.770 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 2
2026-01-14T11:45:14.808318621Z 2026-01-14 11:45:14.776 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:967 - System env MINIMUM_SECONDS_RECHECK_TIME 3
2026-01-14T11:45:14.812123833Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
2026-01-14T11:45:14.816084669Z * Serving Flask app 'changedetectionio.flask_app'
2026-01-14T11:45:14.816420666Z * Debug mode: off
2026-01-14T11:45:14.841871405Z 2026-01-14 11:45:14.784 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 4
2026-01-14T11:45:14.877732779Z 2026-01-14 11:45:14.788 | INFO | changedetectionio.async_update_worker:async_update_worker:37 - Starting async worker 9
2026-01-14T11:45:14.880966921Z 2026-01-14 11:45:14.827 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:14.886837082Z 2026-01-14 11:45:14.864 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:14.894644073Z 2026-01-14 11:45:14.881 | DEBUG | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:14.897191342Z 2026-01-14 11:45:14.889 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:14.898419465Z 2026-01-14 11:45:14.897 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:14.917424505Z 2026-01-14 11:45:14.916 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID 61950eab-8ad4-4d3c-a608-5778b950abd7 last checked at 0 queued at 1768391114.82 priority 1768391114 jitter 0.00s, 1768391114.82s since last checked
2026-01-14T11:45:14.918645754Z 2026-01-14 11:45:14.913 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 7 started processing UUID: 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:14.920689239Z 2026-01-14 11:45:14.919 | INFO | changedetectionio.async_update_worker:async_update_worker:110 - Worker 7 processing watch UUID 61950eab-8ad4-4d3c-a608-5778b950abd7 Priority 1768391114 URL https://news.ycombinator.com/
2026-01-14T11:45:14.930257617Z 2026-01-14 11:45:14.928 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:14.960476798Z 2026-01-14 11:45:14.941 | DEBUG | changedetectionio.realtime.socket_server:handle_queue_length:109 - SignalHandler: Queue length update received: 0
2026-01-14T11:45:14.968990633Z 2026-01-14 11:45:14.953 | DEBUG | changedetectionio.queue_handlers:get:104 - Successfully retrieved item: 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:14.971124319Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2026-01-14T11:45:14.971162947Z * Running on all addresses (0.0.0.0)
2026-01-14T11:45:14.971172907Z * Running on http://127.0.0.1:5000
2026-01-14T11:45:14.971181204Z * Running on http://172.17.0.4:5000
2026-01-14T11:45:14.971908448Z Press CTRL+C to quit
2026-01-14T11:45:14.971973068Z 2026-01-14 11:45:14.960 | DEBUG | changedetectionio.queue_handlers:put:72 - Successfully queued item: 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:14.973322696Z 2026-01-14 11:45:14.972 | DEBUG | changedetectionio.worker_handler:queue_item_async_safe:254 - Successfully queued item: 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:14.974900052Z 2026-01-14 11:45:14.973 | DEBUG | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1098 - > Queued watch UUID 5f9e499d-f6a1-45ae-b753-7f9345357f19 last checked at 0 queued at 1768391114.92 priority 1768391114 jitter 0.00s, 1768391114.92s since last checked
2026-01-14T11:45:14.980135525Z 2026-01-14 11:45:14.978 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:206 - Worker 5 started processing UUID: 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:14.981985470Z 2026-01-14 11:45:14.980 | INFO | changedetectionio.async_update_worker:async_update_worker:110 - Worker 5 processing watch UUID 5f9e499d-f6a1-45ae-b753-7f9345357f19 Priority 1768391114 URL https://changedetection.io/CHANGELOG.txt
2026-01-14T11:45:15.009664687Z 2026-01-14 11:45:15.008 | DEBUG | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:15.014588943Z 2026-01-14 11:45:15.010 | DEBUG | changedetectionio.realtime.socket_server:handle_watch_small_status_update:52 - Socket.IO: Received watch small status update 'Fetching page..' for UUID 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:15.017153908Z 2026-01-14 11:45:15.016 | DEBUG | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for 5f9e499d-f6a1-45ae-b753-7f9345357f19
2026-01-14T11:45:15.020102095Z 2026-01-14 11:45:15.018 | DEBUG | changedetectionio.processors.base:call_browser:96 - Using proxy 'None' for 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:15.254301267Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded!
2026-01-14T11:45:15.706821667Z [ls.io-init] done.
2026-01-14T11:45:16.800874147Z 2026-01-14 11:45:16.792 | 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:17.134702500Z 2026-01-14 11:45:17.133 | INFO | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T11:45:17.141083940Z 2026-01-14 11:45:17.139 | DEBUG | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T11:45:21.772455863Z 2026-01-14 11:45:21.771 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID 61950eab-8ad4-4d3c-a608-5778b950abd7 content check - Previous MD5: 819c3bdfc3f280156575e1e98ab0ea61, Fetched MD5 819c3bdfc3f280156575e1e98ab0ea61
2026-01-14T11:45:21.805302025Z 2026-01-14 11:45:21.804 | DEBUG | changedetectionio.async_update_worker:async_update_worker:343 - Processing watch UUID: 61950eab-8ad4-4d3c-a608-5778b950abd7 - xpath_data length returned empty.
2026-01-14T11:45:23.561612028Z 2026-01-14 11:45:23.554 | 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:24.291960074Z 2026-01-14 11:45:24.291 | DEBUG | changedetectionio.processors.text_json_diff.processor:run_changedetection:550 - Watch UUID 5f9e499d-f6a1-45ae-b753-7f9345357f19 content check - Previous MD5: d97fde75a7f6ee738e92a07036a8cffd, Fetched MD5 d97fde75a7f6ee738e92a07036a8cffd
2026-01-14T11:45:24.303244437Z 2026-01-14 11:45:24.302 | DEBUG | changedetectionio.async_update_worker:async_update_worker:343 - Processing watch UUID: 5f9e499d-f6a1-45ae-b753-7f9345357f19 - xpath_data length returned empty.
2026-01-14T11:45:26.047929161Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:26.047962869Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:26.051941039Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:26.051966881Z content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:26.971510606Z 172.17.0.3 - - [14/Jan/2026 11:45:26] "GET / HTTP/1.1" 200 -
2026-01-14T11:45:27.323970217Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:27.324011169Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:27.327884689Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:27.327909088Z content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:28.917200610Z 2026-01-14 11:45:28.914 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:28.918427901Z 2026-01-14 11:45:28.917 | DEBUG | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:29.640269758Z 2026-01-14 11:45:29.639 | DEBUG | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:29.752915851Z 2026-01-14 11:45:29.752 | DEBUG | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:29.845950483Z 2026-01-14 11:45:29.844 | INFO | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T11:45:29.846774532Z 2026-01-14 11:45:29.845 | DEBUG | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T11:45:29.957993481Z 172.17.0.3 - - [14/Jan/2026 11:45:29] "GET / HTTP/1.1" 200 -
2026-01-14T11:45:29.988975519Z 2026-01-14 11:45:29.988 | INFO | changedetectionio.processors:available_processors:116 - ALLOWED_PROCESSORS set, filtering to: ['text_json_diff', 'restock_diff']
2026-01-14T11:45:29.989521509Z 2026-01-14 11:45:29.988 | DEBUG | changedetectionio.processors:available_processors:122 - Skipping processor 'image_ssim_diff' (not in ALLOWED_PROCESSORS)
2026-01-14T11:45:30.095723195Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET / HTTP/1.1" 200 -
2026-01-14T11:45:30.156716045Z 2026-01-14 11:45:30.154 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:30.157779777Z 2026-01-14 11:45:30.157 | DEBUG | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:30.200489440Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/styles/flag-icons.min.css HTTP/1.1" 200 -
2026-01-14T11:45:30.202343584Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/styles/styles.css?v=0.52.3 HTTP/1.1" 200 -
2026-01-14T11:45:30.204367510Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/styles/pure-min.css HTTP/1.1" 200 -
2026-01-14T11:45:30.254177020Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/google-chrome-icon.png HTTP/1.1" 200 -
2026-01-14T11:45:30.263379721Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/jquery-3.6.0.min.js HTTP/1.1" 200 -
2026-01-14T11:45:30.270640151Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/socket.io.min.js HTTP/1.1" 200 -
2026-01-14T11:45:30.319353404Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/modal.js HTTP/1.1" 200 -
2026-01-14T11:45:30.331480454Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/spread-white.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.380246293Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/pause.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.408221536Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/play.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.416573324Z 2026-01-14 11:45:30.415 | 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:30.418575495Z 2026-01-14 11:45:30.418 | INFO | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:30.421083165Z 2026-01-14 11:45:30.420 | INFO | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:30.446219722Z 2026-01-14 11:45:30.445 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 16872 bytes.
2026-01-14T11:45:30.466251339Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/toast.js HTTP/1.1" 200 -
2026-01-14T11:45:30.498416139Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/bell-off.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.538134168Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/csrf.js HTTP/1.1" 200 -
2026-01-14T11:45:30.585163490Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/flags/1x1/us.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.614163066Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/feather-icons.min.js HTTP/1.1" 200 -
2026-01-14T11:45:30.656692236Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/spread.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.672096636Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/images/generic_feed-icon.svg HTTP/1.1" 200 -
2026-01-14T11:45:30.674918237Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/realtime.js HTTP/1.1" 200 -
2026-01-14T11:45:30.688950344Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/watch-overview.js HTTP/1.1" 200 -
2026-01-14T11:45:30.732220826Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/toggle-theme.js HTTP/1.1" 200 -
2026-01-14T11:45:30.755182323Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/hamburger-menu.js HTTP/1.1" 200 -
2026-01-14T11:45:30.797971006Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/language-selector.js HTTP/1.1" 200 -
2026-01-14T11:45:30.807931733Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/flask-toast-bridge.js HTTP/1.1" 200 -
2026-01-14T11:45:30.823300711Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/js/search-modal.js HTTP/1.1" 200 -
2026-01-14T11:45:30.916384392Z 2026-01-14 11:45:30.915 | DEBUG | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:30.921645406Z 172.17.0.3 - - [14/Jan/2026 11:45:30] "GET /static/favicons/favicon.ico HTTP/1.1" 200 -
2026-01-14T11:45:30.926181701Z 2026-01-14 11:45:30.925 | DEBUG | changedetectionio.realtime.socket_server:handle_connect:299 - Socket.IO: Sent initial queue size 0 to new client
2026-01-14T11:45:30.928903712Z 2026-01-14 11:45:30.928 | INFO | changedetectionio.realtime.socket_server:handle_connect:303 - Socket.IO: Client connected
2026-01-14T11:45:30.997225220Z 2026-01-14 11:45:30.996 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 16872 to 1683 bytes.
2026-01-14T11:45:31.042641223Z 2026-01-14 11:45:31.041 | DEBUG | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:31.712085228Z 2026-01-14 11:45:31.711 | 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:31.714027098Z 2026-01-14 11:45:31.713 | INFO | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:31.716512903Z 2026-01-14 11:45:31.715 | INFO | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:31.740387078Z 2026-01-14 11:45:31.739 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125322 bytes.
2026-01-14T11:45:33.139626045Z 2026-01-14 11:45:33.138 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 125322 to 36946 bytes.
2026-01-14T11:45:34.430672948Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:34.430707257Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:34.434663373Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:34.434688013Z content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:36.611536073Z /app/changedetection/changedetectionio/html_tools.py:530: SyntaxWarning: invalid escape sequence '\['
2026-01-14T11:45:36.611570994Z pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-01-14T11:45:36.615458963Z /app/changedetection/changedetectionio/html_tools.py:594: SyntaxWarning: invalid escape sequence '\s'
2026-01-14T11:45:36.615484153Z content = re.sub('<!--\s+-->', '', content)
2026-01-14T11:45:37.279831705Z 2026-01-14 11:45:37.277 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:37.280924375Z 2026-01-14 11:45:37.280 | DEBUG | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:37.979384579Z 2026-01-14 11:45:37.978 | DEBUG | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:38.091478701Z 2026-01-14 11:45:38.090 | DEBUG | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:38.737381220Z 2026-01-14 11:45:38.736 | 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:38.739288130Z 2026-01-14 11:45:38.738 | INFO | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:38.741740478Z 2026-01-14 11:45:38.741 | INFO | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:38.765391865Z 2026-01-14 11:45:38.764 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 33901 bytes.
2026-01-14T11:45:39.244118286Z 2026-01-14 11:45:39.243 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:48 - Finished brotli compression - From 33901 to 4240 bytes.
2026-01-14T11:45:39.473214291Z 2026-01-14 11:45:39.470 | DEBUG | changedetectionio.queue_handlers:__init__:53 - RecheckPriorityQueue initialized successfully
2026-01-14T11:45:39.474321180Z 2026-01-14 11:45:39.473 | DEBUG | changedetectionio.queue_handlers:__init__:362 - NotificationQueue initialized successfully
2026-01-14T11:45:39.627872393Z 2026-01-14 11:45:39.626 | DEBUG | changedetectionio.model.Watch:history:339 - Reading watch history index for 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:39.635766619Z 2026-01-14 11:45:39.634 | DEBUG | changedetectionio.async_update_worker:async_update_worker:393 - UUID: 61950eab-8ad4-4d3c-a608-5778b950abd7 Page <title> is 'Hacker News'
2026-01-14T11:45:39.640371753Z 2026-01-14 11:45:39.638 | DEBUG | changedetectionio.async_update_worker:async_update_worker:418 - Cleared fetcher content for UUID 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:39.641775870Z 2026-01-14 11:45:39.640 | DEBUG | changedetectionio.worker_handler:set_uuid_processing:209 - Worker 7 finished processing UUID: 61950eab-8ad4-4d3c-a608-5778b950abd7
2026-01-14T11:45:39.798058012Z 2026-01-14 11:45:39.797 | DEBUG | changedetectionio.async_update_worker:async_update_worker:471 - Worker 7 completed watch 61950eab-8ad4-4d3c-a608-5778b950abd7 in 24.80s
2026-01-14T11:45:40.188763497Z 2026-01-14 11:45:40.188 | DEBUG | changedetectionio.pluggy_interface:get_plugin_template_paths:439 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-01-14T11:45:40.302217506Z 2026-01-14 11:45:40.301 | DEBUG | changedetectionio.content_fetchers:<module>:104 - Falling back to selenium as fetcher
2026-01-14T11:45:40.954580375Z 2026-01-14 11:45:40.953 | 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:40.956568639Z 2026-01-14 11:45:40.955 | INFO | changedetectionio.flask_app:_configure_plugin_templates:108 - Configured Jinja2 to search 2 plugin template directories
2026-01-14T11:45:40.959035456Z 2026-01-14 11:45:40.958 | INFO | changedetectionio.flask_app:<module>:118 - System locale default is (None, None)
2026-01-14T11:45:40.983296450Z 2026-01-14 11:45:40.982 | DEBUG | changedetectionio.model.Watch:_brotli_compress_worker:36 - Starting brotli compression of 125322 bytes.
2026-01-14T11:45:41.235914571Z 2026-01-14 11:45:41.234 | INFO | changedetectionio.realtime.socket_server:handle_disconnect:309 - Socket.IO: Client disconnected
2026-01-14T11:45:41.240716230Z 172.17.0.3 - - [14/Jan/2026 11:45:41] "GET /socket.io/?EIO=4&transport=websocket HTTP/1.1" 500 -
2026-01-14T11:45:41.253441294Z Error on request:
2026-01-14T11:45:41.253456705Z Traceback (most recent call last):
2026-01-14T11:45:41.253465473Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 370, in run_wsgi
2026-01-14T11:45:41.253474431Z execute(self.server.app)
2026-01-14T11:45:41.253482678Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 336, in execute
2026-01-14T11:45:41.253491265Z write(b"")
2026-01-14T11:45:41.253499542Z File "/lsiopy/lib/python3.12/site-packages/werkzeug/serving.py", line 261, in write
2026-01-14T11:45:41.253508039Z assert status_set is not None, "write() before start_response"
2026-01-14T11:45:41.253516496Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-14T11:45:41.253524853Z AssertionError: write() before start_response