diff --git a/CHECKPOINT-encryption.md b/CHECKPOINT-encryption.md index 7717e2d..3aeed92 100644 --- a/CHECKPOINT-encryption.md +++ b/CHECKPOINT-encryption.md @@ -1,185 +1,100 @@ -# Checkpoint — HomeScreen publication filtering (2026-09-01) +# Checkpoint — Embedded Signer & NIP-46 Client Modes (2026-09-01) ## Where things are - Project: `/home/avi/Projects/Keynctr` -- Git repo: `master` @ `ea56806` ("fix: show only fully published events in Most Recent Publication box"). +- Git repo: `master` @ `b484bde` ("feat: add embedded signer and NIP-46 client signer modes"). - Working tree: clean except the usual untracked items (`.directory`, `.opencode/`, `.impeccable/`, `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`). ## What was completed -1. **Clippy is now warning-free.** Removed the two pre-existing warnings: the - no-op `drop(stored)` of a `&mut` reference in `src/profiles.rs` and the unused - `restored` binding around `app.undo_delete()` in the `UndoDelete` handler in - `src/ipc.rs`. No behaviour change — both were dead code. -2. **Profile import is now usable from the GUI.** The `profiles::import_profile` - function (already in the Rust core from the account-import work) is now exposed - through the JSON-lines IPC protocol: new `ImportProfile` request and handler in - `src/ipc.rs`, `import_profile` added to the Electron method allowlist, - `api.importProfile` + `AppProvider.importProfile` in the frontend, and - "Add existing account" buttons on the Profiles screen (empty and populated - states). The existing `ImportProfileModal` (enter only the private key; the name - and kind-0 metadata are derived from the network) is now wired to it. -3. **Active signing identity card on Home.** The Home screen shows a card with the - active profile's avatar, name, shortened npub, and a "Switch profile" button. -4. **HomeScreen test fixes.** The identity card duplicates the active profile's name - and npub on the page, so the two affected tests now scope their queries to the - identity card (via the "Active signing identity" heading) and to the profile - list, instead of querying the whole screen. -5. **Prettier** applied to `ImportProfileModal.tsx`, `ProfilesScreen.tsx`, - `AppProvider.tsx` (and the test file), clearing the three existing - `format:check` warnings — `npm run format:check` is now fully clean. -6. **HomeScreen keyboard accessibility (this session).** Profile list rows - (`
  • ` elements) are now keyboard-focusable and operable: - - Added `role="listbox"` on the `