2026-10-14T15:57:11.298351731Z [migrations] started
2026-10-14T15:57:11.302655159Z [migrations] no migrations found
2026-10-14T15:57:11.761365766Z usermod: no changes
2026-10-14T15:57:11.832963712Z ───────────────────────────────────────
2026-10-14T15:57:11.832979905Z 
2026-10-14T15:57:11.832988232Z       ██╗     ███████╗██╗ ██████╗
2026-10-14T15:57:11.832996719Z       ██║     ██╔════╝██║██╔═══██╗
2026-10-14T15:57:11.833005266Z       ██║     ███████╗██║██║   ██║
2026-10-14T15:57:11.833013893Z       ██║     ╚════██║██║██║   ██║
2026-10-14T15:57:11.833022030Z       ███████╗███████║██║╚██████╔╝
2026-10-14T15:57:11.833030357Z       ╚══════╝╚══════╝╚═╝ ╚═════╝
2026-10-14T15:57:11.833038723Z 
2026-10-14T15:57:11.833046649Z    Brought to you by linuxserver.io
2026-10-14T15:57:11.833054726Z ───────────────────────────────────────
2026-10-14T15:57:11.839273692Z 
2026-10-14T15:57:11.839305376Z To support LSIO projects visit:
2026-10-14T15:57:11.839314444Z https://www.linuxserver.io/donate/
2026-10-14T15:57:11.839322410Z 
2026-10-14T15:57:11.839330176Z ───────────────────────────────────────
2026-10-14T15:57:11.839339545Z GID/UID
2026-10-14T15:57:11.839459817Z ───────────────────────────────────────
2026-10-14T15:57:11.922134104Z 
2026-10-14T15:57:11.922158573Z User UID:    911
2026-10-14T15:57:11.922167762Z User GID:    911
2026-10-14T15:57:11.922176038Z ───────────────────────────────────────
2026-10-14T15:57:11.958158236Z Linuxserver.io version: 0.60.9-ls319
2026-10-14T15:57:11.962132190Z Build-date: 2026-10-14T15:45:29+00:00
2026-10-14T15:57:11.962146900Z ───────────────────────────────────────
2026-10-14T15:57:11.962156499Z     
2026-10-14T15:57:14.158100336Z [custom-init] No custom files found, skipping...
2026-10-14T15:57:15.973236902Z 2026-10-14 15:57:15.969 | DEBUG    | changedetectionio:<module>:104 - Set multiprocessing default to 'spawn' for thread safety (explicit contexts used everywhere)
2026-10-14T15:57:18.672958913Z 2026-10-14 15:57:18.672 | DEBUG    | changedetectionio.content_fetchers:<module>:191 - Falling back to selenium as fetcher
2026-10-14T15:57:19.108945548Z /app/changedetection/changedetectionio/html_tools.py:792: SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\["? A raw string is also an option.
2026-10-14T15:57:19.109007743Z   pattern = '<!\[CDATA\[(\s*(?:.(?<!\]\]>)\s*)*)\]\]>'
2026-10-14T15:57:19.114654748Z /app/changedetection/changedetectionio/html_tools.py:893: SyntaxWarning: "\s" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\s"? A raw string is also an option.
2026-10-14T15:57:19.114689808Z   content = re.sub('<!--\s+-->', '', content)
2026-10-14T15:57:20.224596686Z 2026-10-14 15:57:20.223 | DEBUG    | changedetectionio.queue_handlers:__init__:59 - RecheckPriorityQueue initialized successfully
2026-10-14T15:57:20.225093216Z 2026-10-14 15:57:20.224 | DEBUG    | changedetectionio.queue_handlers:__init__:445 - NotificationQueue initialized successfully
2026-10-14T15:57:20.249263671Z 2026-10-14 15:57:20.248 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:577 - Added base processors template path: /app/changedetection/changedetectionio/processors/templates
2026-10-14T15:57:20.696026753Z 2026-10-14 15:57:20.695 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:592 - Added processor template path: /app/changedetection/changedetectionio/processors/image_ssim_diff/templates
2026-10-14T15:57:20.696534546Z 2026-10-14 15:57:20.696 | DEBUG    | changedetectionio.pluggy_interface:get_plugin_template_paths:592 - Added processor template path: /app/changedetection/changedetectionio/processors/restock_diff/templates
2026-10-14T15:57:20.698007963Z 2026-10-14 15:57:20.697 | INFO     | changedetectionio.flask_app:_configure_plugin_templates:211 - Configured Jinja2 to search 3 plugin template directories
2026-10-14T15:57:20.699122538Z 2026-10-14 15:57:20.698 | INFO     | changedetectionio.flask_app:<module>:247 - System locale default is (None, None)
2026-10-14T15:57:20.701971958Z 2026-10-14 15:57:20.701 | SUCCESS  | changedetectionio:main:347 - changedetection.io version 0.60.9 starting.
2026-10-14T15:57:20.844198708Z 2026-10-14 15:57:20.843 | INFO     | changedetectionio.store:reload_state:205 - Datastore path is '/config'
2026-10-14T15:57:20.849000971Z 2026-10-14 15:57:20.848 | WARNING  | changedetectionio.store:init_fresh_install:265 - No datastore found, creating new datastore at /config
2026-10-14T15:57:20.853214418Z 2026-10-14 15:57:20.852 | INFO     | changedetectionio.store:init_fresh_install:269 - Marking fresh install to schema version 33
2026-10-14T15:57:21.082951716Z 2026-10-14 15:57:21.082 | DEBUG    | changedetectionio.store:add_tag:1110 - >>> Adding new tag - 'tech news'
2026-10-14T15:57:23.459506696Z 2026-10-14 15:57:23.458 | DEBUG    | changedetectionio.model:commit:681 - Committed tag ac4694dd-9212-4c56-9fdd-e535e1edfba2 to ac4694dd-9212-4c56-9fdd-e535e1edfba2/tag.json
2026-10-14T15:57:23.460805252Z 2026-10-14 15:57:23.460 | DEBUG    | changedetectionio.store:add_watch:852 - Adding URL 'https://news.ycombinator.com/' - 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:23.461372985Z 2026-10-14 15:57:23.460 | DEBUG    | changedetectionio.model:ensure_data_dir_exists:583 - > Creating data dir /config/33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:23.464876021Z 2026-10-14 15:57:23.464 | DEBUG    | changedetectionio.model:commit:681 - Committed watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 to 33ea6eca-e820-4f9a-b5d3-c2e37d26e224/watch.json
2026-10-14T15:57:23.465272139Z 2026-10-14 15:57:23.464 | DEBUG    | changedetectionio.store:add_watch:879 - Saved new watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:23.465654089Z 2026-10-14 15:57:23.465 | DEBUG    | changedetectionio.store:add_watch:881 - Added 'https://news.ycombinator.com/'
2026-10-14T15:57:23.467323441Z 2026-10-14 15:57:23.466 | DEBUG    | changedetectionio.store:add_tag:1110 - >>> Adding new tag - 'changedetection.io'
2026-10-14T15:57:23.470426231Z 2026-10-14 15:57:23.469 | DEBUG    | changedetectionio.model:commit:681 - Committed tag 4367778c-6fbc-4b78-a1d9-93df457b18c9 to 4367778c-6fbc-4b78-a1d9-93df457b18c9/tag.json
2026-10-14T15:57:23.471467037Z 2026-10-14 15:57:23.471 | DEBUG    | changedetectionio.store:add_watch:852 - Adding URL 'https://changedetection.io/CHANGELOG.txt' - d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:23.472023468Z 2026-10-14 15:57:23.471 | DEBUG    | changedetectionio.model:ensure_data_dir_exists:583 - > Creating data dir /config/d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:23.474567472Z 2026-10-14 15:57:23.474 | DEBUG    | changedetectionio.model:commit:681 - Committed watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 to d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75/watch.json
2026-10-14T15:57:23.474971466Z 2026-10-14 15:57:23.474 | DEBUG    | changedetectionio.store:add_watch:879 - Saved new watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:23.475373937Z 2026-10-14 15:57:23.474 | DEBUG    | changedetectionio.store:add_watch:881 - Added 'https://changedetection.io/CHANGELOG.txt'
2026-10-14T15:57:23.482080265Z 2026-10-14 15:57:23.481 | INFO     | changedetectionio.store:init_fresh_install:288 - Created changedetection.json for new datastore
2026-10-14T15:57:23.482709031Z 2026-10-14 15:57:23.482 | INFO     | changedetectionio.store:_load_settings:98 - Loading settings from /config/changedetection.json
2026-10-14T15:57:23.487071308Z 2026-10-14 15:57:23.486 | INFO     | changedetectionio.store.file_saving_datastore:load_all_watches:334 - Loading watches from individual watch.json files...
2026-10-14T15:57:23.489556283Z 2026-10-14 15:57:23.489 | DEBUG    | changedetectionio.store.file_saving_datastore:load_all_watches:349 - Scanned 4 datastore directories in 0.001s
2026-10-14T15:57:23.493795682Z 2026-10-14 15:57:23.493 | DEBUG    | changedetectionio.store.file_saving_datastore:load_all_watches:372 - Skipped 2 directories with no watch.json
2026-10-14T15:57:23.494535753Z 2026-10-14 15:57:23.494 | INFO     | changedetectionio.store.file_saving_datastore:load_all_watches:384 - Loaded 2 watches from disk in 0.01s (277 watches/sec)
2026-10-14T15:57:23.494941831Z 2026-10-14 15:57:23.494 | DEBUG    | changedetectionio.store:_load_watches:411 - Loaded 2 watches
2026-10-14T15:57:23.495313319Z 2026-10-14 15:57:23.494 | INFO     | changedetectionio.store:_rehydrate_watches:162 - Rehydrating 2 watches...
2026-10-14T15:57:23.497386716Z 2026-10-14 15:57:23.496 | SUCCESS  | changedetectionio.store:_rehydrate_watches:171 - Rehydrated 2 watches into Watch objects
2026-10-14T15:57:23.497784757Z 2026-10-14 15:57:23.497 | INFO     | changedetectionio.store.file_saving_datastore:load_all_tags:471 - Loading tags from individual tag.json files...
2026-10-14T15:57:23.500847627Z 2026-10-14 15:57:23.500 | INFO     | changedetectionio.store.file_saving_datastore:load_all_tags:501 - Loaded 2 tags from disk
2026-10-14T15:57:23.501222572Z 2026-10-14 15:57:23.500 | INFO     | changedetectionio.store:_load_tags:442 - Loaded 2 tags from individual tag.json files
2026-10-14T15:57:23.502331856Z 2026-10-14 15:57:23.501 | INFO     | changedetectionio.store:_rehydrate_tags:154 - Tag: ac4694dd-9212-4c56-9fdd-e535e1edfba2 Tech news
2026-10-14T15:57:23.503399377Z 2026-10-14 15:57:23.502 | INFO     | changedetectionio.store:_rehydrate_tags:154 - Tag: 4367778c-6fbc-4b78-a1d9-93df457b18c9 changedetection.io
2026-10-14T15:57:23.720829665Z 2026-10-14 15:57:23.720 | DEBUG    | changedetectionio.pluggy_interface:register_builtin_restock_plugins:331 - Registered built-in restock plugin: llm_restock
2026-10-14T15:57:23.721274722Z 2026-10-14 15:57:23.720 | DEBUG    | changedetectionio.pluggy_interface:inject_datastore_into_plugins:293 - Injected datastore into plugin: llm_restock
2026-10-14T15:57:26.647134306Z 2026-10-14 15:57:26.646 | INFO     | changedetectionio.realtime.socket_server:init_socketio:302 - SOCKETIO_MODE=threading: Using threading mode for Socket.IO
2026-10-14T15:57:26.647505083Z 2026-10-14 15:57:26.647 | INFO     | changedetectionio.realtime.socket_server:init_socketio:309 - Platform: linux, Python: 3.14, Socket.IO mode: threading
2026-10-14T15:57:26.948570664Z 2026-10-14 15:57:26.947 | INFO     | changedetectionio.realtime.socket_server:init_socketio:324 - Socket.IO: Registering connect event handler
2026-10-14T15:57:26.949565187Z 2026-10-14 15:57:26.949 | INFO     | changedetectionio.realtime.socket_server:__init__:46 - SignalHandler: Connected to notification_event signal
2026-10-14T15:57:26.958218768Z 2026-10-14 15:57:26.957 | INFO     | changedetectionio.realtime.socket_server:init_socketio:437 - Socket.IO initialized and attached to main Flask app
2026-10-14T15:57:26.958650487Z 2026-10-14 15:57:26.958 | INFO     | changedetectionio.realtime.socket_server:init_socketio:438 - Socket.IO: Registered event handlers: []
2026-10-14T15:57:26.959052457Z 2026-10-14 15:57:26.958 | INFO     | changedetectionio.flask_app:changedetection_app:1398 - Socket.IO server initialized
2026-10-14T15:57:27.071664565Z 2026-10-14 15:57:27.070 | DEBUG    | changedetectionio.flask_app:changedetection_app:1504 - GC: froze 95509 startup objects into the permanent generation
2026-10-14T15:57:27.072256588Z 2026-10-14 15:57:27.071 | INFO     | changedetectionio.flask_app:changedetection_app:1511 - Starting 5 workers during app initialization
2026-10-14T15:57:27.072673247Z 2026-10-14 15:57:27.072 | INFO     | changedetectionio.worker_pool:start_async_workers:122 - Starting 5 async workers (isolated threads)
2026-10-14T15:57:27.298264013Z 2026-10-14 15:57:27.268 | INFO     | changedetectionio.flask_app:changedetection_app:1538 - Started 1 notification worker(s)
2026-10-14T15:57:27.443867885Z 2026-10-14 15:57:27.243 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1673 - System env MINIMUM_SECONDS_RECHECK_TIME 3
2026-10-14T15:57:27.475371952Z /app/changedetection/changedetectionio/worker.py:764: SyntaxWarning: 'return' in a 'finally' block
2026-10-14T15:57:27.475424758Z   return "restart"
2026-10-14T15:57:27.600025835Z Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
2026-10-14T15:57:27.603382016Z 2026-10-14 15:57:27.602 | INFO     | changedetectionio.worker:async_update_worker:77 - Starting async worker 0 on thread 'PageFetchAsyncUpdateWorker-0' (max_jobs=10, max_runtime=3600s)
2026-10-14T15:57:27.616295787Z 2026-10-14 15:57:27.615 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:153 - SignalHandler: Queue length update received: 0
2026-10-14T15:57:27.622740288Z 2026-10-14 15:57:27.621 | DEBUG    | changedetectionio.worker_pool:claim_uuid_for_processing:308 - Worker 0 claimed UUID: 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:27.634911033Z 2026-10-14 15:57:27.634 | INFO     | changedetectionio.worker:async_update_worker:160 - Worker 0 processing watch UUID 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 Priority 1791993447 URL https://news.ycombinator.com/
2026-10-14T15:57:27.711781048Z 2026-10-14 15:57:27.710 | INFO     | changedetectionio.worker:async_update_worker:77 - Starting async worker 4 on thread 'PageFetchAsyncUpdateWorker-4' (max_jobs=10, max_runtime=3600s)
2026-10-14T15:57:27.720272622Z 2026-10-14 15:57:27.718 | INFO     | changedetectionio.worker:async_update_worker:77 - Starting async worker 2 on thread 'PageFetchAsyncUpdateWorker-2' (max_jobs=10, max_runtime=3600s)
2026-10-14T15:57:27.731140733Z 2026-10-14 15:57:27.729 | INFO     | changedetectionio.worker:async_update_worker:77 - Starting async worker 3 on thread 'PageFetchAsyncUpdateWorker-3' (max_jobs=10, max_runtime=3600s)
2026-10-14T15:57:27.742335883Z 2026-10-14 15:57:27.741 | INFO     | changedetectionio.worker:async_update_worker:77 - Starting async worker 1 on thread 'PageFetchAsyncUpdateWorker-1' (max_jobs=10, max_runtime=3600s)
2026-10-14T15:57:27.772381192Z 2026-10-14 15:57:27.771 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:153 - SignalHandler: Queue length update received: 0
2026-10-14T15:57:27.787712092Z 2026-10-14 15:57:27.786 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1846 - > Queued watch UUID 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 Checked at 1791993448 queued at 1791993447.46 priority 1791993447 jitter 0.00s, -0.54s since Checked
2026-10-14T15:57:27.801975712Z 2026-10-14 15:57:27.800 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:79 - Socket.IO: Received watch small status update 'Fetching...' for UUID 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:27.815657171Z 2026-10-14 15:57:27.814 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:153 - SignalHandler: Queue length update received: 0
2026-10-14T15:57:27.871808193Z 2026-10-14 15:57:27.870 | DEBUG    | changedetectionio.realtime.socket_server:handle_queue_length:153 - SignalHandler: Queue length update received: 0
2026-10-14T15:57:27.872766563Z 2026-10-14 15:57:27.871 | DEBUG    | changedetectionio.flask_app:ticker_thread_check_time_launch_checks:1846 - > Queued watch UUID d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 Checked at 0 queued at 1791993447.79 priority 1791993447 jitter 0.00s, 1791993447.79s since Checked
2026-10-14T15:57:27.902501707Z 2026-10-14 15:57:27.901 | DEBUG    | changedetectionio.worker_pool:claim_uuid_for_processing:308 - Worker 4 claimed UUID: d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:27.904839987Z 2026-10-14 15:57:27.903 | INFO     | changedetectionio.worker:async_update_worker:160 - Worker 4 processing watch UUID d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 Priority 1791993447 URL https://changedetection.io/CHANGELOG.txt
2026-10-14T15:57:28.003289248Z 2026-10-14 15:57:28.001 | DEBUG    | changedetectionio.realtime.socket_server:handle_watch_small_status_update:79 - Socket.IO: Received watch small status update 'Fetching...' for UUID d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:28.034401105Z 2026-10-14 15:57:28.033 | INFO     | changedetectionio.validate_url:is_private_hostname:170 - Hostname 'news.ycombinator.com' is NOT private/IANA restricted.
2026-10-14T15:57:28.068087969Z 2026-10-14 15:57:28.067 | INFO     | changedetectionio.content_fetchers:_log_fetcher_capabilities:98 - Content fetcher 'html_requests' (Basic fast Plaintext/HTTP Client) for watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 - capabilities: browser_steps=False, screenshots=False, xpath_element_data=False
2026-10-14T15:57:28.074320312Z 2026-10-14 15:57:28.073 | DEBUG    | changedetectionio.processors.base:call_browser:203 - Using proxy 'None' for 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:28.142949959Z 2026-10-14 15:57:28.141 | INFO     | changedetectionio.validate_url:is_private_hostname:170 - Hostname 'changedetection.io' is NOT private/IANA restricted.
2026-10-14T15:57:28.166753616Z  * Serving Flask app 'changedetectionio.flask_app'
2026-10-14T15:57:28.169540529Z 2026-10-14 15:57:28.168 | INFO     | changedetectionio.content_fetchers:_log_fetcher_capabilities:98 - Content fetcher 'html_requests' (Basic fast Plaintext/HTTP Client) for watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 - capabilities: browser_steps=False, screenshots=False, xpath_element_data=False
2026-10-14T15:57:28.170219477Z  * Debug mode: off
2026-10-14T15:57:28.171176484Z 2026-10-14 15:57:28.170 | DEBUG    | changedetectionio.processors.base:call_browser:203 - Using proxy 'None' for d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:28.177512366Z 2026-10-14 15:57:28.176 | INFO     | changedetectionio.validate_url:is_private_hostname:170 - Hostname 'news.ycombinator.com' is NOT private/IANA restricted.
2026-10-14T15:57:28.224156098Z 2026-10-14 15:57:28.222 | INFO     | changedetectionio.validate_url:is_private_hostname:170 - Hostname 'changedetection.io' is NOT private/IANA restricted.
2026-10-14T15:57:28.235393994Z Connection to localhost (127.0.0.1) 5000 port [tcp/*] succeeded!
2026-10-14T15:57:28.279184068Z WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
2026-10-14T15:57:28.279208718Z  * Running on all addresses (0.0.0.0)
2026-10-14T15:57:28.279218197Z  * Running on http://127.0.0.1:5000
2026-10-14T15:57:28.279225973Z  * Running on http://172.17.0.4:5000
2026-10-14T15:57:28.279727994Z Press CTRL+C to quit
2026-10-14T15:57:28.668359945Z [ls.io-init] done.
2026-10-14T15:57:29.169082684Z 2026-10-14 15:57:29.168 | DEBUG    | changedetectionio.processors.magic:__init__:80 - Guessing mime type, original content_type 'text/html; charset=utf-8', mime type detected 'text/html'
2026-10-14T15:57:29.785849254Z 2026-10-14 15:57:29.785 | INFO     | changedetectionio.processors:_available_processors_cached:211 - DISABLED_PROCESSORS set, disabling: ['image_ssim_diff']
2026-10-14T15:57:29.787200927Z 2026-10-14 15:57:29.786 | DEBUG    | changedetectionio.processors:_available_processors_cached:219 - Skipping processor 'image_ssim_diff' (in DISABLED_PROCESSORS)
2026-10-14T15:57:29.833122694Z 2026-10-14 15:57:29.832 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'system' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:29.835336103Z 2026-10-14 15:57:29.834 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_requests' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:29.835969028Z 2026-10-14 15:57:29.835 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_webdriver' -> 'html_webdriver': supports_browser_steps=False, supports_screenshots=True, supports_xpath_element_data=True - not offered, missing supports_browser_steps
2026-10-14T15:57:29.837023011Z 2026-10-14 15:57:29.836 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:list_visual_browser_choices:81 - Add-watch browsers offered for the live preview: none
2026-10-14T15:57:30.931294664Z 2026-10-14 15:57:30.930 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_requests' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:30.931896115Z 2026-10-14 15:57:30.931 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_webdriver' -> 'html_webdriver': supports_browser_steps=False, supports_screenshots=True, supports_xpath_element_data=True - not offered, missing supports_browser_steps
2026-10-14T15:57:30.932384248Z 2026-10-14 15:57:30.931 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:list_visual_browser_choices:81 - Add-watch browsers offered for the live preview: none
2026-10-14T15:57:34.461829451Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET / HTTP/1.1" 200 -
2026-10-14T15:57:34.516641035Z 2026-10-14 15:57:34.515 | INFO     | changedetectionio.processors:_available_processors_cached:211 - DISABLED_PROCESSORS set, disabling: ['image_ssim_diff']
2026-10-14T15:57:34.524037914Z 2026-10-14 15:57:34.523 | DEBUG    | changedetectionio.processors:_available_processors_cached:219 - Skipping processor 'image_ssim_diff' (in DISABLED_PROCESSORS)
2026-10-14T15:57:34.555842436Z 2026-10-14 15:57:34.555 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'system' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:34.557729477Z 2026-10-14 15:57:34.557 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_requests' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:34.558687878Z 2026-10-14 15:57:34.558 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_webdriver' -> 'html_webdriver': supports_browser_steps=False, supports_screenshots=True, supports_xpath_element_data=True - not offered, missing supports_browser_steps
2026-10-14T15:57:34.559377296Z 2026-10-14 15:57:34.558 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:list_visual_browser_choices:81 - Add-watch browsers offered for the live preview: none
2026-10-14T15:57:34.576216755Z 2026-10-14 15:57:34.575 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_requests' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:34.577352723Z 2026-10-14 15:57:34.576 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_webdriver' -> 'html_webdriver': supports_browser_steps=False, supports_screenshots=True, supports_xpath_element_data=True - not offered, missing supports_browser_steps
2026-10-14T15:57:34.577957261Z 2026-10-14 15:57:34.577 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:list_visual_browser_choices:81 - Add-watch browsers offered for the live preview: none
2026-10-14T15:57:34.714322023Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET / HTTP/1.1" 200 -
2026-10-14T15:57:34.878966217Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/styles/pure-min.css?v=1791791523-16789 HTTP/1.1" 200 -
2026-10-14T15:57:34.908166494Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/styles/styles.css?v=1791791523-105100 HTTP/1.1" 200 -
2026-10-14T15:57:34.918412863Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/styles/flag-icons.min.css?v=1791791523-28040 HTTP/1.1" 200 -
2026-10-14T15:57:34.945582098Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/js/jquery-3.6.0.min.js?v=1791791523-89501 HTTP/1.1" 200 -
2026-10-14T15:57:34.954141549Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/js/feather-icons.min.js?v=1791791523-76047 HTTP/1.1" 200 -
2026-10-14T15:57:34.974723355Z 172.17.0.3 - - [14/Oct/2026 15:57:34] "GET /static/js/sidebar.js?v=1791791523-1330 HTTP/1.1" 200 -
2026-10-14T15:57:35.093125958Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/images/google-chrome-icon.png?v=1791791523-14480 HTTP/1.1" 200 -
2026-10-14T15:57:35.101065700Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/modal.js?v=1791791523-9407 HTTP/1.1" 200 -
2026-10-14T15:57:35.207446347Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/images/generic_feed-icon.svg?v=1791791523-569 HTTP/1.1" 200 -
2026-10-14T15:57:35.219929160Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/socket.io.min.js?v=1791791523-61701 HTTP/1.1" 200 -
2026-10-14T15:57:35.226310073Z 2026-10-14 15:57:35.224 | WARNING  | changedetectionio.content_fetchers.requests:_run_sync:176 - URL: https://changedetection.io/CHANGELOG.txt No charset in headers or meta tag, guessed encoding as 'utf-8' via chardet
2026-10-14T15:57:35.254864038Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/toast.js?v=1791791523-7285 HTTP/1.1" 200 -
2026-10-14T15:57:35.310048613Z 2026-10-14 15:57:35.308 | 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-10-14T15:57:35.443120192Z 2026-10-14 15:57:35.442 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:639 - Watch UUID d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 content check - Previous MD5: f72eb2d50016255fc8a11b239bf0f50e, Fetched MD5 f72eb2d50016255fc8a11b239bf0f50e
2026-10-14T15:57:35.465443186Z 2026-10-14 15:57:35.464 | DEBUG    | changedetectionio.worker:async_update_worker:427 - Processing watch UUID: d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 - xpath_data length returned empty.
2026-10-14T15:57:35.513024386Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/csrf.js?v=1791791523-1187 HTTP/1.1" 200 -
2026-10-14T15:57:35.532072204Z 2026-10-14 15:57:35.531 | DEBUG    | changedetectionio.model:commit:681 - Committed watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 to d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75/watch.json
2026-10-14T15:57:35.537063898Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/queue-sparkline.js?v=1791791523-12214 HTTP/1.1" 200 -
2026-10-14T15:57:35.558720991Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/realtime.js?v=1791791523-15646 HTTP/1.1" 200 -
2026-10-14T15:57:35.569409840Z 2026-10-14 15:57:35.568 | DEBUG    | changedetectionio.model.Watch:_brotli_save:83 - Starting brotli streaming compression of 160415 bytes.
2026-10-14T15:57:35.589127757Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/llm-summary.js?v=1791791523-9883 HTTP/1.1" 200 -
2026-10-14T15:57:35.687527639Z 2026-10-14 15:57:35.686 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_requests' -> 'html_requests': supports_browser_steps=False, supports_screenshots=False, supports_xpath_element_data=False - not offered, missing supports_browser_steps, supports_screenshots, supports_xpath_element_data
2026-10-14T15:57:35.696960489Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/watch-overview.js?v=1791791523-22463 HTTP/1.1" 200 -
2026-10-14T15:57:35.705207080Z 2026-10-14 15:57:35.704 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:is_visual_capable:50 - Add-watch browser 'html_webdriver' -> 'html_webdriver': supports_browser_steps=False, supports_screenshots=True, supports_xpath_element_data=True - not offered, missing supports_browser_steps
2026-10-14T15:57:35.706090960Z 2026-10-14 15:57:35.705 | DEBUG    | changedetectionio.blueprint.add_watch_ui.browser_config:list_visual_browser_choices:81 - Add-watch browsers offered for the live preview: none
2026-10-14T15:57:35.712811016Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/restock-price-graph.js?v=1791791523-19210 HTTP/1.1" 200 -
2026-10-14T15:57:35.731577997Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /site.webmanifest HTTP/1.1" 200 -
2026-10-14T15:57:35.755840077Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/flags/1x1/us.svg HTTP/1.1" 200 -
2026-10-14T15:57:35.792060013Z 2026-10-14 15:57:35.791 | DEBUG    | changedetectionio.model.Watch:_brotli_save:109 - Finished brotli compression - From 160415 to 54598 bytes.
2026-10-14T15:57:35.828339879Z 2026-10-14 15:57:35.827 | DEBUG    | changedetectionio.model.Watch:_brotli_save:83 - Starting brotli streaming compression of 160415 bytes.
2026-10-14T15:57:35.836018105Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/hamburger-menu.js?v=1791791523-2114 HTTP/1.1" 200 -
2026-10-14T15:57:35.843128257Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/toggle-theme.js?v=1791791523-2522 HTTP/1.1" 200 -
2026-10-14T15:57:35.892691489Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/menu-pop.js?v=1791791523-1561 HTTP/1.1" 200 -
2026-10-14T15:57:35.938291760Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/language-selector.js?v=1791791523-2158 HTTP/1.1" 200 -
2026-10-14T15:57:35.953177263Z 2026-10-14 15:57:35.952 | DEBUG    | changedetectionio.model.Watch:_brotli_save:109 - Finished brotli compression - From 160415 to 54598 bytes.
2026-10-14T15:57:35.966932128Z 2026-10-14 15:57:35.966 | DEBUG    | changedetectionio.model.Watch:history:518 - Reading watch history index for d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:35.991900711Z 172.17.0.3 - - [14/Oct/2026 15:57:35] "GET /static/js/scrollable-title.js?v=1791791523-1486 HTTP/1.1" 200 -
2026-10-14T15:57:36.015179460Z 172.17.0.3 - - [14/Oct/2026 15:57:36] "GET /static/js/flask-toast-bridge.js?v=1791791523-2371 HTTP/1.1" 200 -
2026-10-14T15:57:36.026804787Z 172.17.0.3 - - [14/Oct/2026 15:57:36] "GET /static/js/search-modal.js?v=1791791523-3985 HTTP/1.1" 200 -
2026-10-14T15:57:36.027517532Z 2026-10-14 15:57:36.026 | DEBUG    | changedetectionio.model:commit:681 - Committed watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 to d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75/watch.json
2026-10-14T15:57:36.048636621Z 2026-10-14 15:57:36.047 | DEBUG    | changedetectionio.worker:async_update_worker:707 - Worker 4 completed watch d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75 in 8.05s
2026-10-14T15:57:36.055933709Z 2026-10-14 15:57:36.055 | DEBUG    | changedetectionio.worker_pool:release_uuid_from_processing:325 - Worker 4 released UUID: d1b17a1f-b8db-4cef-9bfa-e4a0ad5deb75
2026-10-14T15:57:36.261643599Z 172.17.0.3 - - [14/Oct/2026 15:57:36] "GET /static/favicons/favicon.ico?v=1791791523-12014 HTTP/1.1" 200 -
2026-10-14T15:57:36.348063521Z 2026-10-14 15:57:36.346 | DEBUG    | changedetectionio.realtime.socket_server:handle_connect:393 - Socket.IO: Sent initial queue size 0 to new client
2026-10-14T15:57:36.356077232Z 2026-10-14 15:57:36.355 | DEBUG    | changedetectionio.realtime.socket_server:handle_connect:401 - Socket.IO: Sent initial checking_now 1 to new client
2026-10-14T15:57:36.356953698Z 2026-10-14 15:57:36.356 | INFO     | changedetectionio.realtime.socket_server:handle_connect:405 - Socket.IO: Client connected
2026-10-14T15:57:37.414465937Z 2026-10-14 15:57:37.413 | DEBUG    | changedetectionio.processors.text_json_diff.processor:run_changedetection:639 - Watch UUID 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 content check - Previous MD5: acfbc9b680d9058ba2f72ac590fe227d, Fetched MD5 acfbc9b680d9058ba2f72ac590fe227d
2026-10-14T15:57:37.418700236Z 2026-10-14 15:57:37.417 | DEBUG    | changedetectionio.worker:async_update_worker:427 - Processing watch UUID: 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 - xpath_data length returned empty.
2026-10-14T15:57:37.426005882Z 2026-10-14 15:57:37.425 | DEBUG    | changedetectionio.model:commit:681 - Committed watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 to 33ea6eca-e820-4f9a-b5d3-c2e37d26e224/watch.json
2026-10-14T15:57:37.436757338Z 2026-10-14 15:57:37.435 | DEBUG    | changedetectionio.model.Watch:_brotli_save:83 - Starting brotli streaming compression of 34429 bytes.
2026-10-14T15:57:37.456646029Z 2026-10-14 15:57:37.455 | DEBUG    | changedetectionio.model.Watch:_brotli_save:109 - Finished brotli compression - From 34429 to 5096 bytes.
2026-10-14T15:57:37.459620460Z 2026-10-14 15:57:37.458 | DEBUG    | changedetectionio.model.Watch:history:518 - Reading watch history index for 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:37.464233532Z 2026-10-14 15:57:37.463 | DEBUG    | changedetectionio.worker:async_update_worker:634 - UUID: 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 Page <title> is 'Hacker News'
2026-10-14T15:57:37.471016033Z 2026-10-14 15:57:37.469 | DEBUG    | changedetectionio.model:commit:681 - Committed watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 to 33ea6eca-e820-4f9a-b5d3-c2e37d26e224/watch.json
2026-10-14T15:57:37.508347448Z 2026-10-14 15:57:37.507 | DEBUG    | changedetectionio.worker:async_update_worker:707 - Worker 0 completed watch 33ea6eca-e820-4f9a-b5d3-c2e37d26e224 in 9.51s
2026-10-14T15:57:37.509117789Z 2026-10-14 15:57:37.508 | DEBUG    | changedetectionio.worker_pool:release_uuid_from_processing:325 - Worker 0 released UUID: 33ea6eca-e820-4f9a-b5d3-c2e37d26e224
2026-10-14T15:57:46.628143486Z 2026-10-14 15:57:46.627 | INFO     | changedetectionio.realtime.socket_server:handle_disconnect:411 - Socket.IO: Client disconnected