fix(console): keep required channel services selected - #3658
Merged
AbigailDeng merged 1 commit intoSep 17, 2026
Merged
AbigailDeng merged 1 commit into
AbigailDeng merged 1 commit into
Conversation
AbigailDeng
merged commit Sep 17, 2026
c408d07
into
feat/2026-08-04_workflow-activity-vnext
17 checks passed
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.
Problem and solution
The Channels Services picker allowed binding a bot without
ornn-apiorchrono-llm-public, and both could be removed individually or through Select all.Bind and Edit now preselect and lock these services, mark them Required, and keep
them selected through bulk and filtered changes. Other services remain optional.
Required services are matched by exact slug in the current authorized, active
NyxID inventory. Requests contain their actual UserService IDs. Missing access
blocks submission, including direct form submission, with an access message and
retry action. No permissions are granted automatically.
Saving an older
nyxid_defaultregistration uses the displayed explicitallowlist. The form explains that this replaces NyxID default access; it does not
guess which services those defaults included. Existing explicit optional choices
are retained.
Scope
ChannelConfigurationPageandChannelServicePickerfor Bind and Edit.Local verification
Commands below ran from
apps/aevatar-console-web/unless noted.Scope analysis, from the repository root:
python3 /Users/abigaildeng/.codex/skills/frontend-incremental-pr/scripts/frontend_change_scope.py --repo . --base origin/feat/2026-08-04_workflow-activity-vnextDependency preflight selected exactly two related test files:
pnpm exec jest --listTests --findRelatedTests src/pages/workflow-activity-vnext/channels/ChannelConfigurationPage.tsx src/pages/workflow-activity-vnext/channels/ChannelServicePicker.tsxChanged test plus all preflight-selected tests, explicitly run: 2 suites,
137 tests passed. Locales were excluded from discovery because of their global
fan-out; the rendered feature tests cover the changed messages and behavior.
pnpm exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/channels/ChannelEditPage.test.tsx src/pages/workflow-activity-vnext/index.test.tsxChanged-file static checks: passed, five files.
pnpm exec biome check src/locales/channelMessages.en-US.ts src/locales/channelMessages.zh-CN.ts src/pages/workflow-activity-vnext/channels/ChannelConfigurationPage.tsx src/pages/workflow-activity-vnext/channels/ChannelServicePicker.tsx src/pages/workflow-activity-vnext/channels/ChannelEditPage.test.tsxRepository-root checks: passed.
PATH=/opt/homebrew/opt/python@3.12/libexec/bin:$PATH bash tools/ci/test_stability_guards.sh git diff --checkBrowser verification reused the existing Chrome tab against the configured remote
backend. Confirmed two checked disabled services, optional selection, bulk
selection/deselection, and filtered required-only selection. No live bot binding
or configuration was submitted. The preview remains at
http://localhost:5197.Full frontend suite/build: deferred to GitHub CI by personal local workflow
policy. Full typecheck is also delegated to CI because there is no reliable
repository-native affected typecheck target. CI has not been awaited locally.
Design baseline