Fix deleted service labels in channel details - #3689
Merged
AbigailDeng merged 1 commit intoSep 29, 2026
Merged
AbigailDeng merged 1 commit into
AbigailDeng merged 1 commit into
Conversation
AbigailDeng
merged commit Sep 29, 2026
46ce8bd
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 behavior
A deleted NyxID UserService can remain in a channel's saved authorization IDs. Channel details previously rendered that unresolved ID as a service label. After a successful account inventory read, details now show only saved services still present in that inventory, joined by exact UserService ID. Existing inactive services and services outside the current login grants retain their names.
Initial loading no longer flashes raw IDs. If every saved service is absent, the localized empty state says “No services to display” without claiming that saved authorization was revoked. Failed inventory reads preserve saved IDs and any cached names with the existing retry action; a successful retry applies the inventory filter. This includes failure when an older cached inventory exists. The change only affects presentation and does not mutate authorization or introduce automatic refresh.
Scope and regression coverage
ChannelAuthorizedServices, its English/Chinese empty-state messages, and the channel detail feature contract.Local verification
All commands ran from the repository root unless noted.
python3 /Users/abigaildeng/.codex/skills/frontend-incremental-pr/scripts/frontend_change_scope.py --repo . --base origin/feat/2026-08-04_workflow-activity-vnext— five task files identified.pnpm --dir apps/aevatar-console-web exec jest --listTests --runInBand --findRelatedTests src/pages/workflow-activity-vnext/channels/ChannelAuthorizedServices.tsx— selected seven files. Rejected automatic execution because the aggregateindex.test.tsxincludes unrelated Workflow/Activity domains. Locale catalogs were excluded from dependency discovery because of their broad import fan-out.pnpm --dir apps/aevatar-console-web exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/channels/ChannelAuthorizedServices.test.tsx src/pages/workflow-activity-vnext/channels/ChannelsPage.test.tsx src/locales/catalog.test.ts— 3 suites, 19 tests passed.pnpm --dir apps/aevatar-console-web exec biome check src/pages/workflow-activity-vnext/channels/ChannelAuthorizedServices.tsx src/pages/workflow-activity-vnext/channels/ChannelAuthorizedServices.test.tsx src/locales/channelMessages.en-US.ts src/locales/channelMessages.zh-CN.ts— passed for all four files after applying Biome formatting to the two component/test files.PATH="/opt/homebrew/opt/python@3.12/libexec/bin:$PATH" bash tools/ci/test_stability_guards.sh— passed. The initial default-Python invocation encountered the existing guard's Python 3.10+ type syntax on macOS Python 3.9; rerunning with installed Python 3.12 completed all checks.git diff --checkandgit diff --cached --check— passed.Design baseline