diff --git a/changedetectionio/blueprint/watchlist/templates/watch-overview-single-row.html b/changedetectionio/blueprint/watchlist/templates/watch-overview-single-row.html index e1f26696f..cddcfe7e3 100644 --- a/changedetectionio/blueprint/watchlist/templates/watch-overview-single-row.html +++ b/changedetectionio/blueprint/watchlist/templates/watch-overview-single-row.html @@ -11,6 +11,9 @@ {%- set checking_now = is_checking_now(watch) -%} {%- set history_n = watch.history_n -%} {%- set favicon = watch.get_favicon_filename() -%} + {# Resolved once per row: each read re-validates the URL and, for a Jinja2 templated + URL, builds a fresh sandboxed environment - see validate_url.py #} + {%- set open_link = watch.open_link -%} {%- set error_texts = watch.compile_error_texts(has_proxies=has_proxies) -%} {%- set system_use_url_watchlist = datastore.data['settings']['application']['ui'].get('use_page_title_in_list') -%} {# Class settings mirrored in changedetectionio/static/js/realtime.js for the frontend #} @@ -48,7 +51,7 @@
{% if 'favicons_enabled' not in ui_settings or ui_settings['favicons_enabled'] %}
- + {# Intersection Observer lazy loading: store real URL in data-src, load only when visible in viewport #} Favicon thumbnail  +   {%- for watch_tag_uuid, watch_tag in datastore.get_all_tags_for_watch(watch['uuid']).items() -%} diff --git a/changedetectionio/notification_service.py b/changedetectionio/notification_service.py index e54174d18..d288f6c9a 100644 --- a/changedetectionio/notification_service.py +++ b/changedetectionio/notification_service.py @@ -351,7 +351,7 @@ def set_basic_notification_vars(current_snapshot, prev_snapshot, watch, triggere 'triggered_text': triggered_text, 'uuid': watch.get('uuid') if watch else None, 'watch_url': watch.get('url') if watch else None, - 'watch_open_url': watch.open_link if watch else None, + 'watch_open_url': (watch.open_link_override or watch.get('url')) if watch else None, 'watch_uuid': watch.get('uuid') if watch else None, 'watch_mime_type': watch.get('content-type') } @@ -513,7 +513,7 @@ Thanks - Your omniscient changedetection.io installation. if 'notification_urls' in n_object: n_object.update({ 'watch_url': watch['url'], - 'watch_open_url': watch.open_link, + 'watch_open_url': watch.open_link_override or watch['url'], 'uuid': watch_uuid, 'screenshot': None }) @@ -563,7 +563,7 @@ Thanks - Your omniscient changedetection.io installation. if 'notification_urls' in n_object: n_object.update({ 'watch_url': watch['url'], - 'watch_open_url': watch.open_link, + 'watch_open_url': watch.open_link_override or watch['url'], 'uuid': watch_uuid }) self.notification_q.put(n_object)