fix: make collection handling failure notifications name the failing collection#3013
Merged
Merged
Conversation
0800a4e to
de41c6b
Compare
de41c6b to
3456ccc
Compare
maintainerr-automation Bot
added a commit
that referenced
this pull request
Jun 2, 2026
* docs(changelog): add v3.13.0 breaking-changes notice Mirrors the PLEASE NOTE block published on the v3.13.0 GitHub release (global vs scoped exclusions, per-group exclusion scoping, section operator default). * build(deps-dev): bump turbo from 2.9.15 to 2.9.16 (#3005) Bumps [turbo](https://github.com/vercel/turborepo) from 2.9.15 to 2.9.16. - [Release notes](https://github.com/vercel/turborepo/releases) - [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md) - [Commits](vercel/turborepo@v2.9.15...v2.9.16) --- updated-dependencies: - dependency-name: turbo dependency-version: 2.9.16 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(rules): clarify libItem.id is the media server ID in resolve-failure warning Both the Radarr and Sonarr getters logged "Failed to resolve external IDs for 'X' with id 'Y'" where Y is libItem.id — the media server's internal item id (Plex ratingKey, Jellyfin item id), not a TMDB/external id. Multiple readers have misread it as a wrong stored TMDB id (issue #2990). Reword to "(media server ID 'Y')" so the field is self-explanatory. No behaviour change. * build(deps): bump nodemailer from 8.0.9 to 8.0.10 (#3006) Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 8.0.9 to 8.0.10. - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](nodemailer/nodemailer@v8.0.9...v8.0.10) --- updated-dependencies: - dependency-name: nodemailer dependency-version: 8.0.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump react-router-dom from 7.15.1 to 7.16.0 (#3007) Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 7.15.1 to 7.16.0. - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.16.0/packages/react-router-dom) --- updated-dependencies: - dependency-name: react-router-dom dependency-version: 7.16.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(dev): add fake Radarr mock and wire seed for arr-action testing (#3014) * fix: make collection handling failure notifications name the failing collection (#3013) * fix: use Radarr bulk exclusions endpoint to avoid duplicate 400 failure (#3012) * fix(collections): don't force-delete Seerr requests for episode rules (#3015) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: maintainerr-automation[bot] <261505141+maintainerr-automation[bot]@users.noreply.github.com> Co-authored-by: enoch85 <mailto@danielhansson.nu> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Contributor
|
🎉 This PR is included in version 3.14.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
doonga
pushed a commit
to greyrock-labs/home-ops
that referenced
this pull request
Jun 6, 2026
… ➔ 3.14.0) (#207) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/maintainerr/maintainerr](https://github.com/Maintainerr/Maintainerr) | minor | `3.13.0` → `3.14.0` | --- ### Release Notes <details> <summary>Maintainerr/Maintainerr (ghcr.io/maintainerr/maintainerr)</summary> ### [`v3.14.0`](https://github.com/Maintainerr/Maintainerr/blob/HEAD/CHANGELOG.md#3140-2026-06-05) [Compare Source](Maintainerr/Maintainerr@v3.13.0...v3.14.0) #### Highlights - Added `/api/health` endpoints with liveness and readiness checks for monitoring and integration with tools like Kubernetes and Docker Compose ([#​3029](Maintainerr/Maintainerr#3029)). - Collection handler now skips media currently being streamed to avoid disrupting active viewers ([#​3027](Maintainerr/Maintainerr#3027)). - Fixed issue where saving log settings would overwrite an active `LOG_LEVEL` environment variable override ([#​3053](Maintainerr/Maintainerr#3053)). #### Features - Added `/api/health` endpoints with liveness and readiness checks ([#​3029](Maintainerr/Maintainerr#3029)). - Collection handler now skips media currently being streamed ([#​3027](Maintainerr/Maintainerr#3027)). - Logging system now honors the `LOG_LEVEL` environment variable on startup ([#​3030](Maintainerr/Maintainerr#3030)). #### Fixes - Fixed issue where saving log settings would overwrite an active `LOG_LEVEL` environment variable override ([#​3053](Maintainerr/Maintainerr#3053)). - Validated webhook URL schemes to prevent invalid or potentially harmful requests ([#​3031](Maintainerr/Maintainerr#3031)). - Fixed issue where rule groups lost collection links and visibility on partial updates ([#​3045](Maintainerr/Maintainerr#3045), [#​3046](Maintainerr/Maintainerr#3046)). - Fixed issue with manual collections not being found across libraries on Jellyfin/Emby ([#​3026](Maintainerr/Maintainerr#3026), [#​3042](Maintainerr/Maintainerr#3042)). - Resolved issue where deleted media remained stuck in Jellyfin/Emby collections and caused repeated processing errors ([#​3023](Maintainerr/Maintainerr#3023), [#​3024](Maintainerr/Maintainerr#3024), [#​3040](Maintainerr/Maintainerr#3040)). - Fixed issue where Seerr requests for episode rules incorrectly deleted entire season requests ([#​3015](Maintainerr/Maintainerr#3015)). - Improved error notifications for collection handling failures to include the name of the failing collection ([#​3013](Maintainerr/Maintainerr#3013)). - Used Radarr bulk exclusions endpoint to avoid duplicate 400 errors when adding exclusions ([#​3012](Maintainerr/Maintainerr#3012)). #### Performance - Pruned media that no longer exists on the media server to improve collection handling efficiency ([#​3023](Maintainerr/Maintainerr#3023), [#​3040](Maintainerr/Maintainerr#3040)). #### Internal - Refreshed README with updated features, deployment examples, and credits ([#​3048](Maintainerr/Maintainerr#3048)). - Clarified that a missing `yarn` command indicates a stale `node_modules` directory. #### Dependencies - Updated 20 dependencies, including `@typescript-eslint/parser`, `react-router-dom`, `axios`, and `vite`. #### New Contributors - [@​Arvuno](https://github.com/Arvuno) made their first contribution in [#​3029](Maintainerr/Maintainerr#3029) </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/207
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When a collection rule failed to handle an item, the notification was a generic "Oops! Something went wrong while processing your collections" with no indication of which collection failed.
CollectionHandler_Failedis now emitted per failing collection carrying the existing-but-unusedCollectionHandlerFailedDto(collection title + identifier), mirroring howRuleHandler_FailedandCollectionMedia_Handledalready work. The message reads "Couldn't finish handling one or more items in ''. Check the Maintainerr logs for details." Infrastructure-level failures (media server unreachable, unexpected run errors) still emit a generic alert, and the{collection_name}clause is stripped when there's no collection context so a raw placeholder is never delivered.transformMessageContentresolves collection name / day count before touching the media server. These are plain string substitutions; doing them up front means an unavailable media server (which only affects media-title lookups) can't return the raw{collection_name}template for the media-server-unreachable failure notification.warn(matching the prior behaviour) so a failed action remains visible without DEBUG; the thrown error's stack stays at debug.