Mark like-count display complete and set next feature to profile text

By specifier.
This commit is contained in:
Chris Troutner
2026-08-26 20:52:25 -07:00
parent 21373f4d10
commit 5926db1913
2 changed files with 24 additions and 21 deletions
+9 -8
View File
@@ -167,16 +167,17 @@ Goal: reach feature parity with [memo.cash](https://memo.cash).
| Tier | Features | Status |
|------|----------|--------|
| **P0** | Post, Set name, Reply, Efficient pagination | ✅ shipped |
| **P1** | Like counts (read side) ✅; client display, Set profile text, Set profile picture, Follow/Unfollow | next |
| **P1** | Like counts (read side) ✅; client display ✅; Set profile text, Set profile picture, Follow/Unfollow | next |
| **P2** | Topics (list, feed, post, follow/unfollow) | later |
| **P3** | Polls (create, add option, vote) | later |
| **P4** | Mute / unmute user | later |
| **P5** | Send money memo action, MIP-0009 token exchange | later |
| **P6** | Repost, ranked feed, notifications, search, tags, following feed | later |
**Suggested next spec:** P1.2update the client feed/profile/thread UI to
read `likeCount` from the `psf-memo-db` API instead of defaulting to 0.
The like/tip broadcast UI is already implemented.
**Suggested next spec:** P1.3add a "Set Bio" UI on the Account page that
broadcasts the `0x6d05` Set profile text action. The indexer and DB already
read/store profile text; the missing piece is the client write path and the
Account page editor.
---
@@ -342,7 +343,7 @@ At the end of each session, update this file:
- Note the current `master` HEAD commit.
- State the next feature to work on.
Current `master` HEAD: `4bd4b79` (likeCount read side merged to `master`;
psf-memo-db tests and lint passing).
Next action: **spec P1.2** — update the client feed/profile/thread UI to read
`likeCount` from the API.
Current `master` HEAD: `21373f4` (like-count-display merged to `master`;
client + DB tests, build, and lint passing).
Next action: **spec P1.3** — add a "Set Bio" UI on the Account page that
broadcasts the `0x6d05` Set profile text action.
+15 -13
View File
@@ -120,7 +120,7 @@ adding/editing the client UI.
| # | Feature | Memo action | Components | Status | Next work |
|---|---------|-------------|------------|--------|-----------|
| 1.1 | Like / tip a Memo — read side | `0x6d04` | D | ✅ | `likeCount` returned on `/posts/*` and `/posts/:txid/thread` |
| 1.2 | Like / tip a Memo — client display | `0x6d04` | C | 🟡 partial | Feed/Profile/Thread read `likeCount` from API instead of defaulting to 0 |
| 1.2 | Like / tip a Memo — client display | `0x6d04` | C | | Feed/Profile/Thread read `likeCount` from API instead of defaulting to 0 |
| 1.3 | Set profile text (bio) | `0x6d05` | C, I, D | 🟡 partial | C: add "Set Bio" UI on Account page; I/D already read |
| 1.4 | Set profile picture | `0x6d0a` | C, I, D | 🟡 partial | C: add "Set Avatar URL" UI; I/D already read |
| 1.5 | Follow a user | `0x6d06` | C, I, D | 🔴 missing | C: follow button on profile; D: follow state + following/followers lists |
@@ -129,8 +129,9 @@ adding/editing the client UI.
### Priority order within P1
1. **Like / tip a Memo — read side** ✅ DONE.
2. **Like / tip a Memo — client display** — the API now returns `likeCount`;
update the feed/profile/thread UI to read it instead of defaulting to 0.
2. **Like / tip a Memo — client display** ✅ DONE. The feed, profile, and
thread views now read `likeCount` from the API (profile shows a read-only
like button).
3. **Set profile text** — simple text broadcast + Account page UI.
4. **Set profile picture** — URL broadcast + Account page UI.
5. **Follow / Unfollow user** — social graph; enables the following feed later.
@@ -144,7 +145,8 @@ adding/editing the client UI.
- `psf-memo-db` aggregates `likesDb` into per-post `likeCount` in
`/posts/recent`, `/posts/by/:addr`, and `/posts/:txid/thread` responses.
- The client already has `MemoLike`, `LikeTipPage`, `LikeButton`, and
`LikeTipModal`; it only needs to read `likeCount` from the feed API.
`LikeTipModal`; the feed/profile/thread views now read `likeCount` from the
API (profile renders a read-only `LikeButton`).
---
@@ -211,16 +213,16 @@ Polls require a new data model and rendering. The indexer has no handler yet.
## Suggested first spec for the next session
**Like counts on posts** (P1.1, read side):
- `psf-memo-db`: add a `LikeQuery` adapter that builds a `likeCount` map from
`likesDb`, inject it into `ListRecentPosts`, `ListPostsByAddr`, and
`GetPostThread`, and return `likeCount` on every post object.
- `psf-memo-client`: read `likeCount` from the feed/profile API instead of
starting at 0.
- No indexer changes needed; the `like` handler already writes `likesDb`.
**Set profile text (bio)** (P1.3):
- `psf-memo-client`: add a "Set Bio" UI on the Account page that broadcasts the
`0x6d05` Set profile text action via `minimal-slp-wallet.sendOpReturn()`.
- `psf-memo-indexer` and `psf-memo-db` already read/store profile text, so this
is primarily a client broadcast + Account page UI feature.
- The profile page already renders `profileText` from the API; the missing piece
is the write path (broadcast) and the Account page editor.
This closes the loop on the already-implemented like/tip broadcast feature and
is the smallest end-to-end win toward memo.cash parity.
This is the next smallest end-to-end win toward memo.cash parity after the
like-count read/display loop closed.
---