Remove unavailable services from channel Bind and Edit selections - #3684
Merged
AbigailDeng merged 1 commit intoSep 29, 2026
Conversation
AbigailDeng
merged commit Sep 29, 2026
0a1d6f3
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 resulting behavior
After a user removed a service in NyxID, Bind and Edit restored its old selection as an Unavailable row, counted it as selected, and blocked submission until the user manually unchecked it. The shared form now removes deleted, inactive and unauthorized services from the picker, draft selection, selected count and next submission after a successful access refresh.
The form preserves choices while access is loading or a refresh fails. If a removed service later becomes authorized again, it returns unchecked. The channel still requires an explicit Bind or Save action, and missing built-in services still block submission. URL-requested missing services continue to appear in the separate authorization notice. The picker no longer creates unavailable placeholders or asks users to deselect them manually; unused English and Chinese messages are removed.
Affected paths: shared
ChannelConfigurationPage,ChannelServicePicker, their route integration tests and channel locale catalogs. Updateddocs/superpowers/specs/2026-09-28-channel-service-access.mdrecords the selection cleanup contract and failure behavior. No backend or NyxID contract changes.Local verification
5 focused suites / 35 tests passed. Coverage includes Edit initial loading with missing/inactive/unauthorized saved services, browser-history return with a failed refresh and retry, later reauthorization remaining unchecked, Bind draft restoration after service deletion, and submission payloads omitting removed IDs. Existing default-skill, required-service and save/bind tests pass.
Commands run from the repository root:
Dependency preflight selected 5 files, including the broad vNext entry suite with unrelated workflow/settings domains. Execution was narrowed to the 4 directly relevant channel suites plus the locale catalog test. Changed-file Biome checks passed for all 6 files; stability guards and whitespace checks passed.
Authenticated local browser inspection against the configured remote backend confirmed Agent Event Gateway is absent from the picker, the selected count is 4, and no Unavailable warning remains. No live grant changes or channel saves were performed.
Full frontend suite, typecheck and production build are delegated to GitHub CI by personal local workflow policy. No reliable repository-native affected typecheck is available.
Design baseline
apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/aevatar-workflow-activity-vnext.excalidraw30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577deapps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-design.mdapps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-user-paths.md