docs(checkpoint): Step 4 approval-time kind scope @ d09c4ec
This commit is contained in:
parent
d09c4ec1f0
commit
38612a4a93
1 changed files with 61 additions and 0 deletions
|
|
@ -1,3 +1,64 @@
|
||||||
|
# Checkpoint — Step 4 finished: interactive kind scope at approval (2026-10-01)
|
||||||
|
|
||||||
|
## Where things are
|
||||||
|
- Project: `/home/avi/Projects/Keynctr`, branch `master` @ **`d09c4ec`**
|
||||||
|
("feat(signer): interactive kind scope in the approval prompt (Step 4 finish)").
|
||||||
|
Previous: `8ffeb42` + `d1622a0` (checkpoint updates, pushed), `83f5940`
|
||||||
|
(placeholder kind-0 fix), `e8d2abb` (grant kind-editing UI).
|
||||||
|
- Working tree: clean for tracked files (always-untracked: COSMIC_THEME.md,
|
||||||
|
icon jpeg, deferred/). Push status in Next steps.
|
||||||
|
- Release binary rebuilt from d09c4ec at 13:30 (real 30s build, mtime verified).
|
||||||
|
|
||||||
|
## What was completed (user-facing)
|
||||||
|
**Step 4 remainder — kind scope chosen AT approval time:**
|
||||||
|
1. Signer screen and Signer Mode screen: on a pending `sign_event`
|
||||||
|
request, "Always allow…" opens an inline kind editor prefilled with the
|
||||||
|
request's own event kind; Allow records the grant with exactly the
|
||||||
|
edited kinds (sorted+deduped, empty = all kinds = explicit broadening),
|
||||||
|
Cancel leaves the request pending. Non-signing methods keep the plain
|
||||||
|
"Always allow" button (no kind dimension).
|
||||||
|
2. Backend: `Nip46Approve`/`SignerApprove` gained `grant_kinds`
|
||||||
|
(`serde(default) Option<Vec<u16>>` — old payloads stay valid).
|
||||||
|
`respond_to_approval_with_always(.., grant_kinds)`: `Some(list)` stores
|
||||||
|
the edited scope verbatim; `None` keeps the old fallback (kind of the
|
||||||
|
request being approved). Legacy vault rows untouched.
|
||||||
|
3. `nip46_status_as_bunker_json` now includes each pending request's
|
||||||
|
`details`, so the legacy Signer screen can prefill the editor too.
|
||||||
|
4. Shared `parseKindsInput()` in `lib/permissions.ts` (used by both the
|
||||||
|
approval editor and the existing grant editor); grant editor refactored
|
||||||
|
onto it — behaviour unchanged.
|
||||||
|
5. Latent bug fixed: `AppProvider.signerApprove` dropped the `always`
|
||||||
|
argument, so the legacy "Always allow" button never recorded a grant.
|
||||||
|
|
||||||
|
## Commits this session (newest first)
|
||||||
|
- `d09c4ec` feat(signer): interactive kind scope in the approval prompt (Step 4 finish)
|
||||||
|
- `8ffeb42` docs(checkpoint): 8070dfc..d1622a0 pushed to origin/master
|
||||||
|
- (earlier today) `d1622a0`, `83f5940`, `e8d2abb` — see checkpoint below
|
||||||
|
|
||||||
|
## Verification (all green, 2026-10-01)
|
||||||
|
- `cargo test` → 227 unit + 6 e2e, 0 failed · `cargo clippy --all-targets` → 0 warnings
|
||||||
|
- `cargo fmt --check` clean · `cargo build --release` rebuilt 13:30 from d09c4ec
|
||||||
|
- frontend: vitest 148/19 files (6 new: 3 approval-editor tests, 3
|
||||||
|
parseKindsInput units); `typecheck`, `lint`, `format:check`, `build`,
|
||||||
|
`electron:build` all green.
|
||||||
|
|
||||||
|
## How to verify in the app
|
||||||
|
1. Fully quit and relaunch Keynctr (new backend, 13:30).
|
||||||
|
2. Have the connected app request a signature → Signer screen →
|
||||||
|
"Always allow…" on the pending request → edit kinds → Allow.
|
||||||
|
The "Always-allow permissions" card shows the scoped grant; a later
|
||||||
|
request of an UNcovered kind prompts again.
|
||||||
|
3. e2e-mechanics are covered by the 3 new SignerScreen tests.
|
||||||
|
|
||||||
|
## Next steps
|
||||||
|
- PUSHED 2026-10-01 after this checkpoint (see git remote readback);
|
||||||
|
token per-use, not stored (revoke when convenient).
|
||||||
|
- User live pass: relaunch, rename npub1p437… + Publish name, try the new
|
||||||
|
approval-time kind editor with Amber.
|
||||||
|
- Optional: remove /tmp/kn-base worktree when done.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
# Checkpoint — placeholder kind-0 fix + grant editing UI (2026-10-01)
|
# Checkpoint — placeholder kind-0 fix + grant editing UI (2026-10-01)
|
||||||
|
|
||||||
## Where things are
|
## Where things are
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue