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:
@@ -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 124–201 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,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 |
|
||||
|------------|----------|
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user