Skip to content

feat(console-web): finish Studio member identity routing#658

Open
potter-sun wants to merge 2 commits into
devfrom
feat/2026-05-14_console-web-member-identity
Open

feat(console-web): finish Studio member identity routing#658
potter-sun wants to merge 2 commits into
devfrom
feat/2026-05-14_console-web-member-identity

Conversation

@potter-sun
Copy link
Copy Markdown
Collaborator

Problem

Studio route state still treated legacy service-backed memberId values as if they were canonical member identity. That made old service links useful, but it also allowed service ids to leak into member selection, Team return links, and lifecycle surfaces.

Closes #652

Solution

  • Treat member=member:<id> as the canonical Studio member route identity.
  • Parse legacy memberId=<serviceId> as an explicit compatibility token and canonicalize it to the real member id once the roster/service mapping is known.
  • Keep direct member links stable and prevent legacy service tokens from triggering studioApi.getMember(scope, serviceId) before canonicalization.
  • Preserve Bind/Invoke/Observe lifecycle selection against the canonical member while still using published service ids only for runtime service selection.
  • Update Studio tests for direct member links, legacy service links, route resync, Team return links, and lifecycle rail/Invoke behavior.

Verification

  • git diff --check
  • npm --prefix apps/aevatar-console-web run test -- --runInBand src/pages/studio/index.test.tsx -t "carries the selected bind contract|shows an invoke empty state|opens the Studio invoke surface|walks the lifecycle flow"
  • npm --prefix apps/aevatar-console-web run test -- --runInBand src/pages/studio/index.test.tsx src/shared/studio/navigation.test.ts src/pages/teams/detail.test.tsx
  • npm --prefix apps/aevatar-console-web run tsc
  • npm --prefix apps/aevatar-console-web run build

Notes: Jest emits existing React act(...) and Watchman recrawl warnings; all targeted suites passed. The focused Biome lint command reports pre-existing warnings in the touched files and no errors.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.13%. Comparing base (e77e3e8) to head (5e92074).

@@            Coverage Diff             @@
##              dev     #658      +/-   ##
==========================================
- Coverage   72.13%   72.13%   -0.01%     
==========================================
  Files        1261     1261              
  Lines       91065    91065              
  Branches    11924    11924              
==========================================
- Hits        65690    65689       -1     
- Misses      20675    20676       +1     
  Partials     4700     4700              
Flag Coverage Δ
ci 72.13% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@potter-sun potter-sun marked this pull request as ready for review May 15, 2026 03:40
@potter-sun potter-sun requested a review from AbigailDeng as a code owner May 15, 2026 03:41
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.

feat(console-web): finish Studio member identity and legacy service cleanup

1 participant