From 57764fe21f1e28d56459a96aeedb21fdd622bbca Mon Sep 17 00:00:00 2001 From: Chris Fulljames Date: Sat, 2 Aug 2025 17:26:53 -0400 Subject: [PATCH] Only delete notification subs for HTTP 410 --- src/littlesongplace/push_notifications.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/littlesongplace/push_notifications.py b/src/littlesongplace/push_notifications.py index dd4aa73..53cf134 100644 --- a/src/littlesongplace/push_notifications.py +++ b/src/littlesongplace/push_notifications.py @@ -199,9 +199,12 @@ def _do_push(app, userids, title, body, url, setting): sent_notifications += 1 except pywebpush.WebPushException as ex: # Failed to send notification, delete this subscription - app.logger.warning(f"Deleting dead push subscription: {subid} - {ex}") - db.query("DELETE FROM users_push_subscriptions WHERE subid = ?", [subid]) - db.commit() + if (ex.response is not None) and (ex.response.status_code == 410): + app.logger.warning(f"Deleting dead push subscription: {subid} - {ex}") + db.query("DELETE FROM users_push_subscriptions WHERE subid = ?", [subid]) + db.commit() + else: + app.logger.warning(f"Failed to send push subscription: {subid} - {ex}") if sent_notifications > 0: app.logger.info(f"Pushed {sent_notifications} notifications") -- 2.39.5