Skip to content

Remove unavailable services from channel Bind and Edit selections - #3684

Merged
AbigailDeng merged 1 commit into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-09-29_remove-revoked-channel-services
Sep 29, 2026
Merged

AbigailDeng merged 1 commit into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-09-29_remove-revoked-channel-services

Conversation

@AbigailDeng

Copy link
Copy Markdown
Contributor

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. Updated docs/superpowers/specs/2026-09-28-channel-service-access.md records 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:

python3 /Users/abigaildeng/.codex/skills/frontend-incremental-pr/scripts/frontend_change_scope.py --repo . --base origin/feat/2026-08-04_workflow-activity-vnext
pnpm --dir apps/aevatar-console-web exec jest --listTests --runInBand --findRelatedTests src/pages/workflow-activity-vnext/channels/ChannelConfigurationPage.tsx src/pages/workflow-activity-vnext/channels/ChannelServicePicker.tsx
pnpm --dir apps/aevatar-console-web exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/channels/ChannelServiceAccess.test.tsx src/pages/workflow-activity-vnext/channels/ChannelBindServiceAccess.test.tsx src/pages/workflow-activity-vnext/channels/ChannelEditPage.test.tsx src/pages/workflow-activity-vnext/channels/ChannelDefaultSkill.test.tsx src/locales/catalog.test.ts
pnpm --dir apps/aevatar-console-web exec biome check src/pages/workflow-activity-vnext/channels/ChannelConfigurationPage.tsx src/pages/workflow-activity-vnext/channels/ChannelServicePicker.tsx src/pages/workflow-activity-vnext/channels/ChannelServiceAccess.test.tsx src/pages/workflow-activity-vnext/channels/ChannelBindServiceAccess.test.tsx src/locales/channelMessages.en-US.ts src/locales/channelMessages.zh-CN.ts
env PATH="/Users/abigaildeng/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin:$PATH" bash tools/ci/test_stability_guards.sh
git diff --check

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

  • Baseline: apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/
  • Primary: aevatar-workflow-activity-vnext.excalidraw
  • SHA-256: 30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de
  • Contract: apps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-design.md
  • User paths: apps/aevatar-console-web/docs/superpowers/specs/2026-08-04-workflow-activity-vnext-user-paths.md
  • Preserve the compact existing Services layout and shared design tokens. Existing authentication/session/returnTo and Umi localization remain authoritative. Production data comes from real APIs and acknowledged user actions; fixtures remain test-only.

@AbigailDeng
AbigailDeng merged commit 0a1d6f3 into feat/2026-08-04_workflow-activity-vnext Sep 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant