Skip to content

Commit 7d2cdc3

Browse files
committed
refactor: simplify notification dismissal logic and remove unused baseline tracking
1 parent 6e65746 commit 7d2cdc3

1 file changed

Lines changed: 0 additions & 37 deletions

File tree

plugins/Notification/NotificationPlugin.py

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,6 @@ def actionNotificationQuery(self, to):
165165
else:
166166
count = 0
167167

168-
# Subtract dismissed count baseline so only new items show
169-
dismissed_counts = site_data.get("notification_dismissed_count", {})
170-
baseline = dismissed_counts.get(name, 0)
171-
count = max(0, count - baseline)
172-
173168
result_entry = {
174169
"site": address,
175170
"title": title,
@@ -223,42 +218,10 @@ def actionNotificationQuery(self, to):
223218
})
224219

225220
def _dismissNotification(self, site_address, name):
226-
"""Snapshot current query count as baseline so only new items trigger alerts."""
227-
from Site import SiteManager
228-
229221
site_data = self.user.getSiteData(site_address)
230222
if "notification_dismissed" not in site_data:
231223
site_data["notification_dismissed"] = {}
232224
site_data["notification_dismissed"][name] = int(time.time() * 1000)
233-
234-
# Store current raw count as baseline
235-
if "notification_dismissed_count" not in site_data:
236-
site_data["notification_dismissed_count"] = {}
237-
subscriptions = site_data.get("notifications", {})
238-
query_set = subscriptions.get(name)
239-
if query_set:
240-
try:
241-
site = SiteManager.site_manager.get(site_address)
242-
if site and site.storage.has_db:
243-
query_raw, params = query_set
244-
query = query_raw
245-
if params:
246-
query_params = map(helper.sqlquote, params)
247-
query = query.replace(":params", ",".join(query_params))
248-
if "{xid_directory}" in query:
249-
xid_dir = self.user.getUserDirectory(site_address)
250-
if xid_dir:
251-
query = query.replace("{xid_directory}", xid_dir)
252-
if "{last_seen}" in query:
253-
query = query.replace("{last_seen}", "0")
254-
res = site.storage.query(query)
255-
row = next(res, None)
256-
if row:
257-
row = dict(row)
258-
site_data["notification_dismissed_count"][name] = row.get("count", row.get("COUNT(*)", 0))
259-
except Exception as err:
260-
self.log.error("Dismiss count snapshot error: %s" % err)
261-
262225
self.user.save()
263226

264227
# Dismiss (mark as seen) notifications for a site

0 commit comments

Comments
 (0)