🐛 Fixed missing server-side label search in recipient & segment selects#26699
🐛 Fixed missing server-side label search in recipient & segment selects#26699kevinansfield merged 7 commits intomainfrom
Conversation
refs https://linear.app/tryghost/issue/ONC-1529 The paginated label loading refactor missed adding server-side search to these two dropdowns, requiring users to scroll through all pages before search would find labels not yet loaded client-side.
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughReplaces token-based inputs with a new GhSegmentTokenInput and updates recipient/segment select components to use segment-focused props (nonLabelOptions, selectedSegments, hideLabelsComputed/hasSpecificOptions) instead of merged label+option arrays. GhSegmentTokenInput centralizes label loading, server-side search, mergedOptions, selectedOptions and a loadMoreLabelsTask via labelsManager. GhMembersSegmentSelect and GhMembersRecipientSelect remove label-management logic and expose non-label options/flags. Mirage labels route now supports server-side filtering and pagination. New integration tests exercise selection, pagination, and client/server search behaviors. 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
ghost/admin/tests/integration/components/gh-members-recipient-select-test.js (1)
69-69: Replace fixed sleeps with deterministic waits to reduce flakiness.The file contains 8 fixed 100ms delays at lines 69, 77, 84, 109, 113, 138, 142, and 146 that can intermittently fail in slower CI runs. Since
waitUntilis already imported and used in this test file (line 151), replace eachawait timeout(100);with explicit DOM or request condition checks. This pattern is already demonstrated in the existing code:await waitUntil(() => server.pretender.handledRequests.some(...)).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ghost/admin/tests/integration/components/gh-members-recipient-select-test.js` at line 69, Replace the eight fixed sleeps (`await timeout(100);`) in the gh-members-recipient-select tests with deterministic waits: use the existing waitUntil pattern (e.g. await waitUntil(() => server.pretender.handledRequests.some(r => r.url.includes('...')))) or DOM-aware helpers (await find, await settled, or waitUntil(() => !!document.querySelector('...'))) to wait for the specific network request or element state the test relies on; update each occurrence to check the exact request URL/handler or element visibility/disabled state instead of a timeout so tests become deterministic (use the same request-checking pattern already used in this file with server.pretender.handledRequests and waitUntil).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@ghost/admin/app/components/gh-segment-token-input.js`:
- Around line 42-44: The getter useServerSideSearch currently returns
!this.labelsManager.hasLoadedAll but ignores hideLabels; update it to also
return false when this.hideLabels is true (e.g. return false if this.hideLabels
|| this.labelsManager.hasLoadedAll) and likewise update the other place around
lines 88-90 where the search wrapper/scroll can trigger loadMoreTask to bail out
early if this.hideLabels is true; ensure any logic that decides to
render/activate the search wrapper or call loadMoreTask checks this.hideLabels
before proceeding (referencing useServerSideSearch, this.hideLabels,
labelsManager.hasLoadedAll, and loadMoreTask).
In `@ghost/admin/tests/integration/components/gh-members-segment-select-test.js`:
- Around line 139-140: Tighten the server search assertion inside the waitUntil
call so it verifies the actual typed term is present: update the predicate that
checks server.pretender.handledRequests (used in waitUntil) to ensure
r.queryParams.filter both contains 'name:~' and also contains the specific term
'Label 50' (or the URL‑encoded equivalent) instead of only checking for 'name:~'
alone; modify the anonymous predicate used in the await waitUntil(...) to
require both substrings so the test fails if the typed term is missing.
- Line 33: Replace all fixed sleeps that call timeout(...) in the
gh-members-segment-select-test (the await timeout(...) usages) with
condition-based waits: after render() and after clickTrigger() use await
settled(); for places waiting on DOM updates or async state, use await
waitUntil(() => /* specific condition checking the expected DOM/state change,
e.g. element presence, text or class */). Update each occurrence that currently
uses timeout(...) so it awaits the appropriate settled() or waitUntil()
condition tied to the assertion that follows (use existing imports settled and
waitUntil and refer to the surrounding helpers like render and clickTrigger to
determine which to use).
---
Nitpick comments:
In
`@ghost/admin/tests/integration/components/gh-members-recipient-select-test.js`:
- Line 69: Replace the eight fixed sleeps (`await timeout(100);`) in the
gh-members-recipient-select tests with deterministic waits: use the existing
waitUntil pattern (e.g. await waitUntil(() =>
server.pretender.handledRequests.some(r => r.url.includes('...')))) or DOM-aware
helpers (await find, await settled, or waitUntil(() =>
!!document.querySelector('...'))) to wait for the specific network request or
element state the test relies on; update each occurrence to check the exact
request URL/handler or element visibility/disabled state instead of a timeout so
tests become deterministic (use the same request-checking pattern already used
in this file with server.pretender.handledRequests and waitUntil).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5278413f-9686-4ebd-8db7-fbf3997e061c
📥 Commits
Reviewing files that changed from the base of the PR and between be516c4 and 41757e74c7a50f401dc1f545bcfc4d61e5f7ac6b.
📒 Files selected for processing (9)
ghost/admin/app/components/gh-members-recipient-select.hbsghost/admin/app/components/gh-members-recipient-select.jsghost/admin/app/components/gh-members-segment-select.hbsghost/admin/app/components/gh-members-segment-select.jsghost/admin/app/components/gh-segment-token-input.hbsghost/admin/app/components/gh-segment-token-input.jsghost/admin/mirage/config/labels.jsghost/admin/tests/integration/components/gh-members-recipient-select-test.jsghost/admin/tests/integration/components/gh-members-segment-select-test.js
41757e7 to
5a59304
Compare
no issue Deduplicated label-related logic (labelsManager, search, infinite scroll, option merging) from `gh-members-segment-select` and `gh-members-recipient-select` into a shared `gh-segment-token-input component`. Added integration tests for both parent components and enhanced mirage labels config with filter support.
5a59304 to
c38b0df
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
ghost/admin/app/components/gh-members-recipient-select.js (1)
64-66: Optional: normalizeselectedSpecificSegmentsoutput.Trimming here avoids selection mismatch if incoming filter tokens contain spaces.
Proposed patch
get selectedSpecificSegments() { - return Array.from(this.specificFilters); + return Array.from(this.specificFilters) + .map(segment => segment.trim()) + .filter(Boolean); }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ghost/admin/app/components/gh-members-recipient-select.js` around lines 64 - 66, selectedSpecificSegments currently returns Array.from(this.specificFilters) without normalizing items, so tokens with surrounding whitespace can cause selection mismatches; update the getter (selectedSpecificSegments) to map and trim each entry from Array.from(this.specificFilters) and remove any empty strings (e.g., filter out entries that become empty after trim) so consumers get consistent, whitespace-normalized segment identifiers from specificFilters.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@ghost/admin/app/components/gh-members-segment-select.js`:
- Around line 24-35: The incoming segment parsing uses (this.args.segment ||
'').split(',') without trimming, so tokens with surrounding whitespace fail
includes() checks and matching; update the parsing in both the method that
defines the segments variable (used for the status:free / status:-free includes
checks and filtering logic) and the selectedSegments getter to normalize by
splitting then mapping each token through trim() and filtering falsy values,
i.e., replace raw split(...) usages with a normalizedTokens variable (or
similar) that does .split(',').map(t => t.trim()).filter(Boolean) and use that
for the includes(...) checks and return value of selectedSegments.
---
Nitpick comments:
In `@ghost/admin/app/components/gh-members-recipient-select.js`:
- Around line 64-66: selectedSpecificSegments currently returns
Array.from(this.specificFilters) without normalizing items, so tokens with
surrounding whitespace can cause selection mismatches; update the getter
(selectedSpecificSegments) to map and trim each entry from
Array.from(this.specificFilters) and remove any empty strings (e.g., filter out
entries that become empty after trim) so consumers get consistent,
whitespace-normalized segment identifiers from specificFilters.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d5c5ecb2-918c-410a-8f3e-7e7fbc966063
📥 Commits
Reviewing files that changed from the base of the PR and between 5a593045685bb198e8989516491c869f5aac507e and c38b0df.
📒 Files selected for processing (9)
ghost/admin/app/components/gh-members-recipient-select.hbsghost/admin/app/components/gh-members-recipient-select.jsghost/admin/app/components/gh-members-segment-select.hbsghost/admin/app/components/gh-members-segment-select.jsghost/admin/app/components/gh-segment-token-input.hbsghost/admin/app/components/gh-segment-token-input.jsghost/admin/mirage/config/labels.jsghost/admin/tests/integration/components/gh-members-recipient-select-test.jsghost/admin/tests/integration/components/gh-members-segment-select-test.js
🚧 Files skipped from review as they are similar to previous changes (5)
- ghost/admin/mirage/config/labels.js
- ghost/admin/app/components/gh-segment-token-input.hbs
- ghost/admin/app/components/gh-members-recipient-select.hbs
- ghost/admin/app/components/gh-segment-token-input.js
- ghost/admin/tests/integration/components/gh-members-segment-select-test.js
…ults This update ensures that labels found via search, which are not part of the paginated set, are registered with the labelsManager. This enhancement allows selectedOptions to resolve correctly, improving the overall functionality of the label input component.
This reverts commit f4c6451.
The addLabel call was only in gh-segment-token-input but searchLabelsTask has multiple consumers. Moving registration into the service ensures all callers benefit. Added tests covering the scenario where a label found via search (outside the paginated set) resolves correctly after selection.
…#120) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/sredevopsorg/ghost-on-kubernetes](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes) | minor | `v6.19.3` → `v6.22.1` | --- ### Release Notes <details> <summary>sredevopsorg/ghost-on-kubernetes (ghcr.io/sredevopsorg/ghost-on-kubernetes)</summary> ### [`v6.22.1`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.22.1) [Compare Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.22.0...v6.22.1) #### What's Changed - Update event types for GHOST\_VERSION setup by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​676](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/676) - Add Trivy vulnerability scanner workflow by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​677](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/677) - chore(deps): update actions/checkout action to v6 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​679](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/679) - chore(deps): update aquasecurity/trivy-action action to v0.35.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​678](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/678) - chore(deps): update node.js to [`2365189`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/2365189) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​682](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/682) - chore(deps): update step-security/harden-runner action to v2.16.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​681](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/681) - chore(deps): update github/codeql-action action to v4.34.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​680](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/680) **Full Changelog**: <sredevopsorg/ghost-on-kubernetes@v6.22.0...v6.22.1> #### From upstream [@​tryghost](https://redirect.github.com/tryghost) 🔒 Added file type validation and content-type control for file uploads ([TryGhost/Ghost#26869](https://redirect.github.com/TryGhost/Ghost/pull/26869)) - Princi Vershwal 🎨 Updated Source to v1.5.2 - Ghost CI 🎨 Updated Casper to v5.10.1 - Ghost CI 🎨 Updated private page access and signup flow ([TryGhost/Ghost#26762](https://redirect.github.com/TryGhost/Ghost/pull/26762)) - John O'Nolan 🎨 Changed email verification error messages to be configurable via hostSettings ([TryGhost/Ghost#26631](https://redirect.github.com/TryGhost/Ghost/pull/26631)) - Jannis Fedoruk-Betschki 🐛 Fixed font rendering when converting SVGs with text elements to PNG format ([TryGhost/Ghost#26863](https://redirect.github.com/TryGhost/Ghost/pull/26863)) - Chris Raible 🐛 Fixed "labels is not defined" error when creating comped members via API ([TryGhost/Ghost#26837](https://redirect.github.com/TryGhost/Ghost/pull/26837)) - Troy Ciesco 🐛 Fixed translations for Inbox Links button ([TryGhost/Ghost#26839](https://redirect.github.com/TryGhost/Ghost/pull/26839)) - Evan Hahn 🐛 Fixed domain warming when warming has completed ([TryGhost/Ghost#26817](https://redirect.github.com/TryGhost/Ghost/pull/26817)) - Sam Lord 🌐 Added missed string wrapping for Portal's offer page ([TryGhost/Ghost#26884](https://redirect.github.com/TryGhost/Ghost/pull/26884)) - Cathy Sarisky 🌐 Added new Chinese language strings ([TryGhost/Ghost#26871](https://redirect.github.com/TryGhost/Ghost/pull/26871)) - tommywong-theinitium View the changelog for full details: <TryGhost/Ghost@v6.22.0...v6.22.1> ### [`v6.22.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.22.0) [Compare Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.21.2...v6.22.0) #### What's Changed - Enhance CI workflow with Dockerfile-docker checks by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​669](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/669) - ci: Automate building new '-docker' releases when there's a release. by [@​markstos](https://redirect.github.com/markstos) in [#​639](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/639) - Wf triggers fixes by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​670](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/670) - fix(check-ghost-releases): use GitHub Packages API for LAST\_BUILT by [@​markstos](https://redirect.github.com/markstos) in [#​671](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/671) - chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker digest to [`b2a1685`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b2a1685) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​673](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/673) - chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot docker digest to [`6731730`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/6731730) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​672](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/672) - Wf patch logic by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​674](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/674) **Full Changelog**: <sredevopsorg/ghost-on-kubernetes@v6.21.2...v6.22.0> ### [`v6.21.2`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.21.2) [Compare Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.21.0...v6.21.2) #### What's Changed - ✨ Add healthcheck to Dockerfile. by [@​markstos](https://redirect.github.com/markstos) in [#​655](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/655) - Update base image to specific SHA for runtime by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​665](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/665) - chore(deps): update sigstore/cosign-installer action to v4.1.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​666](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/666) - chore(deps): update actions/download-artifact action to v8.0.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​667](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/667) **Full Changelog**: <sredevopsorg/ghost-on-kubernetes@v6.21.0...v6.21.2> ### [`v6.21.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.21.0) [Compare Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.20.0...v6.21.0) #### What's Changed - chore: update Ghost and MySQL user IDs to 65532 for non-root executio… by [@​ngeorger](https://redirect.github.com/ngeorger) in [#​652](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/652) - chore(deps): update docker/login-action action to v4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​653](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/653) - ✨ Add jemalloc to reduce memory consumption by [@​markstos](https://redirect.github.com/markstos) in [#​654](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/654) - chore(deps): update docker/setup-buildx-action action to v4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​656](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/656) - chore(deps): update docker/metadata-action action to v6 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​663](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/663) - chore(deps): update docker/build-push-action action to v7 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​662](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/662) - chore(deps): update step-security/harden-runner action to v2.15.1 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​661](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/661) - chore(deps): update github/codeql-action action to v4.32.6 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​660](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/660) - chore(deps): update node.js to [`30c0fec`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/30c0fec) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​659](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/659) - chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker digest to [`b9b6d4a`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b9b6d4a) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​658](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/658) - chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot docker digest to [`9bc6ba5`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/9bc6ba5) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​657](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/657) #### From upstream [@​tryghost](https://redirect.github.com/tryghost) ✨ Expanded available cards in welcome email editor ([TryGhost/Ghost#26645](https://redirect.github.com/TryGhost/Ghost/pull/26645)) - Evan Hahn 🐛 Fixed double-prefixed asset URLs when using CDN - Rob Lester 🐛 Fixed contributor user menu Posts link navigating to wrong route ([TryGhost/Ghost#26716](https://redirect.github.com/TryGhost/Ghost/pull/26716)) - Kevin Ansfield 🐛 Fixed contributor posts list not being scrollable ([TryGhost/Ghost#26715](https://redirect.github.com/TryGhost/Ghost/pull/26715)) - Kevin Ansfield 🐛 Fixed missing server-side label search in recipient & segment selects ([TryGhost/Ghost#26699](https://redirect.github.com/TryGhost/Ghost/pull/26699)) - Kevin Ansfield 🐛 Fixed #-prefixed member label select ordering when scrolling ([TryGhost/Ghost#26702](https://redirect.github.com/TryGhost/Ghost/pull/26702)) - Kevin Ansfield **Full Changelog**: <sredevopsorg/ghost-on-kubernetes@v6.20.0...v6.21.0> ### [`v6.20.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.20.0) #### What's Changed - chore(deps): update github/codeql-action action to v4.32.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​630](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/630) - chore(deps): update docker/build-push-action action to v6.19.2 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​629](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/629) - docs: Document Dockerfile-docker.dockerfile by [@​markstos](https://redirect.github.com/markstos) in [#​638](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/638) - chore(deps): update actions/dependency-review-action action to v4.8.3 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​641](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/641) - chore(deps): update github/codeql-action action to v4.32.4 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​642](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/642) - chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker digest to [`72d4913`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/72d4913) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​647](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/647) - chore(deps): update node.js to [`b597724`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b597724) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​644](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/644) - chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot docker digest to [`874d16e`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/874d16e) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​646](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/646) - chore(deps): update github artifact actions (major) by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​648](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/648) - chore(deps): update step-security/harden-runner action to v2.15.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​645](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/645) - chore(deps): update actions/dependency-review-action action to v4.9.0 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​650](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/650) - chore(deps): update github/codeql-action action to v4.32.5 by [@​renovate](https://redirect.github.com/renovate)\[bot] in [#​649](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/649) #### New Contributors - [@​markstos](https://redirect.github.com/markstos) made their first contribution in [#​638](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/638) **Full Changelog**: <sredevopsorg/ghost-on-kubernetes@v6.19.1...v6.20.0> </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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/mwgustin/homeops). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40OC4xIiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
refs https://linear.app/tryghost/issue/ONC-1529
gh-members-recipient-selectandgh-members-segment-selectlabelsManager.searchLabelsTask) to both components, matching the pattern already used bygh-member-label-input