Update backlog and briefing after mute-feed-filtering merge

By specifier.
This commit is contained in:
Chris Troutner
2026-09-04 13:55:16 -07:00
parent 3992395480
commit 09e5981353
2 changed files with 54 additions and 7 deletions
+29
View File
@@ -31,6 +31,15 @@ focus is **front-end improvements** to `psf-memo-client` (the React SPA).
## Recently completed
- **Mute feed filtering (2026-09-04):** muting a profile now hides that profile's
content from the viewer's recent feed, topic feed, search results, and
notifications. The psf-memo-db API filters server-side given the viewer's
address (passed by the client as a `viewer` query param); filtering is not
optimistic — a mute takes effect once the mute tx is indexed, and unmuting
restores content once indexed. Shared `loadMutedAddrs`/`isMutedPost` helper in
`psf-memo-db/src/adapters/lib/muted-posts.js` deduplicates the per-adapter
lookup. Spec: `psf-memo-client/specs/mute-feed-filtering.feature`. Merged to
`master` at `3992395`.
- **Binary hash160 broadcast payloads (2026-09-04):** client follow/unfollow
and mute/unmute now broadcast the target's raw 20-byte hash160 as the
OP_RETURN payload, built as a browser-safe `Uint8Array` from the `hexToBytes`
@@ -128,6 +137,26 @@ Reference: https://memo.sv/protocol (Wayback snapshot 2025-12-15)
---
## Next up: feed query performance
`GET /posts/recent` (and the other paginated feeds) is slow at 1.3M posts because
`list-recent-posts.js` does two full scans on every request:
- `countTopLevelPosts()` iterates the ENTIRE `postHeights` index to compute the
`total`/`hasMore` pagination field.
- `buildReplyCountMap()` scans ALL `postChildren` entries to build a global
reply-count map.
Planned optimization (decision: **capped scan**, keep it simple):
- Replace the global `buildReplyCountMap()` with per-page-txid reply counting
(like `countLikesForTxids` already does) — only count replies for the ~50
posts on the page.
- Cap the `total` scan to the last N posts / last N blocks so `hasMore` still
works for the first pages without walking all 1.3M entries.
Affected components: `psf-memo-db` (feed use cases + post-query adapter).
## Notes for future cycles
- Broadcast result (txid) is returned immediately; the action appears in the