docs(checkpoint): first live Amber pairing succeeded, notifications root cause (2026-09-23)
This commit is contained in:
parent
a8d112b368
commit
ca62111092
1 changed files with 60 additions and 0 deletions
|
|
@ -1,3 +1,63 @@
|
|||
# Checkpoint — FIRST LIVE END-TO-END AMBER PAIRING SUCCEEDED (2026-09-23 PM)
|
||||
|
||||
## Where things are
|
||||
- Project: `/home/avi/Projects/Keynctr`
|
||||
- Branch: `master` @ **`a8d112b`** ("fix(ui): poll vault state so background
|
||||
Amber pairing appears without reload"). Previous: `fb14976`
|
||||
(checkpoint), `e02417b` (damus pairing relays), `8f055f7` (NIP-46 spec
|
||||
fix + trace).
|
||||
- Working tree: clean for tracked files. Untracked intentionally NOT
|
||||
committed: `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`,
|
||||
`deferred/` (stays deferred).
|
||||
- Release binary: rebuilt at `e02417b`; `a8d112b` is frontend-only (no
|
||||
rebuild needed — Electron loads the renderer from `frontend/dist`, rebuilt
|
||||
via `npm run build`). Restart Electron to pick up the renderer change.
|
||||
|
||||
## What was completed this session
|
||||
1. **ROOT CAUSE OF THE WHOLE SAGA — Amber's OS notification gate**: Amber's
|
||||
in-app log showed all four `get_public_key` RPCs arriving on all relays,
|
||||
each followed by `notifications disabled`. Amber's
|
||||
`EventNotificationConsumer.consume` returns early when Android
|
||||
notifications are blocked for the app — every signer request dies
|
||||
silently after connect. Fix was on the phone: Settings → Apps → Amber →
|
||||
Notifications → Allow. (Battery "unrestricted" was already set and was
|
||||
never the issue.)
|
||||
2. **First live end-to-end pairing**: after enabling notifications, the next
|
||||
scan completed in ~1s — `identity adopted:
|
||||
npub=npub1f3tura29nrmhpp5v88z45knjejzdcx7ulvcz2jswau4raa7v25nsh6ltfw —
|
||||
CONNECTED`. Vault holds the secretless `Nip46Client` profile as active;
|
||||
connection re-keyed under the identity. Amber shows the app; desktop
|
||||
Signer screens show Connected.
|
||||
3. **UI staleness found by the success (`a8d112b`)**: Home/Profiles read the
|
||||
launch-time state snapshot and never refetch (IPC has no push channel),
|
||||
so they still showed first-run Welcome after the background pairing.
|
||||
`AppProvider` now polls `getState()` every 5s (cheap local read, errors
|
||||
swallowed — screens surface their own failures).
|
||||
- Verification (all green at `a8d112b`): frontend `npm test` **119 passed
|
||||
(17 files)**, `typecheck`, `lint`, `format:check`, `electron:build`,
|
||||
`build` clean. Rust untouched (last green at `e02417b`: 211 unit + 4 e2e,
|
||||
clippy/fmt clean, release green).
|
||||
|
||||
## Commits added (newest first)
|
||||
- `a8d112b` fix(ui): poll vault state so background Amber pairing appears
|
||||
without reload
|
||||
|
||||
## How to resume / reproduce
|
||||
- Restart Electron (renderer changed), open Home/Profiles: the `Remote
|
||||
Signer` profile (`npub1f3tura…`) is listed and active; state refreshes
|
||||
within ~5s without reload.
|
||||
- Next: publish a note / sign through the paired Amber (approval appears in
|
||||
Amber; `sign_event` path was e2e-tested, never yet live-tested).
|
||||
|
||||
## Outstanding / next steps
|
||||
1. **Live sign/publish through paired Amber** (never exercised live).
|
||||
2. Prune the 11 stale profileless `nip46_connections` rows left by failed
|
||||
scans (cosmetic; vault-only cleanup).
|
||||
3. `publish_profile_metadata` kind-0 via `Signing` (P2), KDF upgrade (Step
|
||||
5), rename pass (Step 7) — unchanged.
|
||||
|
||||
---
|
||||
|
||||
# Checkpoint — Amber-side silence proven; damus rejoins pairing set (2026-09-23 PM)
|
||||
|
||||
## Where things are
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue