Public Access
Say what the docs describe, in the order they describe it
A tidy across docs/, and every change is either something that had drifted from the code or something a reader would trip over. Nothing here is a rewrite: the audit documents keep their audit-time text, because that is what the scope was decided against, and corrections are marked in place the way each file already marks them. The one that matters is crypto.md. Section 4.3's resourceType table stopped at 13 while CryptoSpec.AadResourceType has carried ConnectionLogEntry = 14, ActivityLogEntry = 15 and ObjectStore = 16 since the logs and the buckets shipped — and items have been sealed under all three. That file is normative, so a table three item kinds behind the code is the sort of gap somebody reimplementing this would build against. Nothing on the wire or on disk changes; the list now says what the code has been doing, and it notes the thing that makes it worth reading carefully — 14, 15 and 16 are the first members that are not a fixed offset from their SyncEntityType counterparts, because 12 and 13 closed a hole and pushed the two enums apart. manual-checks.md had Phase 3 in an order nobody could follow: 3.2b, then 3.2a, then 3.4a, then 3.3. The letters are not the problem — they exist so a check can keep its number for life, which is what lets HostGridTests cite 7.6 and platform-flags.md cite 3.6-3.8 — so the sections are reordered and the numbers are untouched, and the intro now says the convention out loud rather than leaving the next person to infer it from two orphaned letters. Phases 8 and 9 got the horizontal rule every other phase has. The Phase 3 preamble still said "a sidebar that now draws headings", which has been two different interfaces for a while: the desktop's grid of cards and the phone's flat list. 7.6 cited MovingAHostToAGroup_FilesItAndLeavesItSelected, which was renamed in the commit before this one. Every other Type.Member citation across all six files was checked against src/ and tests/ the same way; those two were the only ones pointing at nothing. design-import-gaps.md's v3 section described the grid of cards without saying it holds one level, and its Groups row still said the sidebar emits one heading per group — true of the phone and not of the desktop. The team-groups row said a host a teammate filed "shows under UNGROUPED", which is now only half the story and the interesting half is why: the chip resolves through groupsById, which is every readable vault, while the level resolves through Groups, which is the active vault alone — so the card sits at the outermost level with its group's name still on it. Verified against both call sites rather than reasoned about. android-port.md's destination inventory is the desktop as it stood when the audit was taken and is deliberately left that way, with a note at its head saying so and two inline corrections where a reader would otherwise be misled: the rail lost FILES and S3 to fixed tabs, and the hosts sidebar became a grid — which is exactly why the headings this head draws are the phone's alone now. adding-hosts-on-the-phone.md is a plan marked built, so its two open questions are answered in place: GroupId did get into the merge test's with block, and the server test that asserts a plaintext ParentId is refused survived under a name that says what it means. Its "found on the way" note is marked still open, because it is: LocalCacheProtector.For has no arm for ConnectionLogEntry, ActivityLogEntry or ObjectStore, so ConflictStore.Record still throws for all three. That outlived the phases that shipped them, which is the drift a note like that exists to prevent. No code changed, so the suite is untouched at 1522 passing.
This commit is contained in:
+16
-1
@@ -311,7 +311,11 @@ that appear rarely and matter most. Those are marked **◆**.
|
||||
- **Status bar** — the selected terminal's live dot and address, the vault's last status sentence, the sync
|
||||
label again, and the search hint.
|
||||
- **Nav rail** — eight destinations: `HOSTS FILES KEYS PINS SNIPS LOGS TEAM PREFS`. Five characters is a
|
||||
desktop constraint, not a product one; the phone can use words.
|
||||
desktop constraint, not a product one; the phone can use words. ⚠️ **Corrected:** the desktop's v3 moved
|
||||
FILES and the S3 buckets out of the rail and onto fixed tabs beside the terminals, leaving seven — they are
|
||||
the two destinations you *stay in* while something runs, and a rail entry is for somewhere you go and come
|
||||
back from. The phone reached the same count by a different route: three bottom-bar destinations with the
|
||||
rest behind Settings.
|
||||
- **Terminal strip** — always visible, above every screen. Tabs with a close cross *inside* each tab, a `+`,
|
||||
and a sentence when there are none. This is what makes a terminal a surface the window switches to rather
|
||||
than a screen you navigate away from, and it is the single most desktop-shaped idea in the product.
|
||||
@@ -319,10 +323,21 @@ that appear rarely and matter most. Those are marked **◆**.
|
||||
|
||||
### The nine destinations
|
||||
|
||||
> ⚠️ **This is the desktop as it stood when the audit was taken, and it is left that way on purpose** — it is
|
||||
> the checklist the scope was decided against, so rewriting it would erase what was actually weighed. Two
|
||||
> things have moved since, and both are noted where they belong below: the rail lost FILES and S3 to fixed
|
||||
> tabs in the desktop's v3, and the hosts sidebar became a grid of cards. Neither changed what a phone needs
|
||||
> somewhere to put, which is what this list is for.
|
||||
|
||||
**1. Hosts** — the list of machines, and what is known about the selected one.
|
||||
|
||||
- *Sidebar:* filter box; group headings with a chevron and a count, **shown only when groups exist**; host
|
||||
rows carrying a connected dot, name, sync badge, address and one word for how it authenticates.
|
||||
⚠️ **Corrected:** the desktop replaced this column with a grid of cards and a right-hand drawer, and its
|
||||
grid holds one level of the groups at a time — so the headings, their chevrons and UNGROUPED are now the
|
||||
*phone's* alone, drawn from `SidebarRows`. That is what shipped here, and it is why this head flattens the
|
||||
whole tree rather than navigating into it: there is no room for a row of group cards at 360dp and nothing
|
||||
to open one into. See `docs/design-import-gaps.md` on the desktop's v3.
|
||||
- *Editor* (doubles as "add"): name, hostname, port, username, notes, one authentication picker covering
|
||||
typed password / key / stored credential, a group picker, a relay checkbox with the sentence explaining
|
||||
that relay puts the address on the server in plain text, and **◆ forget host key** — the only way back from
|
||||
|
||||
Reference in New Issue
Block a user