This repository was archived by the owner on Feb 15, 2026. It is now read-only.
fix: add push subscription verification and resubscribe logic#4163
Merged
fix: add push subscription verification and resubscribe logic#4163
Conversation
refactor: added comments for verification
refactor: rename variable for clarity
overseerr
|
||||||||||||||||||||||||||||
| Project |
overseerr
|
| Branch Review |
refs/pull/4163/merge
|
| Run status |
|
| Run duration | 02m 23s |
| Commit |
|
| Committer | Brandon Cohen |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
28
|
| View all changes introduced in this branch ↗︎ | |
7415ccc to
016a6f9
Compare
refactor: move one line of code fix: add dependency in serviceworker
73678eb to
c692446
Compare
fix: add lock icon for better clarity fix: add i18n language
c692446 to
d1b8ea9
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR improves Web Push subscription management by introducing logic to verify the existing subscription and, if necessary, resubscribe with updated keys and endpoints.
- Added helper functions for verifying, subscribing, unsubscribing, and resubscribing push notifications.
- Updated UI components to reflect changes in push subscription state and actions, and integrated new backend communications.
- Enhanced the service worker setup to verify and refresh subscriptions based on current settings and notification permissions.
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/pushSubscriptionHelpers.ts | Added functions to verify, subscribe, and unsubscribe push notifications with resubscribe logic. |
| src/i18n/locale/en.json | Added translation for active push subscription status. |
| src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush/index.tsx | Updated push notification enable/disable flows with the new helper functions and additional state handling. |
| src/components/UserProfile/UserSettings/UserNotificationSettings/UserNotificationsWebPush/DeviceItem.tsx | Modified UI logic to disable deletion for the active subscription and updated action handlers. |
| src/components/ServiceWorkerSetup/index.tsx | Integrated verification and resubscription logic during service worker setup, including handling of notification permissions. |
7a13cad to
4863034
Compare
refactor: move from consoles to throws refactor: add error to throw refactor: remove unnecessary if statement
4863034 to
adb45fc
Compare
sct
approved these changes
Jun 27, 2025
OwsleyJr
added a commit
that referenced
this pull request
Oct 8, 2025
* fix: verify webpush through the service worker * fix: prevent permissions check outside of settings * fix: do not resubscribe if no subscription exists refactor: added comments for verification * fix: prevent multiple backend calls refactor: rename variable for clarity * fix: subscriptions deleting properly refactor: move one line of code fix: add dependency in serviceworker * fix: prevent deletion of active subscription fix: add lock icon for better clarity fix: add i18n language * fix: convert subscription to json more reliably refactor: move from consoles to throws refactor: add error to throw refactor: remove unnecessary if statement * refactor: add push subscription function finder * fix: push active subscription to the top
ThePharmer
pushed a commit
to ThePharmer/requesterr
that referenced
this pull request
Nov 12, 2025
Syncs fork with upstream Overseerr develop branch, bringing in 18 bug fixes and improvements from commits 4cc3495..5ef098f. Key upstream improvements merged: - fix(api): update Plex Watchlist URL (sct#4220) - fix: add flag in local storage for notifications (sct#4180) - fix: add push subscription verification and resubscribe logic (sct#4163) - fix: better handling for active webpush subscription (sct#4146) - fix: handle partial seasons more reliably (sct#4116) - refactor(MediaRequest): consolidate lifecycle hooks (sct#4124) - Multiple webpush notification improvements - Media entity cascade fixes - Various UI and request handling fixes Conflicts resolved: - README.md: Preserved Requesterr fork branding and attribution All Requesterr branding (translations, CSS classes, settings) remains intact.
|
🎉 This PR is included in version 1.35.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces a new flow that improves how we manage Web Push subscriptions. Previously, subscriptions were created but there was no verification or refresh logic whenever the endpoint/keys expire.
With this update:
We now verify the existing subscription’s endpoint and VAPID key against what the backend expects.
If the subscription is invalid or missing, we unsubscribe from the backend and generate a new subscription.
Screenshot (if UI-related)
N/A
To-Dos
yarn buildyarn i18n:extract