6673 Commits

Author SHA1 Message Date
Jamie Rees
c28de8820a
Merge pull request #5320 from Ombi-app/test-season-fix 2026-02-02 21:02:03 +00:00
tidusjar
a8fe9e67c0 space 2026-02-02 20:51:11 +00:00
tidusjar
5c4ef9c69c undo 2026-02-02 20:50:57 +00:00
Jamie Rees
ec46c40e1e
Merge pull request #5322 from Ombi-app/issue-5288-fix 2026-02-02 20:50:09 +00:00
tidusjar
63b284e4bb undo 2026-02-02 20:49:48 +00:00
Jamie Rees
ca74dde17b
Merge pull request #5321 from Ombi-app/issue-5287-fix 2026-02-02 20:48:54 +00:00
tidusjar
59caa764b5 undo 2026-02-02 20:48:37 +00:00
Jamie Rees
e684318506
Merge branch 'develop' into issue-5288-fix 2026-02-02 20:47:04 +00:00
tidusjar
ce7a5ebb58 Merge branch 'develop' into issue-5287-fix 2026-02-02 20:46:22 +00:00
Jamie
9adb2ed4ef fix: Correct EmbyHelper app.emby.media path detection
Fixes failing test EmbyHelper_GetMediaUrl_AppEmbyMedia_UsesCorrectHashFormat.

The check was using && (AND) instead of || (OR), so when a
custom URL explicitly containing 'app.emby.media' was passed,
the path was not being set to 'item' correctly.
2026-02-02 20:40:09 +00:00
Jamie
8009346647 Fix: Use season search when Sonarr has >= episodes than requested
Resolves #5319

Previously, Ombi would fall back to individual episode searches
when Sonarr had more episodes than Ombi requested.
This caused issues with older TV shows where backends don't support
individual episode searches, resulting in silent failures.

