docs: Phase 202 GUI sprint VIII (v0.8.166) and Phase 203 plan

Document embed cards, unread divider, role reorder, group DM header,
new smoke tests, and IPC reorder-guild-custom-roles.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-22 21:38:03 -04:00
co-authored by Cursor
parent cff3c0cdc9
commit 9cedd54235
7 changed files with 47 additions and 9 deletions
+4
View File
@@ -524,6 +524,10 @@ Pearcord validates itself without manual QA.
| `npm run test:channel-notification-level` | Channel notification levels (`CHANNEL_NOTIFICATION_LEVEL_SMOKE_OK`) |
| `npm run test:asset-upload-preview` | Asset upload preview (`ASSET_UPLOAD_PREVIEW_SMOKE_OK`) |
| `npm run test:chat-voice-panel` | Chat voice panel (`CHAT_VOICE_PANEL_SMOKE_OK`) |
| `npm run test:embed-card-layout` | Embed link card layout (`EMBED_CARD_LAYOUT_SMOKE_OK`) |
| `npm run test:unread-divider` | Unread “New” divider (`UNREAD_DIVIDER_SMOKE_OK`) |
| `npm run test:role-reorder` | Role drag reorder (`ROLE_REORDER_SMOKE_OK`) |
| `npm run test:group-dm-header` | Group DM header avatars (`GROUP_DM_HEADER_SMOKE_OK`) |
| `npm run test:boot` | `pear run` pre-run (`BOOT_OK`) then Phase 124201 smokes + `test:companion-boot` |
| `npm run test:server-folder-prefs-mesh` | Live folder prefs mesh (optional; run manually — can exceed 150s on DHT) |
| `npm run test:profile` | Profile update + persist (`PROFILE_SMOKE_OK`) |
+1 -1
View File
@@ -1,6 +1,6 @@
# Pearcord documentation index
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.165.
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.166.
| Start here | Document |
|------------|----------|
+1 -1
View File
@@ -116,7 +116,7 @@ Smokes: `test:guild-channel-pick-order` (IPC + platform source), `test:guild-unr
| `upsert-channel-overwrite` / `delete-channel-overwrite` | role/user, allow/deny | Per-channel permissions |
| `set-slowmode` | `seconds` | Channel slowmode |
| `set-member-role` | `userId`, `role` | Built-in role promotion |
| `create-guild-custom-role` / `update-guild-custom-role` / `delete-guild-custom-role` | role fields | Custom roles ([GUILD_ROLES.md](./GUILD_ROLES.md)) |
| `create-guild-custom-role` / `update-guild-custom-role` / `delete-guild-custom-role` / `reorder-guild-custom-roles` | role fields / `roleIds[]` | Custom roles + drag reorder ([GUILD_ROLES.md](./GUILD_ROLES.md)) |
| `set-member-custom-roles` | `userId`, `roleIds[]` | Assign custom roles |
| `set-activity` / `clear-activity` / `set-activity-image` / `request-activity-image` | activity fields | Rich presence ([ACTIVITY_FEED.md](./ACTIVITY_FEED.md)) |
| `refresh-search` | — | Re-run active search index |
+9
View File
@@ -4,6 +4,15 @@ Gap analysis between **Pearcord** (P2P Pear app) and a typical **centralized cha
> This is the only doc that compares against an external reference product. All other docs use Pearcord naming only.
## Summary (v0.8.166) — GUI focus
| Area | Reference product | Pearcord | Gap |
|------|-------------------|----------|-----|
| Embeds | Rich link cards | Accent bar + right thumbnail + footer | Animated preview in card |
| Unread | New messages bar | Red “New” divider + auto-scroll | Persist until manual dismiss |
| Roles | Drag reorder | Settings drag + P2P position gossip | Hoisted role list in member pane |
| Group DMs | Header avatars | Stacked chips + member count | Add/remove member UI |
## Summary (v0.8.165) — GUI focus
| Area | Reference product | Pearcord | Gap |
+20 -6
View File
@@ -1154,16 +1154,29 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
---
### Phase 202 — Discord-like GUI sprint VIII (planned)
### Phase 202 — Discord-like GUI sprint VIII (v0.8.166)
| ID | Item | Status |
|----|------|--------|
| P202-1 | Chat: embed link cards with thumbnail layout polish | [ ] |
| P202-2 | Channels: unread separator + “new” marker in message list | [ ] |
| P202-3 | Server: role list drag-reorder in settings | [ ] |
| P202-4 | DMs: group DM header with participant avatars | [ ] |
| P202-1 | Chat: embed link cards with thumbnail layout polish | [x] |
| P202-2 | Channels: unread separator + “new” marker in message list | [x] |
| P202-3 | Server: role list drag-reorder in settings | [x] |
| P202-4 | DMs: group DM header with participant avatars | [x] |
**Next:** Embed cards · unread marker · role reorder · group DM header.
**Next:** ~~Embed cards · unread marker · role reorder · group DM header~~ (Phase 202).
---
### Phase 203 — Discord-like GUI sprint IX (planned)
| ID | Item | Status |
|----|------|--------|
| P203-1 | Chat: inline reply preview in composer bar | [ ] |
| P203-2 | Notifications: mute duration presets per channel | [ ] |
| P203-3 | Settings: animated emoji/sticker preview playback | [ ] |
| P203-4 | Voice: video/stream tile grid in chat voice panel | [ ] |
**Next:** Reply composer preview · mute duration · animated asset preview · video tiles.
---
@@ -2609,6 +2622,7 @@ Micro a11y/guild smokes deferred while GUI sprint is prioritized. See Phase 195
### Changelog
- **2026-05-22** — v0.8.166: Phase 202 GUI — Discord-style embed cards, unread “New” divider, role drag-reorder in settings, group DM header avatars (`test:embed-card-layout`, `test:unread-divider`, `test:role-reorder`, `test:group-dm-header`). Phase 203 planned.
- **2026-05-22** — v0.8.165: Phase 201 GUI — reply hover preview, channel notification levels, emoji/sticker upload preview, compact chat voice panel (`test:reply-preview-hover`, `test:channel-notification-level`, `test:asset-upload-preview`, `test:chat-voice-panel`). Phase 202 planned.
- **2026-05-22** — v0.8.164: Phase 200 GUI — message multi-select, channel context menu, boost bar, composer drag-drop attach (`test:message-selection-bar`, `test:channel-context-menu`, `test:guild-boost-bar`, `test:composer-attach-drop`). Phase 201 planned.
- **2026-05-22** — v0.8.163: Phase 199 GUI — message context menu, category reorder/collapse, member groups/role colors, header typing/slowmode (`test:message-context-menu`, `test:category-reorder-collapse`, `test:members-group-role-color`, `test:chat-header-status`). Phase 200 planned.
+1 -1
View File
@@ -2,7 +2,7 @@
Documentation for **[Pearcord](https://git.ssh.surf/pearcord)** — a 100% peer-to-peer community chat app on [Pear](https://pear.holepunch.to). No central message servers.
**Current release:** v0.8.165 (desktop app `apps/pearcord`).
**Current release:** v0.8.166 (desktop app `apps/pearcord`).
---
+11
View File
@@ -122,6 +122,17 @@ Smokes: `npm run test:message-selection-bar`, `npm run test:channel-context-menu
Smokes: `npm run test:reply-preview-hover`, `npm run test:channel-notification-level`, `npm run test:asset-upload-preview`, `npm run test:chat-voice-panel`.
## Desktop GUI (v0.8.166)
| Feature | Behavior |
|---------|----------|
| Embed cards | Left accent bar, site/title/description, right thumbnail, hostname footer |
| Unread divider | Red “New” separator at first unread message; scrolls into view on channel open |
| Role reorder | Drag custom roles in server settings; `ROLE_UPSERT` position gossip |
| Group DM header | Stacked participant avatars + member count in chat header |
Smokes: `npm run test:embed-card-layout`, `npm run test:unread-divider`, `npm run test:role-reorder`, `npm run test:group-dm-header`.
## Related
- [ONBOARDING.md](./ONBOARDING.md) — user-facing steps