fix: broaden push notification error handling to clear invalid subscriptions more effectively
Some checks failed
Build MIPS Binary / build (push) Failing after 1m5s

This commit is contained in:
spinline
2026-02-13 12:41:11 +03:00
parent 0dd97f3d7e
commit 83feb5a5cf

View File

@@ -201,10 +201,11 @@ pub async fn send_push_notification(
} }
} }
Err(e) => { Err(e) => {
tracing::error!("Failed to build push message: {}", e); let err_msg = format!("{:?}", e);
// Specific handling for encryption errors - often means invalid keys tracing::error!("Failed to build push message for {}: {}", subscription.endpoint, err_msg);
if format!("{:?}", e).contains("encrypting") { // Broaden error matching to catch various encryption and auth failures
tracing::warn!("Encryption error for subscriber {}, removing suspect subscription", subscription.endpoint); if err_msg.contains("encrypting") || err_msg.contains("Vapid") || err_msg.contains("Unauthorized") {
tracing::warn!("Critical push error for subscriber {}, removing invalid subscription", subscription.endpoint);
let _ = store.remove_subscription(&subscription.endpoint).await; let _ = store.remove_subscription(&subscription.endpoint).await;
} }
} }