feat: add explicit exists rule operators#2671
Merged
enoch85 merged 7 commits intodevelopmentfrom Apr 13, 2026
Merged
Conversation
Collaborator
Author
|
/release-pr |
Contributor
|
Released to |
Collaborator
Author
|
/release-pr |
Contributor
|
Released to |
Restores the ability to save rules that compare a TEXT_LIST property (e.g. Jellyfin [list] Viewed by (username)) against a numeric count. The previous validation path only accepted TEXT_LIST + TEXT customVal combinations; count operators send a NUMBER customVal and fell through to "Validation failed". Fixes #2672
Collaborator
Author
|
/release-pr |
Collaborator
Author
|
@d-Rickyy-b Have you tried this out yet? |
Contributor
|
Released to |
Collaborator
Author
|
Works in my testing, let's get this in development. 👍 |
maintainerr-automation Bot
added a commit
that referenced
this pull request
Apr 13, 2026
* fix: use canonical Plex collection item URI * build(deps): bump the nestjs group with 4 updates (#2673) Bumps the nestjs group with 4 updates: [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common), [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core), [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) and [@nestjs/testing](https://github.com/nestjs/nest/tree/HEAD/packages/testing). Updates `@nestjs/common` from 11.1.18 to 11.1.19 - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v11.1.19/packages/common) Updates `@nestjs/core` from 11.1.18 to 11.1.19 - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v11.1.19/packages/core) Updates `@nestjs/platform-express` from 11.1.18 to 11.1.19 - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v11.1.19/packages/platform-express) Updates `@nestjs/testing` from 11.1.18 to 11.1.19 - [Release notes](https://github.com/nestjs/nest/releases) - [Commits](https://github.com/nestjs/nest/commits/v11.1.19/packages/testing) --- updated-dependencies: - dependency-name: "@nestjs/common" dependency-version: 11.1.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nestjs - dependency-name: "@nestjs/core" dependency-version: 11.1.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nestjs - dependency-name: "@nestjs/platform-express" dependency-version: 11.1.19 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nestjs - dependency-name: "@nestjs/testing" dependency-version: 11.1.19 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: nestjs ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump turbo from 2.9.4 to 2.9.6 (#2675) Bumps [turbo](https://github.com/vercel/turborepo) from 2.9.4 to 2.9.6. - [Release notes](https://github.com/vercel/turborepo/releases) - [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md) - [Commits](vercel/turborepo@v2.9.4...v2.9.6) --- updated-dependencies: - dependency-name: turbo dependency-version: 2.9.6 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump vite from 8.0.5 to 8.0.8 (#2676) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.5 to 8.0.8. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.0.8/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 8.0.8 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump eslint-plugin-jest from 29.15.1 to 29.15.2 (#2677) Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 29.15.1 to 29.15.2. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](jest-community/eslint-plugin-jest@v29.15.1...v29.15.2) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-version: 29.15.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump jsdom from 29.0.1 to 29.0.2 (#2678) Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.0.1 to 29.0.2. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Commits](jsdom/jsdom@v29.0.1...v29.0.2) --- updated-dependencies: - dependency-name: jsdom dependency-version: 29.0.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps-dev): bump @tanstack/eslint-plugin-query (#2682) Bumps [@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query) from 5.97.0 to 5.99.0. - [Release notes](https://github.com/TanStack/query/releases) - [Changelog](https://github.com/TanStack/query/blob/main/packages/eslint-plugin-query/CHANGELOG.md) - [Commits](https://github.com/TanStack/query/commits/@tanstack/[email protected]/packages/eslint-plugin-query) --- updated-dependencies: - dependency-name: "@tanstack/eslint-plugin-query" dependency-version: 5.99.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump better-sqlite3 from 12.8.0 to 12.9.0 (#2680) Bumps [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) from 12.8.0 to 12.9.0. - [Release notes](https://github.com/WiseLibs/better-sqlite3/releases) - [Commits](WiseLibs/better-sqlite3@v12.8.0...v12.9.0) --- updated-dependencies: - dependency-name: better-sqlite3 dependency-version: 12.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump @headlessui/react from 2.2.9 to 2.2.10 (#2681) Bumps [@headlessui/react](https://github.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react) from 2.2.9 to 2.2.10. - [Release notes](https://github.com/tailwindlabs/headlessui/releases) - [Changelog](https://github.com/tailwindlabs/headlessui/blob/main/packages/@headlessui-react/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/headlessui/commits/@headlessui/[email protected]/packages/@headlessui-react) --- updated-dependencies: - dependency-name: "@headlessui/react" dependency-version: 2.2.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump actions/github-script from 8 to 9 (#2679) Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v8...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: enoch85 <[email protected]> * feat: add explicit exists rule operators (#2671) * feat: add explicit exists rule operators * fix: tighten rule input lint cleanup * fix: treat empty rule values as missing * chore: apply formatter to rule constant spec * fix: omit unary second value output * fix: allow count comparisons on text list rules to save Restores the ability to save rules that compare a TEXT_LIST property (e.g. Jellyfin [list] Viewed by (username)) against a numeric count. The previous validation path only accepted TEXT_LIST + TEXT customVal combinations; count operators send a NUMBER customVal and fell through to "Validation failed". Fixes #2672 * fix: scope rule/collection pre-flight to media server only (#2581) (#2683) Rule execution was gating every rule on a global testConnections() probe that fanned out to every configured backend (media server, all *arrs, Seerr, Tautulli) with a hard 5s timeout. A transient blip in any one backend skipped the rule — even when the rule didn't use that backend. Same anti-pattern in CollectionWorkerService. Replace with a narrow verifyConnection() check against the only hard dependency (media server, with Plex auto re-discovery). Ancillary services are handled at their call sites. Add a typed 'media-server-unreachable' failure reason so the job manager can drop the rest of the queue silently on a mid-queue outage, keeping "one notification per outage" semantics while preserving per-rule resilience for flakiness between rules. * fix: count Sonarr monitored episodes accurately (#2684) --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: maintainerr-automation[bot] <261505141+maintainerr-automation[bot]@users.noreply.github.com> Co-authored-by: enoch85 <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Contributor
|
🎉 This PR is included in version 3.7.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
1 task
This was referenced Apr 22, 2026
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.
Summary
Example