Repository navigation
Use organization slugs in Console handoffs - #1101
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
WalkthroughConsole organization routes and billing destinations now use validated organization-name slugs, while numeric IDs remain in use for authorization and service operations. Management flows compare requested path slugs with resolved organization names. Organization creation resolves the route name before setting organization context. ChangesOrganization slug handoff
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant ProfileRoute
participant ManagePage
participant currentConsoleOrganization
participant read
ProfileRoute->>currentConsoleOrganization: organization ID and return-path slug
ManagePage->>currentConsoleOrganization: organization ID and return-path slug
currentConsoleOrganization->>read: read organization by ID
read-->>currentConsoleOrganization: organization record and name
currentConsoleOrganization-->>ProfileRoute: accept or reject slug match
currentConsoleOrganization-->>ManagePage: accept or reject slug match
Merge Risk: ⚪ Minimal · up to No confirmed issue blocks the slug-based Console handoffs. Pre-merge checks |
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Console billing and management handoffs now use the organization's current unique name in
/organizations/{slug}/...URLs. Permanent organization IDs remain the service API and authorization identity; management pages and form returns recheck that the locator belongs to the same current member/owner-authorized organization.Numeric-only names remain valid slugs, without numeric-ID fallback or old-name redirects. No database migration, auth-provider change, billing policy or AI execution change.
Validation: all 480 Platform consumer tests pass, editor typecheck passes, formatting/lint hooks pass, and the real production-mode API pipeline passes all 386 HTTP cases. Its isolated build inventory includes the destination module consumed by the billing adapter. Coverage includes current billing/upgrade/purchase links, shared destination grammar and mismatched slug/ID rejection before mutation.