mirror of
https://github.com/Permissionless-Software-Foundation/psf-memo.git
synced 2026-09-21 16:52:01 -07:00
Mark like-count display complete and set next feature to profile text
By specifier.
This commit is contained in:
+9
-8
@@ -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.2 — update 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.3 — add 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
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user