From 8117b7913be57c3f8884b96bf3c0cb36eaf86de7 Mon Sep 17 00:00:00 2001 From: Avi Date: Wed, 23 Sep 2026 16:06:33 -0500 Subject: [PATCH] docs(checkpoint): feed author resolution at a76d8df (2026-09-23) --- CHECKPOINT-encryption.md | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/CHECKPOINT-encryption.md b/CHECKPOINT-encryption.md index 30a0f9d..189fdc8 100644 --- a/CHECKPOINT-encryption.md +++ b/CHECKPOINT-encryption.md @@ -1,3 +1,54 @@ +# Checkpoint — feed shows author names/pictures (2026-09-23 PM) + +## Where things are +- Project: `/home/avi/Projects/Keynctr` +- Branch: `master` @ **`a76d8df`** ("feat(feed): resolve author names and + pictures from kind-0 metadata"). Previous: `cd8b671` (checkpoint), + `6f4dbb2` (kind-0 via signer). +- Working tree: clean for tracked files. Untracked intentionally NOT + committed: `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`, + `deferred/` (stays deferred). +- Release binary: **rebuilt at `a76d8df`**. Renderer rebuilt via + `npm run build`. Restart Electron before retesting. + +## What was completed this session +1. **Feed author resolution (`a76d8df`)**: the feed previously rendered + bare npubs + initial avatars — it never looked up author metadata + anywhere. After collecting notes, the backend now runs ONE batched + kind-0 lookup for all distinct authors (8s cap, best-effort; failures + keep the npub fallback) and attaches the newest `author_name` + (display_name preferred) + `author_picture` per note. FeedScreen renders + the name (full npub on hover) and the picture avatar. Unit test covers + newest-wins, display_name preference, and blank→fallback; new + FeedScreen test covers name+picture rendering. +2. Note: anyone WITHOUT published kind-0 (like the user's own new identity + until "Publish name" runs) still shows as npub — correct fallback, not + a bug. +- Verification (all green at `a76d8df`): `cargo test` **213 unit + 4 e2e + passed / 0 failed**, `cargo clippy --all-targets` 0 warnings, + `cargo fmt --check` clean, `cargo build --release` green; frontend + `npm test` **121 passed**, `typecheck`, `lint`, `format:check`, + `electron:build`, `build` clean. + +## Commits added (newest first) +- `a76d8df` feat(feed): resolve author names and pictures from kind-0 + metadata + +## How to resume / reproduce +- Restart Electron → Feed: notes from authors WITH kind-0 metadata now + show names + pictures; others still show npubs. +- To see your own name on your posts: Profiles → Publish name (Amber + approval) → wait ~1 min → Feed refreshes with your name/picture. + +## Outstanding / next steps +1. **Live "Publish name" + live sign/publish through real Amber.** +2. **NIP-46 session restore on startup.** +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 — kind-0 publishes through Amber; name goes network-wide (2026-09-23 PM) ## Where things are