Skip to content

fix(imdbRadarrProxy): pass headers and nodeCache as options instead of params#2900

Merged
fallenbagel merged 1 commit into
developfrom
fallenbagel/fix/debug-imdb-rating-proxy
Apr 17, 2026
Merged

fix(imdbRadarrProxy): pass headers and nodeCache as options instead of params#2900
fallenbagel merged 1 commit into
developfrom
fallenbagel/fix/debug-imdb-rating-proxy

Conversation

@fallenbagel
Copy link
Copy Markdown
Member

@fallenbagel fallenbagel commented Apr 17, 2026

Description

The IMDBRadarrProxy constructor was passing { headers, nodeCache } as the second argument to super(), which ExternalAPI treats as axios default query parameters rather than options. This meant that our internal IMDB cache was silently dead (never populated, every request hit the network), and every outbound request to api.radarr.video carried ?headers[...]&nodeCache=[object+Object] tacked on. Since that query string is identical across every Seerr instance everywhere, we were all hitting the same mangled URL on Radarr's CDN and getting back whatever stale response had been cached against that key, which is why ratings could drift out of sync with the canonical endpoint for extended periods.

How Has This Been Tested?

Before the fix, every request from Seerr to api.radarr.video hits a URL with garbage query params appended. You can reproduce the stale response by curling the mangled URL directly:

Mangled URL (what Seerr currently hits) which returns stale cached rating:

curl -s "https://api.radarr.video/v1/movie/imdb/tt36647890?headers%5BContent-Type%5D=application%2Fjson&headers%5BAccept%5D=application%2Fjson&nodeCache=%5Bobject+Object%5D" \
  -H "Accept: application/json" | jq '.[0].MovieRatings.Imdb'
{
  "Count": 203,
  "Value": 4.1,
  "Type": "User"
}

