v0.5 closeout: home-at-login (#146), Test connection (#142), orphan-key warning (#145) #149

Merged
Cordy merged 1 commit from feat/v05-closeout into main 2026-08-09 02:49:02 +00:00
Owner

Closes #146, #142, #145 — the three remaining v0.5 code items, all born from the #106 dogfood.

#146: auth.WithHomeEnsure decorator (inner Provider embedded, only Authenticate intercepted) materializes /home/<user> via the unscoped store on first successful auth, once per username per process. Gated on HomesEnabled(). Fixes fresh users and — permanently-broken before — unscoped admins failing the peering residency check. Unit test covers fire-once and nil-user passthrough.

#142: Client.Ping (Hello + Authenticate through the real dial path incl. grpcTarget), exposed as admin POST /api/v1/admin/peering/peers/{name}/test with a 5s timeout; raw error returned as the payload. Panel gains a "Test connection" button per peer row with inline ✓/✗ + message. Audited. Would have caught #140 and #143 at registration time.

#145: peers are now fetched before the issued-keys render; any issued key with no same-named peer entry gets an inline warning — "its holder can authenticate, but transfers will be refused." The exact trap from the dogfood (dogfood vs Main-Cairn).

i18n en/de/fr/it throughout. Green: gofmt/vet, full go test ./... incl. three new tests, node --check both blocks.

Closes #146, #142, #145 — the three remaining v0.5 code items, all born from the #106 dogfood. **#146:** `auth.WithHomeEnsure` decorator (inner `Provider` embedded, only `Authenticate` intercepted) materializes `/home/<user>` via the unscoped store on first successful auth, once per username per process. Gated on `HomesEnabled()`. Fixes fresh users and — permanently-broken before — unscoped admins failing the peering residency check. Unit test covers fire-once and nil-user passthrough. **#142:** `Client.Ping` (Hello + Authenticate through the real dial path incl. `grpcTarget`), exposed as admin `POST /api/v1/admin/peering/peers/{name}/test` with a 5s timeout; raw error returned as the payload. Panel gains a "Test connection" button per peer row with inline ✓/✗ + message. Audited. Would have caught #140 and #143 at registration time. **#145:** peers are now fetched before the issued-keys render; any issued key with no same-named peer entry gets an inline warning — "its holder can authenticate, but transfers will be refused." The exact trap from the dogfood (`dogfood` vs `Main-Cairn`). i18n en/de/fr/it throughout. Green: gofmt/vet, full `go test ./...` incl. three new tests, `node --check` both blocks.
feat: v0.5 closeout — home-at-login (#146), peer test button (#142), orphan-key warning (#145)
All checks were successful
ci / test-and-build (pull_request) Successful in 34s
26008337a7
Cordy merged commit b7d9d12503 into main 2026-08-09 02:49:02 +00:00
Cordy deleted branch feat/v05-closeout 2026-08-09 02:49:05 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#149
No description provided.