Commit Graph

2816 Commits

Author SHA1 Message Date
0xsysr3ll
609082c7b3 fix(webpush): rework web push notification status verification logic
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
39e6115467 fix(webpush): ensure the old endpoint is cleared only when necessary
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
85bca35f98 feat(push-subscription): add unique constraint on endpoint and userId
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
48bebaf727 fix(webpush): only remove the current browser's subscription
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
91d202fcca fix(webpush): remove error throw
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
6d3db3d596 fix(webpush): ensure the local storage reflects the correct notification status
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
d60b75adf4 refactor(webpush): remove redundant checks
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
af75e717f4 refactor(webpush): remove redundant try-catch
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
306582e87f fix(webpush): throw error after notification failure
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
7ff0a8c040 fix(webpush): notification must reflect the actual outcome
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
be5bdc9975 fix(webpush): remove backend checks
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
20d53a6a3e fix(webpush): delete push subscriptions for multiple devices
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
1fb296d64b fix(webpush): remove redundant backend subscription checks
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
9263f2f4b5 fix(webpush): remove unnecessary dependency for user ID verification
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
3d1083279c fix(webpush): update localStorage handling for push notification status
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
337882515f fix(webpush): update existing subscriptions with new keys only if the endpoint matches and the auth differs
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
431fa6ba98 fix(webpush): remove the redundant userId check
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
002b769f3f fix(webpush): add user ID validation to push subscription verification
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
a8307e9118 refactor(webpush): Remove nested error checks
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
0de2ed2086 fix(webpush): add backend subscription check to determine if a valid push subscription exists.
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
7fabd0b1c0 fix(webpush): store push notification status in localStorage
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
37cc665706 fix(webpush): use transaction for race condition prevention
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
2fb742e2a3 fix(webpush): preserve original creation timestamp when updating subscriptions
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
2822240d0f fix(webpush): cleanup is too agressive - avoid removing active subscriptions
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
d79a91e556 fix(webpush): clean up stale push subscriptions for the same device
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
bc5d441047 fix(webpush): update existing subscriptions with new keys
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
b560e50d85 fix(webpush): add logs for AggregateError error
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
381d82488e fix(webpush): improve push notification error handling
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
0xsysr3ll
3f899f5e76 fix(webpush): improve iOS push subscription endpoint cleanup
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-12-17 18:18:36 +01:00
fallenbagel
3ee69663dc fix(local-login): remove automatic plex linking and reduce logout log verbosity (#2225)
Removed redundant Plex user discovery logic that applies to all media servers currently. This is now
handled explicitly via linked accounts settings page. Also changed the successful logout log level
from info to debug since its routine behaviour
2025-12-15 19:44:43 +08:00
Ludovic Ortega
539d49879d chore: fix translate badge svg url (#2228)
* chore: fix translate badge svg url

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

* fix: use https instead of http

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

---------

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2025-12-14 05:37:36 +08:00
RolliePollie18
15356dfe49 fix(jellyfin-scan): reduce jellyfin API calls during recently added scan (#2205)
* fix(jellyfin scanner): reduce jellyfin API calls during recently added scan

Significantly reduce number of API calls, addressing CPU spikes on Jellyfin 10.10+ servers.- Move
getSeasons() call outside the seasons loop (N calls to 1)- Request MediaSources via getEpisodes()
field parameter instead of  individual getItemData() calls per episode (N calls to 1 per season)
Performance improvements (tested on library with 12 TV shows):- Scan duration: 43.7s to 9.1s - Peak
CPU: 277% to 115% - CPU spike duration: 36s to 2s Functionality is unchanged, all availability
statuses identicalbefore and after.

* fix: add getEpisodes overloads to remove unsafe type assertion

* refactor(jellyfin): use generics instead of overloads

---------

Co-authored-by: patrick-acland <patrick.acland@kraken.tech>
2025-12-09 22:20:47 +08:00
fallenbagel
1f04eeb040 fix: disable automatic auth revalidation on auth pages (#2213)
* fix: disable automatic auth revalidation on auth pages

Prevents unnecessary `/api/v1/auth/me` requests on login, setup, and password reset pages.

fix #738

* fix: update regex to include resetpassword guid & add missing condition in refreshInterval
2025-12-09 13:17:17 +01:00
Thibaut Noah
e3028c21f2 docs: add webpush related troubleshooting steps (#2170)
* Update troubleshooting.mdx

Add potential fixes for users who fail to enable their web push notifications

* Update docs/troubleshooting.mdx

Modify appName syntax for better coding norm

Co-authored-by: Gauthier <mail@gauthierth.fr>

* refactor: apply suggestions from review comments

Co-authored-by: Gauthier <mail@gauthierth.fr>

* docs(troubleshooting): fix typos in troubleshooting doc page

---------

Co-authored-by: Gauthier <mail@gauthierth.fr>
Co-authored-by: fallenbagel <98979876+fallenbagel@users.noreply.github.com>
2025-12-09 08:49:42 +00:00
Gauthier
9d8b343790 chore(deps): update all non-major dependencies (#2188)
Update all non-major dependencies. Modifications in `src` files are there to fix linting issues.
2025-12-09 09:40:35 +01:00
fallenbagel
f4fe16608a fix(jellyfin-api): use standard Authorization header (#2211)
Replace X-Emby-Authorization with Authorization header to fix authentication failures when users
have <EnableLegacyAuthorization>false</EnableLegacyAuthorization> in their Jellyfin system.xml.
2025-12-08 15:46:47 +01:00
Ludovic Ortega
d660a540da chore(helm): prepare for release (#2189)
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2025-12-07 17:22:28 +01:00
Ludovic Ortega
48ef2984e5 docs: fix chown command for windows users (#2192)
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2025-12-03 14:39:03 +01:00
Disparate2761
c5fc31c352 docs(buildfromsource): touch up path inconsistencies (#2184) 2025-12-01 14:57:01 +01:00
Ludovic Ortega
c3b9ea6ce4 chore: improve PR template (#2175) 2025-11-28 13:05:47 +01:00
Ludovic Ortega
b66b36186a docs: update weblate links (#2168)
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2025-11-22 23:29:35 +01:00
Ludovic Ortega
fb5196bdec chore: remove CHANGELOG.md (#2169) 2025-11-22 23:05:42 +01:00
0xsysr3ll
bde322de8e fix(override-rules): show correct genres for both *arr services (#2155) 2025-11-21 22:24:14 +01:00
Gauvain
af083a3cd5 chore: rebrand from Jellyseerr to Seerr across project (#2116) 2025-11-18 22:51:20 +01:00
Ludovic Ortega
f4af6ed5f4 docs: add migration guide (#2069) 2025-11-18 11:12:50 +01:00
0xsysr3ll
267450a297 docs: update AI assistance notice link in pull request template (#2154)
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-11-14 16:56:30 +01:00
0xsysr3ll
939000fbe4 ci: update Docker Hub image references in CI workflows (#2153)
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-11-14 16:36:38 +01:00
James Kruger
08800c7cf3 docs: update Kubernetes installation documentation for Seerr (#2126) 2025-11-14 10:57:44 +01:00
0xsysr3ll
2fe72530a2 fix(docker): pass COMMIT_TAG to build stage for custom image builds (#2146)
This PR fixes the issue where custom images built with `--build-arg COMMIT_TAG` would fail because the client bundle didn't receive the commit tag value.

Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me>
2025-11-12 22:50:25 +01:00
Ludovic Ortega
6dcae346f9 fix(docker): casing in dockerfile (#2141) 2025-11-11 17:00:31 +00:00