Canonical URL (what we'll hit after the fix) which returns current rating:

curl -s "https://api.radarr.video/v1/movie/imdb/tt36647890" \
  -H "Accept: application/json" | jq '.[0].MovieRatings.Imdb'
{
  "Count": 1683,
  "Value": 3.9,
  "Type": "User"
}

After the fix, hit /api/v1/movie/1470130/ratingscombined on a running instance and confirm imdb.criticsScore matches the canonical curl output (on ui too).

Screenshots / Logs (if applicable)

Checklist:

  • I have read and followed the contribution guidelines.
  • Disclosed any use of AI (see our policy)
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Summary by CodeRabbit

  • Refactor
    • Internal improvements to code organization for better maintainability.

…f params

Constructor was calling super with only two arguments, so configuration
was being set as axios query parameters on every request.
@fallenbagel fallenbagel requested a review from a team as a code owner April 17, 2026 09:59
@fallenbagel fallenbagel added this to the v3.2.1 milestone Apr 17, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 17, 2026

📝 Walkthrough

Walkthrough

Updated the IMDBRadarrProxy constructor initialization by restructuring the super call parameters. Request headers and cache manager configuration are preserved and repositioned from the second argument into a nested third argument structure, addressing an issue with incorrect IMDB ratings.

Changes

Cohort / File(s) Summary
IMDB Proxy Constructor
server/api/rating/imdbRadarrProxy.ts
Refactored the parent class constructor invocation from single config-object form to multi-parameter form (super(url, {}, { ... })). Preserved request headers (Content-Type, Accept) and nodeCache initialization while reorganizing their placement in the parameter structure.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Suggested reviewers

  • gauthier-th
  • 0xSysR3ll

Poem

🐰 A proxy fixed with careful care,
Parameters repositioned with flair,
IMDB ratings now align so true,
No more wrong scores in the queue!
Hop along, the bug's now gone! 🍃

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the fix: changing how headers and nodeCache are passed to the parent constructor in IMDBRadarrProxy.
Linked Issues check ✅ Passed The PR directly addresses issue #2899 by fixing the root cause: headers and nodeCache are now correctly passed as options rather than query parameters, ensuring proper cache population and correct outbound requests.
Out of Scope Changes check ✅ Passed All changes are scoped to the IMDBRadarrProxy constructor call and directly address the reported issue; no unrelated modifications are present.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
server/api/rating/imdbRadarrProxy.ts (1)

159-169: Fix correctly aligns with ExternalAPI constructor signature.

Passing {} as params and moving headers/nodeCache into the third ExternalAPIOptions argument matches the parent constructor (baseUrl, params, options). This will stop the headers=[object Object]&nodeCache=... garbage query string from being appended to requests (which was colliding with Radarr's CDN cache) and will correctly wire up the imdb NodeCache so repeated lookups no longer hit the network.

Minor nit: Content-Type: application/json and Accept: application/json are already applied by ExternalAPI's constructor defaults (see server/api/externalapi.ts:13-54), so the explicit headers block here is redundant and could be dropped for clarity — not a blocker.

🧹 Optional cleanup
     super(
       'https://api.radarr.video/v1',
       {},
       {
-        headers: {
-          'Content-Type': 'application/json',
-          Accept: 'application/json',
-        },
         nodeCache: cacheManager.getCache('imdb').data,
       }
     );
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@server/api/rating/imdbRadarrProxy.ts` around lines 159 - 169, Update the
super(...) call in the imdbRadarrProxy class constructor to match
ExternalAPI(baseUrl, params, options): pass an explicit params object (e.g. {})
as the second argument and move the headers and nodeCache into the third
argument (ExternalAPIOptions) so headers/nodeCache are not serialized into the
query string; optionally remove the redundant headers block since ExternalAPI
already supplies Content-Type/Accept defaults.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@server/api/rating/imdbRadarrProxy.ts`:
- Around line 159-169: Update the super(...) call in the imdbRadarrProxy class
constructor to match ExternalAPI(baseUrl, params, options): pass an explicit
params object (e.g. {}) as the second argument and move the headers and
nodeCache into the third argument (ExternalAPIOptions) so headers/nodeCache are
not serialized into the query string; optionally remove the redundant headers
block since ExternalAPI already supplies Content-Type/Accept defaults.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 32d84d1e-296d-4097-a62b-c45ebeeaa462

📥 Commits

Reviewing files that changed from the base of the PR and between 51cc0dc and 6265e80.

📒 Files selected for processing (1)
  • server/api/rating/imdbRadarrProxy.ts

@fallenbagel fallenbagel enabled auto-merge (squash) April 17, 2026 10:31
@fallenbagel fallenbagel merged commit 7861db4 into develop Apr 17, 2026
17 checks passed
@fallenbagel fallenbagel deleted the fallenbagel/fix/debug-imdb-rating-proxy branch April 17, 2026 10:57
lucianchauvin pushed a commit to lucianchauvin/jellyseerr that referenced this pull request Apr 20, 2026
Copilot AI pushed a commit to NotCavnfox/seerr that referenced this pull request Jun 1, 2026
eleboucher pushed a commit to eleboucher/homelab that referenced this pull request Jun 2, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [seerr/seerr](https://github.com/seerr-team/seerr) | minor | `v3.2.0` → `v3.3.0` |

---

### Release Notes

<details>
<summary>seerr-team/seerr (seerr/seerr)</summary>

### [`v3.3.0`](https://github.com/seerr-team/seerr/releases/tag/v3.3.0)

[Compare Source](seerr-team/seerr@v3.2.0...v3.3.0)

##### [3.3.0](https://github.com/seerr-team/seerr/compare/v3.2.0..v3.3.0) - 2026-06-02

##### 🚀 Features

- *(db)* Add DB\_POOL\_SIZE environment variable for postgres connection pool ([#&#8203;2990](seerr-team/seerr#2990)) - ([f093c69](seerr-team/seerr@f093c69))
- *(i18n)* Add server-side i18n for notification agents ([#&#8203;2731](seerr-team/seerr#2731)) - ([cd257ba](seerr-team/seerr@cd257ba))
- *(notification)* Add support for public seerr logo in email ([#&#8203;3036](seerr-team/seerr#3036)) - ([a8f147d](seerr-team/seerr@a8f147d))
- *(notifications)* Support multiple Discord IDs ([#&#8203;2712](seerr-team/seerr#2712)) - ([63175f5](seerr-team/seerr@63175f5))
- Add plex media ratingKey and ratingKey4k to webhook payload and… ([#&#8203;1812](seerr-team/seerr#1812)) - ([9b7b50b](seerr-team/seerr@9b7b50b))
- Add route to fetch user by jellyfin id ([#&#8203;2074](seerr-team/seerr#2074)) - ([15296a0](seerr-team/seerr@15296a0))
- Filter out "Thanks" credits when looking at a person's credits ([#&#8203;2370](seerr-team/seerr#2370)) - ([d024849](seerr-team/seerr@d024849))

##### 🐛 Bug Fixes

- *(auth)* Drop popup.closed check in Plex pin poll ([#&#8203;2941](seerr-team/seerr#2941)) - ([ce9643c](seerr-team/seerr@ce9643c))
- *(availability-sync)* Detect deleted seasons when media server retains empty season metadata ([#&#8203;2850](seerr-team/seerr#2850)) - ([9c34864](seerr-team/seerr@9c34864))
- *(discover)* Preserve keyword filter input focus after selection ([#&#8203;2962](seerr-team/seerr#2962)) - ([32169d9](seerr-team/seerr@32169d9))
- *(docs)* Enable trailingSlash to prevent 404 flash on direct navigation ([#&#8203;3039](seerr-team/seerr#3039)) - ([df105b8](seerr-team/seerr@df105b8))
- *(docs)* Switch to SWC minimizer to fix broken runtime bundle - ([d88242f](seerr-team/seerr@d88242f))
- *(docs)* Bump openapi docs packages to 5.0.2 ([#&#8203;3027](seerr-team/seerr#3027)) - ([080c68a](seerr-team/seerr@080c68a))
- *(entity)* Set the default value of UpdateDateColumn to CURRENT\_TIMESTAMP ([#&#8203;2913](seerr-team/seerr#2913)) - ([86e780e](seerr-team/seerr@86e780e))
- *(external-link)* Replace TMDB ID with IMDB ID for Trakt links ([#&#8203;2934](seerr-team/seerr#2934)) - ([f078da8](seerr-team/seerr@f078da8))
- *(imdbRadarrProxy)* Pass headers and nodeCache as options instead of params ([#&#8203;2900](seerr-team/seerr#2900)) - ([7861db4](seerr-team/seerr@7861db4))
- *(issuedescription)* Fix issue display lists in IssueDescription ([#&#8203;2972](seerr-team/seerr#2972)) - ([ce47cfb](seerr-team/seerr@ce47cfb))
- *(media)* Clean up watchlist on error card delete ([#&#8203;3073](seerr-team/seerr#3073)) - ([ee915b9](seerr-team/seerr@ee915b9))
- *(media-request)* Remove cascade from modifiedBy to prevent user column wipe ([#&#8203;2911](seerr-team/seerr#2911)) - ([2dfea0c](seerr-team/seerr@2dfea0c))
- *(ntfy)* Save priority field as number instead of string ([#&#8203;3096](seerr-team/seerr#3096)) - ([2fa535d](seerr-team/seerr@2fa535d))
- *(ntfy)* Remove undefined fields from ntfy payload ([#&#8203;2931](seerr-team/seerr#2931)) - ([377bf65](seerr-team/seerr@377bf65))
- *(override-rules)* Use find() instead of index lookup for service resolution ([#&#8203;2903](seerr-team/seerr#2903)) - ([5fdedb1](seerr-team/seerr@5fdedb1))
- *(plex-watchlist-sync)* Handle MediaContainer.Video fallback in watchlist sync   ([#&#8203;2992](seerr-team/seerr#2992)) - ([99f8520](seerr-team/seerr@99f8520))
- *(request)* Restore media status correctly when deleting requests ([#&#8203;3064](seerr-team/seerr#3064)) - ([ff88d52](seerr-team/seerr@ff88d52))
- *(scanners)* Reset orphaned processing media from deleted Radarr/Sonarr entries ([#&#8203;2757](seerr-team/seerr#2757)) - ([198e4e5](seerr-team/seerr@198e4e5))
- *(scanners)* Ignore unknown seasons in availability rollup and skip empty placeholder seasons ([#&#8203;2958](seerr-team/seerr#2958)) - ([ce51f6a](seerr-team/seerr@ce51f6a))
- *(search)* Replace "TV" with "Series" in search placeholder ([#&#8203;3067](seerr-team/seerr#3067)) - ([c04172a](seerr-team/seerr@c04172a))
- *(slider)* Add async to spring animation ([#&#8203;2978](seerr-team/seerr#2978)) - ([5267611](seerr-team/seerr@5267611))
- *(tag)* Use inset ring to avoid clipped outlines ([#&#8203;2985](seerr-team/seerr#2985)) - ([cf87205](seerr-team/seerr@cf87205))
- *(tvrequest)* Allow special episodes when partial series requests are disabled ([#&#8203;2973](seerr-team/seerr#2973)) - ([b32ab02](seerr-team/seerr@b32ab02))
- *(users)* Correct auth middleware for web push subscription ([#&#8203;3005](seerr-team/seerr#3005)) - ([bd27f2d](seerr-team/seerr@bd27f2d))
- *(watchlistsync)* Re-request deleted media from watchlist ([#&#8203;3072](seerr-team/seerr#3072)) - ([2588e49](seerr-team/seerr@2588e49))
- Update series status to partially available when seasons are missing ([#&#8203;3044](seerr-team/seerr#3044)) - ([4ed29cf](seerr-team/seerr@4ed29cf))
- Add missing "key" to React arrays ([#&#8203;3043](seerr-team/seerr#3043)) - ([4fa2c71](seerr-team/seerr@4fa2c71))
- Send availability notification if media is available before approval ([#&#8203;2819](seerr-team/seerr#2819)) - ([d426e1e](seerr-team/seerr@d426e1e))
- Normalize webhook payload encoding to support raw JSON inputs ([#&#8203;2641](seerr-team/seerr#2641)) - ([5b45806](seerr-team/seerr@5b45806))

##### 📖 Documentation

- *(blog)* Add v3.3.0 release blog post ([#&#8203;3098](seerr-team/seerr#3098)) - ([759e359](seerr-team/seerr@759e359))
- *(fail2ban)* Add fail2ban documentation ([#&#8203;2894](seerr-team/seerr#2894)) - ([39e9f1f](seerr-team/seerr@39e9f1f))
- *(nixpkgs)* Add documentation for nixpkgs 26.05 ([#&#8203;3089](seerr-team/seerr#3089)) - ([5fc7a40](seerr-team/seerr@5fc7a40))
- Add REST API documentation ([#&#8203;2981](seerr-team/seerr#2981)) - ([7aa1470](seerr-team/seerr@7aa1470))
- Add Terraform/OpenTofu provider page ([#&#8203;2967](seerr-team/seerr#2967)) - ([811126d](seerr-team/seerr@811126d))

##### 🚜 Refactor

- *(docs)* Move REST API docs to navbar and dedicated sidebar ([#&#8203;3040](seerr-team/seerr#3040)) - ([08b7bd4](seerr-team/seerr@08b7bd4))
- *(logs)* Align failed login attempt message with failed sign-i… ([#&#8203;2914](seerr-team/seerr#2914)) - ([3e4bf1b](seerr-team/seerr@3e4bf1b))
- Replace react-toast-notifications with react-hot-toast ([#&#8203;3004](seerr-team/seerr#3004)) - ([dfde4d3](seerr-team/seerr@dfde4d3))

##### ⚙️ Miscellaneous Tasks

- *(actions)* Update github actions ([#&#8203;3028](seerr-team/seerr#3028)) - ([6bb402a](seerr-team/seerr@6bb402a))
- *(actions)* Update github actions ([#&#8203;2982](seerr-team/seerr#2982)) - ([20dbc30](seerr-team/seerr@20dbc30))
- *(actions)* Update github actions (major) ([#&#8203;2947](seerr-team/seerr#2947)) - ([952261b](seerr-team/seerr@952261b))
- *(actions)* Update taiki-e/install-action action to v2.75.18 ([#&#8203;2961](seerr-team/seerr#2961)) - ([d50bdad](seerr-team/seerr@d50bdad))
- *(actions)* Update github actions ([#&#8203;2945](seerr-team/seerr#2945)) - ([60a2a87](seerr-team/seerr@60a2a87))
- *(create-tag)* Add gh token to avoid api rate limit in tag version retrieval ([#&#8203;2886](seerr-team/seerr#2886)) - ([85bfdb2](seerr-team/seerr@85bfdb2))
- *(i18n)* Update translations from Weblate - ([73fcfd2](seerr-team/seerr@73fcfd2))
- *(i18n)* Update translations from Weblate - ([788311a](seerr-team/seerr@788311a))
- *(i18n)* Update translations from Weblate - ([6eb43e0](seerr-team/seerr@6eb43e0))
- *(i18n)* Update translations from Weblate - ([656e33f](seerr-team/seerr@656e33f))
- *(i18n)* Update translations from Weblate - ([4742018](seerr-team/seerr@4742018))
- *(i18n)* Update translations from Weblate - ([2d4cd03](seerr-team/seerr@2d4cd03))
- *(i18n)* Update translations from Weblate - ([3c249c7](seerr-team/seerr@3c249c7))
- *(i18n)* Update translations from Weblate - ([4e4e673](seerr-team/seerr@4e4e673))
- *(i18n)* Update translations from Weblate ([#&#8203;2906](seerr-team/seerr#2906)) - ([6513915](seerr-team/seerr@6513915))
- *(i18n)* Update translations from Weblate ([#&#8203;2901](seerr-team/seerr#2901)) - ([56ab94a](seerr-team/seerr@56ab94a))
- *(release)* Prepare v3.2.0 - ([703faf9](seerr-team/seerr@703faf9))
- *(release)* Merge develop into main - ([0621e3d](seerr-team/seerr@0621e3d))
- *(release)* Remove git-cliff footer in release changelog ([#&#8203;2986](seerr-team/seerr#2986)) - ([550c3bc](seerr-team/seerr@550c3bc))
- Cleanup intl polyfills and dev config ([#&#8203;2965](seerr-team/seerr#2965)) - ([ba6ed6c](seerr-team/seerr@ba6ed6c))
- Ignore Renovate bot on irrelevant jobs ([#&#8203;2904](seerr-team/seerr#2904)) - ([1d2aa76](seerr-team/seerr@1d2aa76))

##### New Contributors ❤️

- [@&#8203;defaultdino](https://github.com/defaultdino) made their first contribution
- [@&#8203;haribo-hyung](https://github.com/haribo-hyung) made their first contribution
- [@&#8203;felixschndr](https://github.com/felixschndr) made their first contribution
- [@&#8203;burakemirsezen](https://github.com/burakemirsezen) made their first contribution
- [@&#8203;death2all110](https://github.com/death2all110) made their first contribution
- [@&#8203;fredrikburmester](https://github.com/fredrikburmester) made their first contribution
- [@&#8203;marcinjurczak](https://github.com/marcinjurczak) made their first contribution
- [@&#8203;Josh-Archer](https://github.com/Josh-Archer) made their first contribution
- [@&#8203;Finchow](https://github.com/Finchow) made their first contribution
- [@&#8203;kyle-engler](https://github.com/kyle-engler) made their first contribution
- [@&#8203;danjuv](https://github.com/danjuv) made their first contribution
- [@&#8203;aldoeliacim](https://github.com/aldoeliacim) made their first contribution

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/791
doonga pushed a commit to greyrock-labs/home-ops that referenced this pull request Jun 2, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [seerr/seerr](https://github.com/seerr-team/seerr) | minor | `v3.2.0` → `v3.3.0` |

---

### Release Notes

<details>
<summary>seerr-team/seerr (seerr/seerr)</summary>

### [`v3.3.0`](https://github.com/seerr-team/seerr/releases/tag/v3.3.0)

[Compare Source](seerr-team/seerr@v3.2.0...v3.3.0)

##### [3.3.0](https://github.com/seerr-team/seerr/compare/v3.2.0..v3.3.0) - 2026-06-02

##### 🚀 Features

- *(db)* Add DB\_POOL\_SIZE environment variable for postgres connection pool ([#&#8203;2990](seerr-team/seerr#2990)) - ([f093c69](seerr-team/seerr@f093c69))
- *(i18n)* Add server-side i18n for notification agents ([#&#8203;2731](seerr-team/seerr#2731)) - ([cd257ba](seerr-team/seerr@cd257ba))
- *(notification)* Add support for public seerr logo in email ([#&#8203;3036](seerr-team/seerr#3036)) - ([a8f147d](seerr-team/seerr@a8f147d))
- *(notifications)* Support multiple Discord IDs ([#&#8203;2712](seerr-team/seerr#2712)) - ([63175f5](seerr-team/seerr@63175f5))
- Add plex media ratingKey and ratingKey4k to webhook payload and… ([#&#8203;1812](seerr-team/seerr#1812)) - ([9b7b50b](seerr-team/seerr@9b7b50b))
- Add route to fetch user by jellyfin id ([#&#8203;2074](seerr-team/seerr#2074)) - ([15296a0](seerr-team/seerr@15296a0))
- Filter out "Thanks" credits when looking at a person's credits ([#&#8203;2370](seerr-team/seerr#2370)) - ([d024849](seerr-team/seerr@d024849))

##### 🐛 Bug Fixes

- *(auth)* Drop popup.closed check in Plex pin poll ([#&#8203;2941](seerr-team/seerr#2941)) - ([ce9643c](seerr-team/seerr@ce9643c))
- *(availability-sync)* Detect deleted seasons when media server retains empty season metadata ([#&#8203;2850](seerr-team/seerr#2850)) - ([9c34864](seerr-team/seerr@9c34864))
- *(discover)* Preserve keyword filter input focus after selection ([#&#8203;2962](seerr-team/seerr#2962)) - ([32169d9](seerr-team/seerr@32169d9))
- *(docs)* Enable trailingSlash to prevent 404 flash on direct navigation ([#&#8203;3039](seerr-team/seerr#3039)) - ([df105b8](seerr-team/seerr@df105b8))
- *(docs)* Switch to SWC minimizer to fix broken runtime bundle - ([d88242f](seerr-team/seerr@d88242f))
- *(docs)* Bump openapi docs packages to 5.0.2 ([#&#8203;3027](seerr-team/seerr#3027)) - ([080c68a](seerr-team/seerr@080c68a))
- *(entity)* Set the default value of UpdateDateColumn to CURRENT\_TIMESTAMP ([#&#8203;2913](seerr-team/seerr#2913)) - ([86e780e](seerr-team/seerr@86e780e))
- *(external-link)* Replace TMDB ID with IMDB ID for Trakt links ([#&#8203;2934](seerr-team/seerr#2934)) - ([f078da8](seerr-team/seerr@f078da8))
- *(imdbRadarrProxy)* Pass headers and nodeCache as options instead of params ([#&#8203;2900](seerr-team/seerr#2900)) - ([7861db4](seerr-team/seerr@7861db4))
- *(issuedescription)* Fix issue display lists in IssueDescription ([#&#8203;2972](seerr-team/seerr#2972)) - ([ce47cfb](seerr-team/seerr@ce47cfb))
- *(media)* Clean up watchlist on error card delete ([#&#8203;3073](seerr-team/seerr#3073)) - ([ee915b9](seerr-team/seerr@ee915b9))
- *(media-request)* Remove cascade from modifiedBy to prevent user column wipe ([#&#8203;2911](seerr-team/seerr#2911)) - ([2dfea0c](seerr-team/seerr@2dfea0c))
- *(ntfy)* Save priority field as number instead of string ([#&#8203;3096](seerr-team/seerr#3096)) - ([2fa535d](seerr-team/seerr@2fa535d))
- *(ntfy)* Remove undefined fields from ntfy payload ([#&#8203;2931](seerr-team/seerr#2931)) - ([377bf65](seerr-team/seerr@377bf65))
- *(override-rules)* Use find() instead of index lookup for service resolution ([#&#8203;2903](seerr-team/seerr#2903)) - ([5fdedb1](seerr-team/seerr@5fdedb1))
- *(plex-watchlist-sync)* Handle MediaContainer.Video fallback in watchlist sync   ([#&#8203;2992](seerr-team/seerr#2992)) - ([99f8520](seerr-team/seerr@99f8520))
- *(request)* Restore media status correctly when deleting requests ([#&#8203;3064](seerr-team/seerr#3064)) - ([ff88d52](seerr-team/seerr@ff88d52))
- *(scanners)* Reset orphaned processing media from deleted Radarr/Sonarr entries ([#&#8203;2757](seerr-team/seerr#2757)) - ([198e4e5](seerr-team/seerr@198e4e5))
- *(scanners)* Ignore unknown seasons in availability rollup and skip empty placeholder seasons ([#&#8203;2958](seerr-team/seerr#2958)) - ([ce51f6a](seerr-team/seerr@ce51f6a))
- *(search)* Replace "TV" with "Series" in search placeholder ([#&#8203;3067](seerr-team/seerr#3067)) - ([c04172a](seerr-team/seerr@c04172a))
- *(slider)* Add async to spring animation ([#&#8203;2978](seerr-team/seerr#2978)) - ([5267611](seerr-team/seerr@5267611))
- *(tag)* Use inset ring to avoid clipped outlines ([#&#8203;2985](seerr-team/seerr#2985)) - ([cf87205](seerr-team/seerr@cf87205))
- *(tvrequest)* Allow special episodes when partial series requests are disabled ([#&#8203;2973](seerr-team/seerr#2973)) - ([b32ab02](seerr-team/seerr@b32ab02))
- *(users)* Correct auth middleware for web push subscription ([#&#8203;3005](seerr-team/seerr#3005)) - ([bd27f2d](seerr-team/seerr@bd27f2d))
- *(watchlistsync)* Re-request deleted media from watchlist ([#&#8203;3072](seerr-team/seerr#3072)) - ([2588e49](seerr-team/seerr@2588e49))
- Update series status to partially available when seasons are missing ([#&#8203;3044](seerr-team/seerr#3044)) - ([4ed29cf](seerr-team/seerr@4ed29cf))
- Add missing "key" to React arrays ([#&#8203;3043](seerr-team/seerr#3043)) - ([4fa2c71](seerr-team/seerr@4fa2c71))
- Send availability notification if media is available before approval ([#&#8203;2819](seerr-team/seerr#2819)) - ([d426e1e](seerr-team/seerr@d426e1e))
- Normalize webhook payload encoding to support raw JSON inputs ([#&#8203;2641](seerr-team/seerr#2641)) - ([5b45806](seerr-team/seerr@5b45806))

##### 📖 Documentation

- *(blog)* Add v3.3.0 release blog post ([#&#8203;3098](seerr-team/seerr#3098)) - ([759e359](seerr-team/seerr@759e359))
- *(fail2ban)* Add fail2ban documentation ([#&#8203;2894](seerr-team/seerr#2894)) - ([39e9f1f](seerr-team/seerr@39e9f1f))
- *(nixpkgs)* Add documentation for nixpkgs 26.05 ([#&#8203;3089](seerr-team/seerr#3089)) - ([5fc7a40](seerr-team/seerr@5fc7a40))
- Add REST API documentation ([#&#8203;2981](seerr-team/seerr#2981)) - ([7aa1470](seerr-team/seerr@7aa1470))
- Add Terraform/OpenTofu provider page ([#&#8203;2967](seerr-team/seerr#2967)) - ([811126d](seerr-team/seerr@811126d))

##### 🚜 Refactor

- *(docs)* Move REST API docs to navbar and dedicated sidebar ([#&#8203;3040](seerr-team/seerr#3040)) - ([08b7bd4](seerr-team/seerr@08b7bd4))
- *(logs)* Align failed login attempt message with failed sign-i… ([#&#8203;2914](seerr-team/seerr#2914)) - ([3e4bf1b](seerr-team/seerr@3e4bf1b))
- Replace react-toast-notifications with react-hot-toast ([#&#8203;3004](seerr-team/seerr#3004)) - ([dfde4d3](seerr-team/seerr@dfde4d3))

##### ⚙️ Miscellaneous Tasks

- *(actions)* Update github actions ([#&#8203;3028](seerr-team/seerr#3028)) - ([6bb402a](seerr-team/seerr@6bb402a))
- *(actions)* Update github actions ([#&#8203;2982](seerr-team/seerr#2982)) - ([20dbc30](seerr-team/seerr@20dbc30))
- *(actions)* Update github actions (major) ([#&#8203;2947](seerr-team/seerr#2947)) - ([952261b](seerr-team/seerr@952261b))
- *(actions)* Update taiki-e/install-action action to v2.75.18 ([#&#8203;2961](seerr-team/seerr#2961)) - ([d50bdad](seerr-team/seerr@d50bdad))
- *(actions)* Update github actions ([#&#8203;2945](seerr-team/seerr#2945)) - ([60a2a87](seerr-team/seerr@60a2a87))
- *(create-tag)* Add gh token to avoid api rate limit in tag version retrieval ([#&#8203;2886](seerr-team/seerr#2886)) - ([85bfdb2](seerr-team/seerr@85bfdb2))
- *(i18n)* Update translations from Weblate - ([73fcfd2](seerr-team/seerr@73fcfd2))
- *(i18n)* Update translations from Weblate - ([788311a](seerr-team/seerr@788311a))
- *(i18n)* Update translations from Weblate - ([6eb43e0](seerr-team/seerr@6eb43e0))
- *(i18n)* Update translations from Weblate - ([656e33f](seerr-team/seerr@656e33f))
- *(i18n)* Update translations from Weblate - ([4742018](seerr-team/seerr@4742018))
- *(i18n)* Update translations from Weblate - ([2d4cd03](seerr-team/seerr@2d4cd03))
- *(i18n)* Update translations from Weblate - ([3c249c7](seerr-team/seerr@3c249c7))
- *(i18n)* Update translations from Weblate - ([4e4e673](seerr-team/seerr@4e4e673))
- *(i18n)* Update translations from Weblate ([#&#8203;2906](seerr-team/seerr#2906)) - ([6513915](seerr-team/seerr@6513915))
- *(i18n)* Update translations from Weblate ([#&#8203;2901](seerr-team/seerr#2901)) - ([56ab94a](seerr-team/seerr@56ab94a))
- *(release)* Prepare v3.2.0 - ([703faf9](seerr-team/seerr@703faf9))
- *(release)* Merge develop into main - ([0621e3d](seerr-team/seerr@0621e3d))
- *(release)* Remove git-cliff footer in release changelog ([#&#8203;2986](seerr-team/seerr#2986)) - ([550c3bc](seerr-team/seerr@550c3bc))
- Cleanup intl polyfills and dev config ([#&#8203;2965](seerr-team/seerr#2965)) - ([ba6ed6c](seerr-team/seerr@ba6ed6c))
- Ignore Renovate bot on irrelevant jobs ([#&#8203;2904](seerr-team/seerr#2904)) - ([1d2aa76](seerr-team/seerr@1d2aa76))

##### New Contributors ❤️

- [@&#8203;defaultdino](https://github.com/defaultdino) made their first contribution
- [@&#8203;haribo-hyung](https://github.com/haribo-hyung) made their first contribution
- [@&#8203;felixschndr](https://github.com/felixschndr) made their first contribution
- [@&#8203;burakemirsezen](https://github.com/burakemirsezen) made their first contribution
- [@&#8203;death2all110](https://github.com/death2all110) made their first contribution
- [@&#8203;fredrikburmester](https://github.com/fredrikburmester) made their first contribution
- [@&#8203;marcinjurczak](https://github.com/marcinjurczak) made their first contribution
- [@&#8203;Josh-Archer](https://github.com/Josh-Archer) made their first contribution
- [@&#8203;Finchow](https://github.com/Finchow) made their first contribution
- [@&#8203;kyle-engler](https://github.com/kyle-engler) made their first contribution
- [@&#8203;danjuv](https://github.com/danjuv) made their first contribution
- [@&#8203;aldoeliacim](https://github.com/aldoeliacim) made their first contribution

</details>

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.greyrock.io/greyrock-labs/home-ops/pulls/177
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wrong IMDB rating displayed

3 participants