docs(nav): correct two comments about utilities and manage invites

The More hub carries feature destinations only; Settings and
Notifications sit in the top-bar menu. The browser-only refusal for a
manage invitation comes from the transport check, which runs before and
independently of the second-factor step-up.
This commit is contained in:
Marc-André Bombeck committed 2026-09-13 14:12:54 +02:00
1 parent 7d40103616
commit dd5dd1e45e
2 files changed
+7 -5

No files matched your search

+4 -3
View File
@@ -56,9 +56,10 @@ interface NavLink {
// (`nav-model.ts`), the same ordered list the desktop sidebar renders.
// The bar keeps its ergonomic 5-slot shape, but the hub is computed by the
// model's `mobileMoreHubDestinations()` (feature list minus the primary
// slots, plus the shared utility tail) — so the two surfaces tell one story
// instead of two hand-curated ones that drift, and the headline invariant
// is a tested model function rather than inline bar logic.
// slots; Settings and Notifications live in the top-bar menu) — so the two
// surfaces tell one story instead of two hand-curated ones that drift,
// and the headline invariant is a tested model function rather than
// inline bar logic.
// The Meds slot is module-gated exactly like the Insights slot below:
// `/medications` renders nothing when the medications module is off, so a
// pinned tab would be a visible control over a blank page.
@@ -724,8 +724,9 @@ export function inviteErrorKey(err: unknown): string {
return "recordSharing.invite.errorInvalid";
case "sharing.invite.invalid_scope":
return "recordSharing.invite.errorScope";
// The decided consequence of gating Manage on a fresh second factor: the
// step-up is cookie-only, so this reaches a native caller and nobody else.
// Manage access is offered from a browser session only: the route refuses
// a Bearer caller before any second-factor check, so this reaches a native
// caller and nobody else.
// Named rather than folded into the generic failure, because "use a
// browser for this one" is a next step and "the invitation could not be
// sent" is not.