adis veletanlic
63175f52ce
feat(notifications): support multiple Discord IDs ( #2712 )
2026-06-01 15:00:06 +02:00
renovate[bot]
26283c0fe5
chore(deps): update dependency @types/mime to v4 ( #2946 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 02:19:35 +08:00
fallenbagel
2588e49ac6
fix(watchlistsync): re-request deleted media from watchlist ( #3072 )
2026-05-25 20:15:04 +02:00
Gauthier
4ed29cf1c5
fix: update series status to partially available when seasons are missing ( #3044 )
2026-05-25 03:08:56 +08:00
Felix Schneider
a8f147d083
feat(notification): add support for public seerr logo in email ( #3036 )
2026-05-18 11:21:25 +02:00
Blake L.
9b7b50bff6
feat: add plex media ratingKey and ratingKey4k to webhook payload and… ( #1812 )
2026-05-07 02:12:17 +08:00
fallenbagel
9c34864ce6
fix(availability-sync): detect deleted seasons when media server retains empty season metadata ( #2850 )
2026-05-03 17:22:55 +02:00
fallenbagel
198e4e5953
fix(scanners): reset orphaned processing media from deleted Radarr/Sonarr entries ( #2757 )
2026-05-02 22:51:39 +02:00
fallenbagel
ce51f6a83c
fix(scanners): ignore unknown seasons in availability rollup and skip empty placeholder seasons ( #2958 )
2026-05-03 04:37:41 +08:00
Gauthier
377bf65628
fix(ntfy): remove undefined fields from ntfy payload ( #2931 )
2026-04-24 09:51:42 +02:00
fallenbagel
cd257bad2a
feat(i18n): add server-side i18n for notification agents ( #2731 )
2026-04-17 19:39:59 +08:00
fallenbagel
66130beded
fix(settings): persist new settings defaults to disk on startup ( #2884 )
2026-04-15 16:42:36 +02:00
0xsysr3ll
ff469cb6d7
feat(settings): add blocklist region and language options ( #1802 )
2026-04-15 16:42:52 +08:00
0xsysr3ll
15b31093c0
fix(auth): resolve Plex OAuth client ID mismatch ( #2746 )
2026-04-14 18:35:29 +08:00
Gauthier
9c4c674dc9
chore(deps): fix axios security vulnerability ( #2872 )
2026-04-14 00:19:13 +08:00
fallenbagel
43eff257e1
fix(overseerr-merge): sanitise corrupt quota values during overseerr migration ( #2863 )
2026-04-12 17:37:32 +02:00
Ludovic Ortega
2432e8dd7b
feat(webhook): add imdbid to webhook notification ( #2658 )
...
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr >
2026-04-08 22:41:42 +02:00
v3DJG6GL
77f2c13cfb
feat(notifications): add ntfy markdown formatting ( #2602 )
2026-04-04 17:51:41 +08:00
fallenbagel
685cb449b1
refactor(watchlistsync): log media request creation after success instead of before ( #2790 )
2026-04-01 15:07:34 +02:00
fallenbagel
036d000f26
refactor(imageproxy): reduce noisy image cache logging ( #2789 )
2026-04-01 14:40:14 +02:00
Angelo Olivera
865396fd28
fix(watchlist-sync): handle empty watchlists on PostgreSQL ( #2718 )
2026-03-23 18:55:40 +05:00
YakGravity
10f23f009d
fix(jellyfin-scanner): add TheMovieDb provider fallback for Jellyfin scanner ( #2605 )
2026-03-17 16:18:43 +01:00
Michael Thomas
36243a0deb
chore: upgrade to eslint v9 ( #2574 )
2026-03-16 21:12:30 +05:00
fallenbagel
6c52a2f3ad
fix(settings): serialize settings writes and prevent partial overwrites ( #2696 )
2026-03-16 11:29:41 +01:00
fallenbagel
0be18968b4
fix: disambiguate tmdb ids by media type across lookups ( #2577 )
2026-03-14 23:47:21 +05:00
Jerra94
ff4ab21a9e
feat(webhook): add jellyfinMediaId and jellyfinUserId to webhook notification ( #1959 )
2026-03-06 12:04:13 +01:00
0xsysr3ll
3152f727ef
feat(notifications): webhook custom headers ( #2230 )
...
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me >
2026-03-05 15:23:47 +05:00
fallenbagel
9ec3d585d1
fix(email): correctly classify final MIME header in PGP email encryption ( #2618 )
2026-03-04 03:17:56 +05:00
fallenbagel
61e0377361
feat(notifications): add priority setting for ntfy agent ( #2306 )
2026-03-02 04:37:57 +05:00
fallenbagel
5c34c91257
feat(sonarr): add monitorNewItems option to sonarr settings & modal ( #2071 )
2026-02-28 02:08:44 +05:00
ventiph
a2d1e1b06f
refactor(notifications): move event from author to title field in Discord Embed ( #2119 )
2026-02-28 01:48:11 +05:00
fallenbagel
3bcb4da1e5
feat(servarr-api): make Servarr API request timeout configurable ( #2556 )
2026-02-23 00:32:31 +01:00
fallenbagel
5013d1d54d
fix(sonarr): use configured metadata provider for season filtering ( #2516 )
2026-02-22 18:13:39 +01:00
fallenbagel
68f56d2035
fix(jellyfin-scanner): include unmatched seasons in processable seasons ( #2538 )
2026-02-21 06:51:02 +05:00
fallenbagel
7c60a5c3c5
fix(plex-scanner): add TVDb to TMDB fallback in plex scanner ( #2537 )
2026-02-20 22:48:52 +01:00
fallenbagel
9da8bb6dea
fix: preserve blocklist on media deletion & optimise watchlist-sync ( #2478 )
2026-02-18 21:23:50 +01:00
fallenbagel
e0e4b6f512
fix(watchlist-sync): correct permission typo for TV auto requests ( #2488 )
2026-02-18 15:23:20 +01:00
Conlan Kreher
33a5d9a9ac
refactor: rename blacklist to blocklist ( #2157 )
...
Signed-off-by: 0xsysr3ll <0xsysr3ll@pm.me >
Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com >
Co-authored-by: 0xsysr3ll <0xsysr3ll@pm.me >
Co-authored-by: gauthier-th <mail@gauthierth.fr >
2026-02-14 14:31:45 +01:00
fallenbagel
15be3d7475
fix(base-scanner): derive media availability from actual season state… ( #2412 )
2026-02-13 23:05:59 +05:00
Gauthier
3eea8ee98e
fix(watchlist): remove error log when a media from the watchlist is blacklisted ( #2407 )
2026-02-12 13:16:56 +05:00
0xsysr3ll
e3dc1c302d
fix(webpush): avoid querying push subs with empty user list ( #2380 )
2026-02-09 15:34:13 +01:00
fallenbagel
8b41685b31
chore(deps): upgrade prettier, and tailwind ( #2351 )
2026-01-29 07:48:34 +01:00
fallenbagel
ddf347994a
chore(deps): update dependencies and fix security vulnerabilities ( #2342 )
...
* chore(deps): update dependencies and fix security vulnerabilities
Update TypeScript 4.9 → 5.4. Update Zod 3 → 4. Update nodemailer 6 → 7. Update @typescript-eslint
packages to v7. Update xml2js, undici, lodash, axios, swr, winston- Add pnpm.overrides for
transitive dependency vulnerabilities
* chore: fix import ordering for TypeScript 5.4 compatibility
prettier-plugin-organize-imports behaves differently with TypeScript 5.4 vs 4.9, causing CI
formatting checks to fail. This reformats imports to match the ordering expected by the plugin with
the upgraded TS version.
2026-01-27 19:00:42 +01:00
fallenbagel
0f7d29624b
fix(availability-sync): handle resolution check for single-server setups ( #2334 )
...
PR #1543 introduced resolution checking to check 4k from non4k media when users have both server
types configured with the same service. Howerver, this causes false deletions for users with only a
single non4k service when radarr upgrades file to 4k resolution. This fix only applies resolution to
checking when both 4k and non4k servers are configured. Otherwise then if file exists then it counts
as available
2026-01-26 20:58:24 +01:00
0xsysr3ll
62755692e9
fix(availability-sync): fix 4K media availability detection ( #2298 )
2026-01-23 12:26:07 +01:00
fallenbagel
bb2120c14d
fix(base-scanner): fix PROCESSING status persisting for unmonitored seasons ( #2311 )
...
BaseScanner's fallthrough logic was preventing unmonitored seasons from
resetting to UNKNOWN status.
fix #2310
2026-01-18 22:32:57 +05:00
Brandon Cohen
48631db989
fix: preserve deleted status when processing movies ( #2066 )
...
* fix: prevent the delete status from changing unless a new request is made"
refactor: remove parent remove change until later date
refactor: remove console log
* fix: add download progress for deleted badge
fix: check if not processing first for movies
* fix: add season pack change
2026-01-17 06:48:14 +05:00
fallenbagel
ac7c2983d3
fix(pushover): prevent notifications when agent is disabled or unconfigured ( #2304 )
2026-01-16 22:39:15 +01:00
fallenbagel
448a25e2a4
fix(availability-sync): prevent incorrect season deletion when media server is unreachable ( #2302 )
2026-01-16 10:47:47 +01:00
fallenbagel
f91a26befe
fix(servarr): replace spaces in arr user tags with - ( #2231 )
...
* fix: sanitize disallowed characters in arr tags
Updates the tag creation to normalize diacritics, replace spaces with hyphens and stip any
non-alphanumeric characters from display name
fix #2229 , fix #1897
* refactor: improve display name sanitization in tag creation
* fix: include displayName in user selection for tag migration
* fix(migrator): retrieve all user fields in tag migration
This is a one time migration so performance is neglible. This should trigger the @AfterLoad hooks
which sets the `displayName`
2026-01-06 03:18:06 +08:00