refactor(console): retire legacy pages and simplify scoped routes - #3648
Open
AbigailDeng wants to merge 3 commits into
Open
AbigailDeng wants to merge 3 commits into
AbigailDeng wants to merge 3 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## feat/2026-08-04_workflow-activity-vnext #3648 +/- ##
===========================================================================
- Coverage 84.56% 83.42% -1.14%
===========================================================================
Files 1503 1685 +182
Lines 140015 193217 +53202
Branches 17180 23239 +6059
===========================================================================
+ Hits 118403 161196 +42793
- Misses 13747 21208 +7461
- Partials 7865 10813 +2948
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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 Result
The feature branch still exposes the old Teams/Members console alongside the current Workflow Activity experience, and current resource URLs contain the preview name
workflow-activity-vnext. This PR makes Workflows, Activity, Channels, and Settings the production console and removes that segment from scoped URLs.Base:
feat/2026-08-04_workflow-activity-vnext./scopes/:scopeId/workflows,/scopes/:scopeId/activity,/scopes/:scopeId/channels, and/scopes/:scopeId/settings, including existing create/detail/edit routes./workflowsaccount-scope resolution and login/callback recovery. Home aliases open this entry. Safe deep links retain query parameters and fragments.Old business URLs, including the former vNext namespace, now render 404. No hidden legacy route aliases remain. The existing canvas benchmark stays behind its exact development opt-in. Internal source-directory, query-key, and locale-key names are unchanged.
Latest Conflict Resolution — 2026-09-17
Merge commit
b875470d7includes target branch commitdae3e45c8and resolves all 31 conflicting files. The target remainsfeat/2026-08-04_workflow-activity-vnext./scopes/:scopeId/channels/bind/:botId; the replaced Telegram credential route and page stay retired. Update binding, edit-save, and removal navigation assertions to the canonical URLs.shared/settings/userLlmSelection.test.ts.Verification on the resolved merge
17 suites / 84 tests passed; changed-file Biome passed for 11 files. Test stability and GAgent registry guards passed. The internal module-resolution audit found no missing modules, surviving legacy pages, or references to retired page modules. The final PR diff passes the whitespace check and includes no backend changes.
Exact commands, from the repository root:
The scoped dependency preflight selected five files. Its broad
index.test.tsxhas no Channel cases and was excluded from the final run; an earlier 18-file attempt including it was interrupted and is not counted as passing evidence. Global navigation and auth are covered by their dedicated contract tests; all retained test files changed by this synchronization were run explicitly.The stability guard needs Python 3.10+ and committed ancestry. The system Python 3.9 attempt failed on union-type syntax; the pre-commit Python 3.12 attempt failed its Git ancestry assertion. The complete guard passed after creating the merge commit with the installed Python 3.12 selected only for that process:
Full frontend suite, typecheck, and production build remain delegated to GitHub CI. No reliable affected typecheck target exists, and no full local fallback was run.
Original Implementation Verification
Focused result: 25 test files / 335 tests passed, counting the successful focused reruns. The first run exposed JSX transform issues in two new/updated tests; the final reruns below passed. Changed-file Biome passed for 39 files.
From
apps/aevatar-console-web:Exact related-test commands
Dependency selection also used
jest --listTests --runInBand --findRelatedTestson navigation, the resource shell, the shared editor surface, and the two moved settings helpers. Global app/auth changes use their direct regression files to avoid a full-suite dependency fanout.Exact changed-file static-check command
pnpm exec biome check \ config/routes.ts \ jest.config.ts \ src/app.layout.test.ts \ src/app.test.tsx \ src/app.tsx \ src/pages/auth/callback/index.test.tsx \ src/pages/workflow-activity-vnext/WorkflowActivityVNextShell.test.tsx \ src/pages/workflow-activity-vnext/WorkflowActivityVNextShell.tsx \ src/pages/workflow-activity-vnext/WorkflowHomePage.test.tsx \ src/pages/workflow-activity-vnext/activity/ActivityPage.test.tsx \ src/pages/workflow-activity-vnext/activity/RunDetailPage.test.tsx \ src/pages/workflow-activity-vnext/channels/ChannelEditPage.test.tsx \ src/pages/workflow-activity-vnext/channels/ChannelsPage.test.tsx \ src/pages/workflow-activity-vnext/channels/TelegramConnectionPage.test.tsx \ src/pages/workflow-activity-vnext/index.test.tsx \ src/pages/workflow-activity-vnext/index.tsx \ src/pages/workflow-activity-vnext/navigation.test.ts \ src/pages/workflow-activity-vnext/navigation.ts \ src/pages/workflow-activity-vnext/settings/AccountPanel.test.tsx \ src/pages/workflow-activity-vnext/settings/SettingsPage.tsx \ src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx \ src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx \ src/pages/workflow-activity-vnext/workflows/WorkflowScheduleSurface.test.tsx \ src/routesConfig.test.ts \ src/shared/auth/client.test.ts \ src/shared/auth/session.test.ts \ src/shared/auth/session.ts \ src/shared/settings/userLlmSaveObservation.test.ts \ src/shared/settings/userLlmSaveObservation.ts \ src/shared/settings/userLlmSelection.test.ts \ src/shared/settings/userLlmSelection.ts \ src/shared/ui/ConsoleHeaderActions.test.tsx \ src/shared/ui/ConsoleHeaderActions.tsx \ src/shared/workflowEditor/WorkflowStudioCanvas.test.tsx \ src/shared/workflowEditor/WorkflowStudioCanvas.tsx \ src/shared/workflowEditor/WorkflowStudioCanvasRegion.tsx \ src/shared/workflowEditor/WorkflowStudioEditorSurface.tsx \ src/shared/workflowEditor/WorkflowStudioEmptyState.tsx \ src/shared/workflowEditor/WorkflowStudioNodeLibrary.tsxFrom the repository root, all passed:
An internal TypeScript import-resolution audit found no remaining imports of retired pages and no missing internal modules. An exact deleted-path reference scan of frontend source/config, tools, and CI found no stale executable references.
Browser smoke check: development compilation succeeded with the configured remote backend. Verified
/workflowslogin recovery, canonical Channels deep-link query/hash preservation, and old Teams URL 404. The local preview had no authenticated session, so live signed-in data operations were not exercised.Full frontend suite, typecheck, and production build are delegated to GitHub CI under the personal local-validation policy. The repository has no reliable affected typecheck target; no full local fallback was run.
CI Fix And Base Synchronization
CI run
35053289124failed one test in shard 4:AevatarTooltipImportGuard.test.tsdetected a direct Ant Design Tooltip import inChannelDetailsPage.tsx. The other three test shards passed. The same failure was reproduced locally before this update.Commit
69c94b035merges the updated feature base at3dfb85f27, including the shared-tooltip correction already merged through #3647. It also retains the latest Label/Skill name editing behavior. The new label-save test from that base now expects the canonical channel-detail URL without the retired namespace. No test guard or assertion is disabled.Focused follow-up result: 9 suites / 67 tests passed. Biome passed for the nine source/test/locale files brought in by the synchronization, and the test stability guard passed.
Dependency preflight selected seven suites. Six directly cover Channels and its API adapters; the broad index suite has no Channel cases and was excluded from this follow-up. The targeted Tooltip guard and two locale audits complete the nine-suite selection. Internal import audit still finds no missing modules or imports of retired pages, and source/config tests contain no old scoped vNext URL literals.
Full frontend suite, typecheck, and production build remain delegated to GitHub CI; no full local verification was run.
Design Baseline
apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/aevatar-workflow-activity-vnext.excalidraw30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de2026-08-04-workflow-activity-vnext-design.mdand2026-08-04-workflow-activity-vnext-user-paths.md.2026-09-16-console-route-consolidation.md, which supersedes original namespace isolation and legacy-page preservation.aevatar-workflow-schedule-design.excalidraw, SHA-256cd5c84c45ffb0cdb253af31b7e1b7616504b35520298f01773026e3b76882d8a; supplements2026-08-11-workflow-schedule-design.mdand2026-08-21-workflow-schedule-history-design.md.