docs: Phase 198 GUI sprint IV and v0.8.162 release notes
Document member actions, reaction tabs, channel reorder IPC, pins modal, and plan Phase 199 in the platform roadmap. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
# Pearcord architecture
|
||||
|
||||
**Current release:** v0.8.161 (desktop app `apps/pearcord`). Phase history and checklists live in [PLATFORM_ROADMAP.md](./PLATFORM_ROADMAP.md). Gap vs a centralized chat product is tracked in [PEARCORD_PARITY.md](./PEARCORD_PARITY.md).
|
||||
**Current release:** v0.8.162 (desktop app `apps/pearcord`). Phase history and checklists live in [PLATFORM_ROADMAP.md](./PLATFORM_ROADMAP.md). Gap vs a centralized chat product is tracked in [PEARCORD_PARITY.md](./PEARCORD_PARITY.md).
|
||||
|
||||
Pearcord is a **100% peer-to-peer** community chat client on [Pear](https://pear.holepunch.to) / Bare. There is no Pearcord-operated message server: guilds, DMs, discovery listings, and bot events replicate over **Hyperswarm** topics with **protomux** framing.
|
||||
|
||||
|
||||
@@ -508,7 +508,11 @@ Pearcord validates itself without manual QA.
|
||||
| `npm run test:message-reaction-picker` | Message reaction picker (`MESSAGE_REACTION_PICKER_SMOKE_OK`) |
|
||||
| `npm run test:category-unread-dot` | Category unread dot (`CATEGORY_UNREAD_DOT_SMOKE_OK`) |
|
||||
| `npm run test:pinned-bar-layout` | Pinned bar layout (`PINNED_BAR_LAYOUT_SMOKE_OK`) |
|
||||
| `npm run test:boot` | `pear run` pre-run (`BOOT_OK`) then Phase 124–197 smokes + `test:companion-boot` |
|
||||
| `npm run test:member-profile-actions` | Member popover actions (`MEMBER_PROFILE_ACTIONS_SMOKE_OK`) |
|
||||
| `npm run test:reaction-picker-guild-tab` | Reaction picker guild tab (`REACTION_PICKER_GUILD_TAB_SMOKE_OK`) |
|
||||
| `npm run test:channel-drag-reorder` | Channel drag reorder (`CHANNEL_DRAG_REORDER_SMOKE_OK`) |
|
||||
| `npm run test:pinned-messages-modal` | Pinned messages modal (`PINNED_MESSAGES_MODAL_SMOKE_OK`) |
|
||||
| `npm run test:boot` | `pear run` pre-run (`BOOT_OK`) then Phase 124–198 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`) |
|
||||
| `npm run test:e2e` | Full journey host+guest (`E2E_SMOKE_OK`) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Pearcord documentation index
|
||||
|
||||
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.161.
|
||||
All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.162.
|
||||
|
||||
| Start here | Document |
|
||||
|------------|----------|
|
||||
|
||||
@@ -61,6 +61,7 @@ Smokes: `test:guild-channel-pick-order` (IPC + platform source), `test:guild-unr
|
||||
| `mark-notification-read` | `notificationId` | Mark one inbox row read |
|
||||
| `create-category` | `name` | Add category folder + gossip |
|
||||
| `create-channel` | `name`, `channelType?`, `parentId?` | Add text/voice channel + gossip |
|
||||
| `reorder-channels` | `parentId?`, `channelIds[]` | Reorder sibling channels (same `parentId`); gossips `CHANNEL_UPDATE` per moved row |
|
||||
| `create-thread` | `messageId`, `name?` | Thread channel under active text channel |
|
||||
| `archive-thread` | `threadId`, `archived?` | Archive / unarchive thread |
|
||||
| `set-threads-panel-archived` | `includeArchived` | Show archived threads in panel |
|
||||
|
||||
+13
-4
@@ -4,14 +4,23 @@ 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.162) — GUI focus
|
||||
|
||||
| Area | Reference product | Pearcord | Gap |
|
||||
|------|-------------------|----------|-----|
|
||||
| Member list | Profile + actions | Popover with Message/DM + mutual server stub | Real multi-guild mutual list |
|
||||
| Reactions | Full emoji picker | Quick + Server tabs on toolbar react | Skin tones / search |
|
||||
| Channels | Drag reorder | Same-parent drag with P2P `CHANNEL_UPDATE` gossip | Category reorder |
|
||||
| Pins | Pins modal | Full list from bar title / “+N more” | Unpin from modal |
|
||||
|
||||
## Summary (v0.8.161) — GUI focus
|
||||
|
||||
| Area | Reference product | Pearcord | Gap |
|
||||
|------|-------------------|----------|-----|
|
||||
| Member list | Profile card on click | Popover with banner, status, role, bio | DM/message actions (P198) |
|
||||
| Reactions | Emoji picker on hover | Toolbar grid from `reactionGlyphs` | Guild emoji tab (P198) |
|
||||
| Channels | Category unread rollup | Unread/mention dot on category header | Drag reorder (P198) |
|
||||
| Pins | Pinned strip with previews | Count + author + text rows | Full pins modal (P198) |
|
||||
| Member list | Profile card on click | Popover with banner, status, role, bio | DM/message actions (done P198) |
|
||||
| Reactions | Emoji picker on hover | Toolbar grid from `reactionGlyphs` | Guild emoji tab (done P198) |
|
||||
| Channels | Category unread rollup | Unread/mention dot on category header | Drag reorder (done P198) |
|
||||
| Pins | Pinned strip with previews | Count + author + text rows | Full pins modal (done P198) |
|
||||
|
||||
## Summary (v0.8.160) — GUI focus
|
||||
|
||||
|
||||
+20
-6
@@ -1102,16 +1102,29 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
|
||||
|
||||
---
|
||||
|
||||
### Phase 198 — Discord-like GUI sprint IV (planned)
|
||||
### Phase 198 — Discord-like GUI sprint IV (v0.8.162)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P198-1 | Members: popover DM/message actions + mutual servers stub | [ ] |
|
||||
| P198-2 | Chat: emoji picker tab in reaction popover (guild emojis) | [ ] |
|
||||
| P198-3 | Channels: drag-reorder channels within category (visual) | [ ] |
|
||||
| P198-4 | Chat: pinned messages modal / full list view | [ ] |
|
||||
| P198-1 | Members: popover DM/message actions + mutual servers stub | [x] |
|
||||
| P198-2 | Chat: emoji picker tab in reaction popover (guild emojis) | [x] |
|
||||
| P198-3 | Channels: drag-reorder channels within category (P2P gossip) | [x] |
|
||||
| P198-4 | Chat: pinned messages modal / full list view | [x] |
|
||||
|
||||
**Next:** Popover actions · guild emoji reactions · channel reorder · pins modal.
|
||||
**Next:** ~~Popover actions · guild emoji reactions · channel reorder · pins modal~~ (Phase 198).
|
||||
|
||||
---
|
||||
|
||||
### Phase 199 — Discord-like GUI sprint V (planned)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P199-1 | Chat: right-click message context menu (Discord-style) | [ ] |
|
||||
| P199-2 | Channels: category drag-reorder + collapse all | [ ] |
|
||||
| P199-3 | Members: role color chips + online grouping headers | [ ] |
|
||||
| P199-4 | Chat: slowmode / typing indicator in channel header | [ ] |
|
||||
|
||||
**Next:** Context menu · category reorder · member groups · header indicators.
|
||||
|
||||
---
|
||||
|
||||
@@ -2557,6 +2570,7 @@ Micro a11y/guild smokes deferred while GUI sprint is prioritized. See Phase 195
|
||||
|
||||
### Changelog
|
||||
|
||||
- **2026-05-22** — v0.8.162: Phase 198 GUI — member popover actions, reaction picker guild tab, channel drag reorder, pinned messages modal (`test:member-profile-actions`, `test:reaction-picker-guild-tab`, `test:channel-drag-reorder`, `test:pinned-messages-modal`). Phase 199 planned.
|
||||
- **2026-05-22** — v0.8.161: Phase 197 GUI — member profile popover, message reaction picker, category unread dots, Discord-style pinned strip (`test:member-profile-popover`, `test:message-reaction-picker`, `test:category-unread-dot`, `test:pinned-bar-layout`). Phase 198 planned.
|
||||
- **2026-05-22** — v0.8.160: Phase 196 GUI — message toolbar, unread channel bar, user panel voice controls, dynamic empty state (`test:message-toolbar`, `test:channel-unread-styling`, `test:user-panel-voice-controls`, `test:messages-empty-channel`). Phase 197 planned.
|
||||
- **2026-05-22** — v0.8.159: Phase 195 GUI — message grouping, date dividers, members pane toggle, member avatars (`test:message-grouping`, `test:members-pane-toggle`). Phase 196 planned; Phase 194 deferred.
|
||||
|
||||
@@ -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.161 (desktop app `apps/pearcord`).
|
||||
**Current release:** v0.8.162 (desktop app `apps/pearcord`).
|
||||
|
||||
---
|
||||
|
||||
|
||||
+11
@@ -78,6 +78,17 @@ Smokes: `npm run test:message-toolbar`, `npm run test:channel-unread-styling`, `
|
||||
|
||||
Smokes: `npm run test:member-profile-popover`, `npm run test:message-reaction-picker`, `npm run test:category-unread-dot`, `npm run test:pinned-bar-layout`.
|
||||
|
||||
## Desktop GUI (v0.8.162)
|
||||
|
||||
| Feature | Behavior |
|
||||
|---------|----------|
|
||||
| Member actions | Message (@mention composer) and Send DM from profile popover; mutual server stub |
|
||||
| Reaction tabs | Quick unicode grid + Server tab for guild emojis |
|
||||
| Channel reorder | Drag channels within same category/parent (`reorder-channels` IPC + mesh gossip) |
|
||||
| Pins modal | Click pinned bar title or “+N more” for full scrollable list |
|
||||
|
||||
Smokes: `npm run test:member-profile-actions`, `npm run test:reaction-picker-guild-tab`, `npm run test:channel-drag-reorder`, `npm run test:pinned-messages-modal`.
|
||||
|
||||
## Related
|
||||
|
||||
- [ONBOARDING.md](./ONBOARDING.md) — user-facing steps
|
||||
|
||||
Reference in New Issue
Block a user