docs(checkpoint): profile-relay queries @ aef47dd
This commit is contained in:
parent
aef47dd1ef
commit
ec8b515d05
1 changed files with 67 additions and 0 deletions
|
|
@ -1,3 +1,70 @@
|
||||||
|
# Checkpoint — profile-relay queries for contacts + metadata backfill (2026-09-30)
|
||||||
|
|
||||||
|
## Where things are
|
||||||
|
- Project: `/home/avi/Projects/Keynctr`, branch `master` @ **`aef47dd`**
|
||||||
|
("fix(feed): query profile relays for kind-3 follow lists and kind-0
|
||||||
|
metadata"). Previous: `eea6f0e` (white monochrome launcher icon),
|
||||||
|
`abc2781` (one-click update script), `7891ccc` (Step 7 rename/hygiene,
|
||||||
|
checkpoint `33ab4fe`).
|
||||||
|
- Working tree: clean for tracked files. Untracked intentionally NOT
|
||||||
|
committed: `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`,
|
||||||
|
`deferred/SignerConnectionPanel.tsx.wip/`.
|
||||||
|
- Release binary rebuilt at `aef47dd` 2026-09-30 14:18 (verified by mtime
|
||||||
|
after `touch`ing the changed sources — not a cache hit).
|
||||||
|
|
||||||
|
## What was completed
|
||||||
|
**Profile-relay lookup for profile-scoped data** (finishes the empty
|
||||||
|
"My contacts" diagnosis on the network side): kind-3 follow lists and
|
||||||
|
kind-0 metadata usually live on profile/outbox relays — purplepag.es
|
||||||
|
aggregates them network-wide — not on the user's note read relays. Now:
|
||||||
|
1. `feed.rs`: `PROFILE_RELAYS = ["wss://purplepag.es"]` plus
|
||||||
|
`profile_lookup_relays(settings)` = enabled relays + profile relays,
|
||||||
|
de-duplicated with trailing-slash normalising (a user entry
|
||||||
|
`wss://purplepag.es/` no longer doubles the always-on entry — the WIP
|
||||||
|
version of this failed its own test; rewritten via a HashSet seen-set).
|
||||||
|
`contact_pubkeys` (kind-3 fetch) now queries that set; notes queries
|
||||||
|
deliberately keep using only enabled relays.
|
||||||
|
2. `ipc.rs` backfill loop: kind-0 fetch also uses `profile_lookup_relays`,
|
||||||
|
and the candidate filter dropped the `SignerMode::Nip46Client`
|
||||||
|
restriction — any row still wearing a placeholder gets a real name,
|
||||||
|
local keys included.
|
||||||
|
3. `profiles.rs`: `GENERIC_PAIRING_LABELS` now includes "My Profile"
|
||||||
|
(`normalise_label`'s empty-input default), so locally created
|
||||||
|
placeholder rows are backfilled too. Test updated: user renames still
|
||||||
|
never overwritten.
|
||||||
|
|
||||||
|
## Commits added this session (newest first)
|
||||||
|
- `aef47dd` fix(feed): query profile relays for kind-3 follow lists and
|
||||||
|
kind-0 metadata (includes the fmt fix + dedupe rewrite of the WIP)
|
||||||
|
- (this checkpoint commit)
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
- `cargo test` -> 225 unit + 6 e2e passed, 0 failed.
|
||||||
|
- `cargo clippy --all-targets` -> 0 warnings. `cargo fmt --check` -> clean.
|
||||||
|
- `cargo build --release` -> rebuilt at aef47dd (binary mtime 14:18).
|
||||||
|
- No frontend files touched -> frontend gates not applicable.
|
||||||
|
|
||||||
|
## How to resume / reproduce
|
||||||
|
- CLI ground truth for the contacts fix:
|
||||||
|
`target/release/keynectr feed --contacts 20` with the active key that
|
||||||
|
has a follow list published anywhere on the network — rows should now
|
||||||
|
appear even when purplepag.es is not in the user's read relays.
|
||||||
|
- GUI: `cd ~/Projects/Keynctr/frontend && npx vite --port 5173` then
|
||||||
|
`NOSTR_GUI_DEV_URL=http://localhost:5173 KEYNCTR_ENABLE_GPU=1 npx electron .`
|
||||||
|
(running windows need a relaunch/rebuild to pick up the new backend).
|
||||||
|
- Backfill trace: `grep -a 'auto-name' ~/Tools/keynctr-debug/pairing-trace.log`.
|
||||||
|
|
||||||
|
## Outstanding / next steps
|
||||||
|
- Live pass: reopen "My contacts" in the GUI with the rebuilt backend and
|
||||||
|
confirm the feed populates for the account that has follow lists on
|
||||||
|
profile relays.
|
||||||
|
- Step 4 permissions UI follow-ups (interactive grant editing in the
|
||||||
|
approval modal) — the only buildable step left from the plan.
|
||||||
|
- Live pass: KDF migration on a real unlock + second-Amber account
|
||||||
|
switching.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
# Checkpoint — stdin EAGAIN fix, accent theme, identity backfill (2026-09-28 evening)
|
# Checkpoint — stdin EAGAIN fix, accent theme, identity backfill (2026-09-28 evening)
|
||||||
|
|
||||||
## Where things are
|
## Where things are
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue