From: Chris Fulljames Date: Sat, 2 Aug 2025 21:26:53 +0000 (-0400) Subject: Only delete notification subs for HTTP 410 X-Git-Url: https://littlesong.place/gitweb/?a=commitdiff_plain;h=57764fe21f1e28d56459a96aeedb21fdd622bbca;p=littlesongplace.git Only delete notification subs for HTTP 410 --- 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")