Skip to content

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

@potter-sun

Description

@potter-sun

Background

Console Web now has real Studio member and team APIs, but the Studio route/state model still carries legacy service-backed assumptions in several paths. Users should experience Studio as a selected team context plus a selected member, while published service remains an implementation detail or advanced diagnostic fact.

Scope

  • Make real member identity the canonical Studio route and selection identity.
  • Keep old service-backed links working through an explicit legacy adapter.
  • Rename transitional local variables so service identity is not mistaken for member identity.
  • Remove new code paths that use service id as member identity.
  • Update tests around route parsing, rail selection, Team-to-Studio deep links, and legacy compatibility.

Acceptance Criteria

  • Studio URL and route state treat member id as real member identity.
  • Legacy service-backed links resolve through an isolated compatibility path.
  • Team Detail -> Studio links preserve scope id, team id, and member id without service identity drift.
  • Studio left rail selection stays pinned to a single member.
  • Tests cover direct member links and legacy service links.

Verification

  • npm --prefix apps/aevatar-console-web run tsc
  • npm --prefix apps/aevatar-console-web run build
  • 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

References

  • apps/aevatar-console-web/src/pages/studio/index.tsx
  • apps/aevatar-console-web/src/shared/studio/navigation.ts
  • apps/aevatar-console-web/src/pages/teams/detail.tsx
  • docs/design/2026-04-23-studio-member-first-frontend-implementation-checklist.md

Metadata

Metadata

Assignees

Labels

todoIssue ready for Symphony to pick up

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions