git:20261011.7feac4d to git:20261013.bb68532
4 added, 2 removed. Audit A to A.
# DOX — packages/client/src/components/connectivity
Files in this directory. One row per source file. See change: fold-oversized-agents-directories.
| File | Purpose |
|------|---------|
| `__tests__/PasskeyImpactNote.test.tsx` | Impact note: cleared override still asks, partial draft skipped, url query + silent on zero. See change: add-passkey-user-auth. |
- | `__tests__/UsersSection.test.tsx` | Users section: list/orphaned, add, invite QR, re-tier + two-click revoke, unstable disabled-with-reason, disabled note, bootstrap. See change: add-passkey-user-auth. |
+ | `__tests__/UsersSection.test.tsx` | Users section: list/orphaned, add, invite QR, re-tier + two-click revoke, unstable disabled-with-reason, disabled note, bootstrap; status pill texts, testids kept, copy-failed colour, load Retry. See change: add-passkey-user-auth; retro-ux-identity-connectivity. |
+ | `__tests__/connectivity-token-scan.test.ts` | Scans the 5 in-scope components + `connectivity-ui.ts` for palette classes / hex / `rgba(` (comments stripped); only `bg-white` allowed is the invite QR quiet zone. See change: retro-ux-identity-connectivity. |
+ | `connectivity-ui.ts` | Shared class recipes (tokens only): `severityPill`, `identityPill` (Local/Remote), `callout`, `BTN_*` (primary 44/36 px, row actions 32 px), `LABEL`/`HELP`/`META`/`INPUT`/`ROW`/`INSET`. Used by Users, selector, known servers, discovery. See change: retro-ux-identity-connectivity. |
| `ConnectionStatusBanner.tsx` | Disconnection banner: appears only after active WebSocket has been non-`OPEN` for >3s continuously; hidden… → see `ConnectionStatusBanner.tsx.AGENTS.md` |
| `KnownServersSection.tsx` | Settings section managing persisted known remote servers. → see `KnownServersSection.tsx.AGENTS.md` |
| `NetworkDiscoverySection.tsx` | Settings section for mDNS server discovery. Exports `NetworkDiscoverySection`. → see `NetworkDiscoverySection.tsx.AGENTS.md` |
| `PairedDevicesSection.tsx` | Settings → Security → Paired Devices. Lists bearer-paired devices (label, last-seen), per-device… → see `PairedDevicesSection.tsx.AGENTS.md` |
| `__tests__/PairedDevicesSection.test.tsx` | F4 (mcp-legacy-clients-and-token-issuance) + create-flow rows, plus F1–F5 (expand-mcp-tiered-surface): tier radio defaults `observe` and warns on `operate`, base-URL select preselects the origin, snippet uses the chosen tier+base with the token once, token not shown after reopen, per-row tier badge. Mocks `../../lib/pairing/paired-devices-api.js`. |
| `PairLanding.tsx` | Browser `/pair` landing — phone-camera counterpart of the Electron shell `PairView`. Exports `PairLanding`. → see `PairLanding.tsx.AGENTS.md` |
| `PasskeyImpactNote.tsx` | `PasskeyImpactNote({query,testId,debounceMs})`: `query` = `{url}` (provider switch) or `{redirectBaseUrl}` (draft override; empty = cleared, still asked); non-URL drafts skipped. Fetches `credentialImpact`, renders `impactConsequence` or nothing (errors swallowed — advisory). See change: add-passkey-user-auth. |
| `ServerSelector.tsx` | Server selector dropdown showing persisted known servers. → see `ServerSelector.tsx.AGENTS.md` |
| `TunnelButton.tsx` | Exports `TunnelButton`. Unified tunnel/QR button. Polls `/api/tunnel-status` every 30s. → see `TunnelButton.tsx.AGENTS.md` |
- | `UsersSection.tsx` | Settings → Security → Users: add user + tier (empty ⇒ first-operator bootstrap, no tier picker), re-tier select, two-click revoke, Invite QR (img data URL + copy link), orphaned badge, unstable origin ⇒ invite DISABLED with `aria-describedby` reason, disabled feature ⇒ how-to-enable note. Uses `lib/users/*`. See change: add-passkey-user-auth. |
+ | `UsersSection.tsx` | Settings → Security → Users: add user + tier (empty ⇒ first-operator bootstrap, no tier picker), re-tier select, two-click revoke, Invite QR (img data URL + copy link), status + orphaned severity pills (Active / Invite pending / Revoked; separate warning orphaned pill), unstable origin ⇒ warning callout + invite DISABLED with `aria-describedby` reason, disabled feature ⇒ how-to-enable note, load failure ⇒ error callout + Retry, labelled add form with the section's one primary button, 32 px row actions, copy-failed in `--severity-error-fg`; QR keeps `bg-white` (quiet-zone exception). Uses `lib/users/*`. See change: add-passkey-user-auth; retro-ux-identity-connectivity. |