checkpoint: document publication filtering change

This commit is contained in:
Avi 2026-09-01 14:08:21 -05:00
commit aabc22553f

View file

@ -1,8 +1,8 @@
# Checkpoint — HomeScreen polish cleanup (2026-09-01)
# Checkpoint — HomeScreen publication filtering (2026-09-01)
## Where things are
- Project: `/home/avi/Projects/Keynctr`
- Git repo: `master` @ `577e9f4` ("fix: return StoredPublishReport with content to frontend after publish").
- Git repo: `master` @ `ea56806` ("fix: show only fully published events in Most Recent Publication box").
- Working tree: clean except the usual untracked items (`.directory`, `.opencode/`,
`.impeccable/`, `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`).
@ -103,8 +103,19 @@
because the IPC handler returned the bare `PublishReport` (no `content`
field) instead of the `StoredPublishReport` that includes it. Changed
`src/ipc.rs` to return `stored` instead of `report`.
20. **Most Recent Publication shows only fully published events (this session).**
The "Most recent publication" box now queries relays for the active
profile's publications and determines per-event publication status by
comparing which relays served each event against all enabled relays.
Only the newest fully published event is shown in the main box. Partially
published events appear only in the expandable "Relay results" section.
Empty state shown when no fully published events exist. Added
`PublicationStatus` type, `computePublicationStatus()` helper, and
`useProfilePublications` hook. Rewrote `PublicationResult` in
`HomeScreen.tsx`. Added 10 new tests.
## Commits added in this session (newest first)
- `ea56806` fix: show only fully published events in Most Recent Publication box
- `577e9f4` fix: return StoredPublishReport with content to frontend after publish
- `cd5d2d7` Show published note content inline on Home screen
- `bab82f5` Persist last publish report across restarts
@ -130,10 +141,10 @@ All green in this session, run after the changes:
- Rust: `cargo fmt --check` clean; `cargo test` — 116 passed;
`cargo clippy --all-targets` — clean, zero warnings; `cargo build --release` — success.
- Frontend: `npm test` — 15 files / 99 passed; `npm run typecheck` clean; `npm run lint`
clean (only the harmless ES-module reparsing warning); `npm run format:check` has
pre-existing prettier warnings in `HomeScreen.tsx` and `AppProvider.tsx` (not from this
session); `npm run build` — success (Vite bundle built).
- Frontend: `npm test` — 16 files / 108 passed (including 10 new publication-filtering tests);
`npm run typecheck` clean; `npm run lint` clean (only the harmless ES-module
reparsing warning); `npm run format:check` clean; `npm run build` — success
(Vite bundle built); `npm run electron:build` — success.
- Packaging (previous session, still valid artifacts):
`npx electron-builder --linux AppImage deb` produced
`frontend/release/Keynctr-0.1.0.AppImage` and