docs(checkpoint): kind-0 via signer at 6f4dbb2 (2026-09-23)
This commit is contained in:
parent
6f4dbb2ca1
commit
cd8b6711a4
1 changed files with 55 additions and 0 deletions
|
|
@ -1,3 +1,58 @@
|
|||
# Checkpoint — kind-0 publishes through Amber; name goes network-wide (2026-09-23 PM)
|
||||
|
||||
## Where things are
|
||||
- Project: `/home/avi/Projects/Keynctr`
|
||||
- Branch: `master` @ **`6f4dbb2`** ("feat(nip46): publish kind-0 metadata
|
||||
through the connected signer"). Previous: `327bf0f` (checkpoint),
|
||||
`3d1c306` (silent poll).
|
||||
- Working tree: clean for tracked files. Untracked intentionally NOT
|
||||
committed: `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`,
|
||||
`deferred/` (stays deferred).
|
||||
- Release binary: **rebuilt at `6f4dbb2`**. Renderer rebuilt via
|
||||
`npm run build`. Restart Electron before retesting.
|
||||
|
||||
## What was completed this session
|
||||
1. **Closed the P2 kind-0 gap (`6f4dbb2`)**: the "Publish name" IPC path
|
||||
now routes through the profile's `Signing` source (same pattern as
|
||||
note publishing). Embedded profiles sign locally as before; a paired
|
||||
profile's kind-0 (label/picture/nip05) is signed by the remote signer —
|
||||
Amber shows an approval prompt — so the name becomes visible in every
|
||||
Nostr client. Disconnected sessions fail closed, never with a local
|
||||
fallback. CLI keeps the local-only path (no signer instances there).
|
||||
2. **E2E proof**: the strict-Amber test now also publishes kind-0 through
|
||||
`App::signing_for` + `publish_metadata_signed` and asserts relay
|
||||
acceptance — the exact GUI path, with identity validation. Along the way
|
||||
fixed the test's production wiring (handle registered on `App`, as
|
||||
`ensure_nip46_signer` does) after a `None`-handle failure poisoned the
|
||||
shared env lock and cascaded to all 4 e2e tests.
|
||||
3. Rename modal copy now points remote profiles at "Publish name" (Amber
|
||||
approval) instead of claiming the signer app publishes it.
|
||||
- Verification (all green at `6f4dbb2`): `cargo test` **212 unit + 4 e2e
|
||||
passed / 0 failed**, `cargo clippy --all-targets` 0 warnings,
|
||||
`cargo fmt --check` clean, `cargo build --release` green; frontend
|
||||
`npm test` **120 passed**, `typecheck`, `lint`, `format:check`,
|
||||
`electron:build`, `build` clean.
|
||||
|
||||
## Commits added (newest first)
|
||||
- `6f4dbb2` feat(nip46): publish kind-0 metadata through the connected
|
||||
signer
|
||||
|
||||
## How to resume / reproduce
|
||||
- Restart Electron → Profiles → **Publish name** on the paired profile →
|
||||
approve the `sign_event` (kind 0) prompt in Amber → per-relay report.
|
||||
Check any Nostr client: the display name (your vault label) now appears
|
||||
instead of the bare npub.
|
||||
- E2E: `cargo test --test nip46_e2e` (4 tests incl. kind-0-via-signer).
|
||||
|
||||
## Outstanding / next steps
|
||||
1. **Live "Publish name" through real Amber** (e2e-proven, never live-run).
|
||||
2. **NIP-46 session restore on startup** (re-scan needed after restarts).
|
||||
3. Prune the 11 stale profileless `nip46_connections` rows (cosmetic).
|
||||
4. Remote picture/nip05 edits, KDF upgrade (Step 5), rename pass
|
||||
(Step 7) — unchanged.
|
||||
|
||||
---
|
||||
|
||||
# Checkpoint — silent state poll + session-restore gap named (2026-09-23 PM)
|
||||
|
||||
## Where things are
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue