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 ## Where things are
- Project: `/home/avi/Projects/Keynctr` - 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/`, - Working tree: clean except the usual untracked items (`.directory`, `.opencode/`,
`.impeccable/`, `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`). `.impeccable/`, `COSMIC_THEME.md`, `KeynectrAppIconPossibility02.jpeg`).
@ -103,8 +103,19 @@
because the IPC handler returned the bare `PublishReport` (no `content` because the IPC handler returned the bare `PublishReport` (no `content`
field) instead of the `StoredPublishReport` that includes it. Changed field) instead of the `StoredPublishReport` that includes it. Changed
`src/ipc.rs` to return `stored` instead of `report`. `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) ## 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 - `577e9f4` fix: return StoredPublishReport with content to frontend after publish
- `cd5d2d7` Show published note content inline on Home screen - `cd5d2d7` Show published note content inline on Home screen
- `bab82f5` Persist last publish report across restarts - `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; - Rust: `cargo fmt --check` clean; `cargo test` — 116 passed;
`cargo clippy --all-targets` — clean, zero warnings; `cargo build --release` — success. `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` - Frontend: `npm test` — 16 files / 108 passed (including 10 new publication-filtering tests);
clean (only the harmless ES-module reparsing warning); `npm run format:check` has `npm run typecheck` clean; `npm run lint` clean (only the harmless ES-module
pre-existing prettier warnings in `HomeScreen.tsx` and `AppProvider.tsx` (not from this reparsing warning); `npm run format:check` clean; `npm run build` — success
session); `npm run build` — success (Vite bundle built). (Vite bundle built); `npm run electron:build` — success.
- Packaging (previous session, still valid artifacts): - Packaging (previous session, still valid artifacts):
`npx electron-builder --linux AppImage deb` produced `npx electron-builder --linux AppImage deb` produced
`frontend/release/Keynctr-0.1.0.AppImage` and `frontend/release/Keynctr-0.1.0.AppImage` and