Now we do a season search when Sonarr has equal or more episodes
than requested (the common case), which handles incomplete Ombi metadata
and respects user intent for full season requests.
2026-02-02 20:39:33 +00:00
tidusjar
40f9bb6f65 chore: gitignore 2026-02-02 20:38:28 +00:00
Jamie Rees
7e8e05736d
Merge pull request #5323 from Ombi-app/issue-5306-sonarr-cache-fix 2026-02-02 20:32:54 +00:00
Jamie
7a6e8f0b1f Merge develop into issue-5288-fix
Resolved conflict in EmbyHelper.cs by taking develop version
(EmbyHelper changes are part of separate PR #5324)
2026-02-02 19:28:06 +00:00
Jamie Rees
9b2d90894c
Merge branch 'develop' into issue-5306-sonarr-cache-fix 2026-02-02 19:22:59 +00:00
Jamie Rees
fe14148ac6
Merge pull request #5324 from Ombi-app/fix-emby-app-media
fix: Correct EmbyHelper app.emby.media path detection
2026-02-02 19:20:12 +00:00
Jamie
1e4d3f8fe0 fix: Correct EmbyHelper app.emby.media path detection
Fixes #5312 - Wrong Emby Web URL generated by Ombi

The /web/index.html path causes 404 errors on app.emby.media.
Now properly handles both explicit app.emby.media URLs and default case.

Changes:
- app.emby.media URLs omit /web/index.html (e.g., https://app.emby.media/#!/item?id=1)
- Custom Emby server URLs still include /web/index.html (e.g., http://google.com/web/index.html#!/item?id=1)
- Default URL (no custom server) also uses app.emby.media format without /web/index.html
- Updated test expectations to match fix
2026-02-02 19:09:32 +00:00
Jamie
89b8c5255b fix: SonarrSync now deletes episodes per-series to prevent incomplete cache
Fixes #5306 - Sonarr items are not showing as available

Root cause:
SonarrSync was deleting ALL episodes from SonarrEpisodeCache at the start of
the job, then re-adding them one series at a time. If the job failed
partway through (API timeout, network issue, etc.), the cache would be
left incomplete with only some series' episodes. This caused shows to be
incorrectly marked as unavailable.

Changes:
- Moved DELETE FROM SonarrEpisodeCache inside the series loop
- Now deletes episodes per series (by TvDbId) before adding new ones
- If job fails mid-way, cache for already-processed series remains intact

This ensures that partial failures don't result in completely empty cache.
2026-02-02 18:55:16 +00:00
Jamie
88b52159e7 fix: Correct EmbyHelper app.emby.media path detection
Fixes failing test in PR #689 - EmbyHelper_GetMediaUrl_AppEmbyMedia_UsesCorrectHashFormat

The test expected app.emby.media URLs to NOT include /web/index.html,
but the helper was always adding it for all URLs.

Changes:
- app.emby.media URLs now omit /web/index.html (e.g., https://app.emby.media/#!/item?id=1)
- Custom Emby server URLs still include /web/index.html (e.g., http://google.com/web/index.html#!/item?id=1)
- Default URL (no custom server) now also uses app.emby.media format without /web/index.html
2026-02-02 18:54:16 +00:00
Jamie
840d740cd0 fix: Correct EmbyHelper app.emby.media path detection
Fixes failing test in PR #689 - EmbyHelper_GetMediaUrl_AppEmbyMedia_UsesCorrectHashFormat

The test expected app.emby.media URLs to NOT include /web/index.html,
but the helper was always adding it for all URLs.

Changes:
- app.emby.media URLs now omit /web/index.html (e.g., https://app.emby.media/#!/item?id=1)
- Custom Emby server URLs still include /web/index.html (e.g., http://google.com/web/index.html#!/item?id=1)
- Default URL (no custom server) now also uses app.emby.media format without /web/index.html
2026-02-02 18:52:54 +00:00
Jamie
40cd1cdbaf Add Denied field to RequestCount API response
Fixes #5288 - Request/count API endpoint: pending field false

Changes:
- Added Denied property to RequestCountModel
- Updated RequestCount method to count denied requests separately
- Fixed pending count to exclude denied requests
- Denied requests are now properly tracked and not included in pending

This fixes the issue where denied requests were being counted as pending
in the API response, which affected third-party tools like Homepage.
2026-02-02 18:39:56 +00:00
Jamie
ae3648aba2 Fix NullReferenceException in PlexUserImporter
Fixes #5287 - Issue importing users from Plex

The ImportAdmin method was calling .Equals() on potentially null
ProviderUserId strings, causing a NullReferenceException when
importing Plex users. Changed to use string.Equals() which
handles nulls properly.

This could occur when:
- ProviderUserId is null for existing users in the database
- plexAdmin.id is null in the Plex API response
2026-02-02 18:33:00 +00:00
Jamie
d16858dbbc fix: Correct EmbyHelper app.emby.media path detection
Fixes failing test EmbyHelper_GetMediaUrl_AppEmbyMedia_UsesCorrectHashFormat.

The check was using && (AND) instead of || (OR), so when a
custom URL explicitly containing 'app.emby.media' was passed,
the path was not being set to 'item' correctly.
2026-02-02 18:09:33 +00:00
Jamie
a2d346ce2c Fix: Use season search when Sonarr has >= episodes than requested
Resolves #5319

Previously, Ombi would fall back to individual episode searches
when Sonarr had more episodes than Ombi requested.
This caused issues with older TV shows where backends don't support
individual episode searches, resulting in silent failures.

Now we do a season search when Sonarr has equal or more episodes
than requested (the common case), which handles incomplete Ombi metadata
and respects user intent for full season requests.
2026-02-02 18:01:03 +00:00
Jamie
bb6300fe98 fix: Add missing using System to EmbyHelper
Fixes compilation error where StringComparison enum was not found
because namespace System was not imported.
2026-02-02 18:00:52 +00:00
contrib-readme-bot
d32690f4df chore: 👥 Updated Contributors [skip ci] 2026-02-01 23:50:45 +00:00
Jamie
8456a0a6de Fix Emby URL format for app.emby.media
- Use #!/item instead of #!/details when targeting app.emby.media
- Fixes issue #5312 where URLs with #!/details path return 404
- Add unit test to verify correct format

Co-authored-by: Jamie <jamie@tidusjar.com>
2026-02-01 23:50:31 +00:00
Jamie
6b608fe19f Fix Emby URL format for app.emby.media
- Use #!/item instead of #!/details when targeting app.emby.media
- Fixes issue #5312 where URLs with #!/details path return 404
- Add unit test to verify correct format

Co-authored-by: Jamie <jamie@tidusjar.com>
2026-02-01 23:40:52 +00:00
Conventional Changelog Action
e24088e380 chore(release): 🚀 v4.54.1 [skip ci] v4.54.1 2026-01-10 22:05:28 +00:00
contrib-readme-bot
26de71653b chore: 👥 Updated Contributors [skip ci] 2026-01-10 22:03:47 +00:00
tidusjar
8af1d678ac fix(availability): Make sure we check radarr/sonarr in the availability rules for it's prioritization #5286 2026-01-10 22:03:35 +00:00
Jamie Rees
08a6aa73d2
Merge pull request #5285 from GodKratos/issue/5283 [skip ci]
Resolve inconsistencies in view at 768px screen width for #5283
2026-01-08 21:39:48 +00:00
Conventional Changelog Action
e8ec50a055 chore(release): 🚀 v4.54.0 [skip ci] v4.54.0 2026-01-08 21:39:10 +00:00
Jamie Rees
33cb5ff70e
Merge pull request #5284 from GodKratos/feature/carousel_runtime_calculation
fix: Feature/carousel runtime calculation
2026-01-08 21:37:13 +00:00
Conventional Changelog Action
1ad7f1f4e0 chore(release): 🚀 v4.53.3 [skip ci] v4.53.3 2026-01-08 21:33:19 +00:00
contrib-readme-bot
c263e3ed6f chore: 👥 Updated Contributors [skip ci] 2026-01-08 21:31:38 +00:00
tidusjar
7da1721a55 fix: small fix to search by decade 2026-01-08 21:31:27 +00:00
Jamie Rees
fa9bd1ab67
Merge pull request #5305 from Crosenhain/decades [skip ci]
Search by decade
2026-01-08 21:27:45 +00:00
Conventional Changelog Action
736db42b2c chore(release): 🚀 v4.53.2 [skip ci] v4.53.2 2026-01-08 21:11:02 +00:00
tidusjar
8f3f87a189 fix(availability): Ensure that when Radarr/Sonarr has priority, stick to it #5286 2026-01-08 21:09:12 +00:00
Conventional Changelog Action
d2e5bbcd9c chore(release): 🚀 v4.53.1 [skip ci] v4.53.1 2026-01-08 20:28:24 +00:00
contrib-readme-bot
5ae3e6bf30 chore: 👥 Updated Contributors [skip ci] 2026-01-08 20:25:38 +00:00
tidusjar
d3d1d380d5 fix(radarr/sonarr): 🐛 Sanitize usernames when adding them as tags to Radarr/Sonarr #5307 2026-01-08 20:25:25 +00:00
Chris Rosenhain
d816311171 Search by decade 2025-12-06 15:35:25 +10:30
Conventional Changelog Action
414052a0e1 chore(release): 🚀 v4.53.0 [skip ci] v4.53.0 2025-11-06 22:43:15 +00:00
Jamie Rees
c6b7512245
feat(availability): Add the option for the *arr to take media availability priority
feat(availability):  Add the option for the *arr to take media availability priority
2025-11-06 22:41:27 +00:00
Conventional Changelog Action
8215fdc098 chore(release): 🚀 v4.52.0 [skip ci] v4.52.0 2025-11-06 22:39:26 +00:00
contrib-readme-bot
0bda11c768 chore: 👥 Updated Contributors [skip ci] 2025-11-06 22:36:34 +00:00
Jamie Rees
ffb0303639
feat(watchlist): add the ability to force a recheck on plex watchlist failed users
Feature/add force recheck watchlist
2025-11-06 22:36:25 +00:00
tidusjar
d43a2e4efc feat(availability): Add the option for the *arr to take media availability priority
#5286
2025-11-06 22:29:11 +00:00