docs: Phase 251 roadmap and GUI sprint notes (v0.8.215)

Record embed keyshortcuts-on-collapse sync, topic dismiss aria-live,
strike/bold/underline triple reorder, partial-connect RTT-only hover
badge, and plan Phase 252.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-23 01:24:14 -04:00
co-authored by Cursor
parent bd681e37ea
commit 3970b4398f
6 changed files with 44 additions and 7 deletions
+1
View File
@@ -59,6 +59,7 @@ Forum channels reserve `topic` for the tag palette JSON (`{"forumTags":[...]}`).
- **Home/End wrap** (v0.8.208): Home/End jump to first/last button across kbd + actions toolbars (`Home/End wrap` labels) - **Home/End wrap** (v0.8.208): Home/End jump to first/last button across kbd + actions toolbars (`Home/End wrap` labels)
- **PageUp/PageDown wrap** (v0.8.209): PageUp/PageDown step focus across both toolbars with wrap labels - **PageUp/PageDown wrap** (v0.8.209): PageUp/PageDown step focus across both toolbars with wrap labels
- **Focus return** (v0.8.210): closing the popover restores focus to the channel name trigger with a brief outline - **Focus return** (v0.8.210): closing the popover restores focus to the channel name trigger with a brief outline
- **Dismiss aria-live** (v0.8.215): Closing the popover announces focus return via `#channel-topic-dismiss-live` (`aria-live="polite"`)
- **Outside-click toast** (v0.8.214): First click-outside dismiss shows a one-time tip to reopen via channel name - **Outside-click toast** (v0.8.214): First click-outside dismiss shows a one-time tip to reopen via channel name
- **Dismiss focus restore** (v0.8.213): Click-outside dismiss scrolls channel name into view with green focus ring (`channel-name-topic-dismiss-focus-return`) - **Dismiss focus restore** (v0.8.213): Click-outside dismiss scrolls channel name into view with green focus ring (`channel-name-topic-dismiss-focus-return`)
- **Tab wrap** (v0.8.212): Tab/Shift+Tab from last/first toolbar button wraps across kbd + actions toolbars (`bindChannelTopicPopoverToolbarTabWrap`) - **Tab wrap** (v0.8.212): Tab/Shift+Tab from last/first toolbar button wraps across kbd + actions toolbars (`bindChannelTopicPopoverToolbarTabWrap`)
+1 -1
View File
@@ -25,7 +25,7 @@
| Quote + heading + code | Composer warns when quote, heading, and code markers overlap in one selection (v0.8.207) | | Quote + heading + code | Composer warns when quote, heading, and code markers overlap in one selection (v0.8.207) |
| Bold + italic + underline | Composer warns when bold, italic, and underline markers overlap in one selection (v0.8.208; Phase 249 smoke: `test:composer-bold-italic-underline-triple-nest`) | | Bold + italic + underline | Composer warns when bold, italic, and underline markers overlap in one selection (v0.8.208; Phase 249 smoke: `test:composer-bold-italic-underline-triple-nest`) |
| Strike + bold + italic | Composer warns when strike, bold, and italic markers overlap in one selection (v0.8.209; checked before bold+italic+strike — v0.8.214) | | Strike + bold + italic | Composer warns when strike, bold, and italic markers overlap in one selection (v0.8.209; checked before bold+italic+strike — v0.8.214) |
| Strike + bold + underline | Composer warns when strike, bold, and underline markers overlap in one selection (v0.8.210) | | Strike + bold + underline | Composer warns when strike, bold, and underline markers overlap in one selection (v0.8.210; checked before strike+italic+underline — v0.8.215) |
| Bold + italic + strike | Composer warns when bold, italic, and strike markers overlap in one selection (v0.8.212) | | Bold + italic + strike | Composer warns when bold, italic, and strike markers overlap in one selection (v0.8.212) |
| Strike + italic + underline | Composer warns when strike, italic, and underline markers overlap in one selection (v0.8.211) | | Strike + italic + underline | Composer warns when strike, italic, and underline markers overlap in one selection (v0.8.211) |
| `\|\|spoiler\|\|` | Click-to-reveal spoiler (nestable inside **bold** / *italic* / __underline__ / ~~strike~~ / `` `code` `` — v0.8.182+); URLs inside spoilers blur link previews until reveal (v0.8.186); compact previews use **Show/Hide spoiler link** toggle with **▮ Spoiler link** row hint (v0.8.195199); expanded spoiler links per channel (v0.8.193); revealed message/embed spoilers per channel for the session (v0.8.194); composer **selection is spoiler** hint when wrapped in `\|\|` (v0.8.191); composer warns when spoiler/code or overlapping style wraps nest (v0.8.198199) | | `\|\|spoiler\|\|` | Click-to-reveal spoiler (nestable inside **bold** / *italic* / __underline__ / ~~strike~~ / `` `code` `` — v0.8.182+); URLs inside spoilers blur link previews until reveal (v0.8.186); compact previews use **Show/Hide spoiler link** toggle with **▮ Spoiler link** row hint (v0.8.195199); expanded spoiler links per channel (v0.8.193); revealed message/embed spoilers per channel for the session (v0.8.194); composer **selection is spoiler** hint when wrapped in `\|\|` (v0.8.191); composer warns when spoiler/code or overlapping style wraps nest (v0.8.198199) |
+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. > This is the only doc that compares against an external reference product. All other docs use Pearcord naming only.
## Summary (v0.8.215) — GUI focus
| Area | Reference product | Pearcord | Gap |
|------|-------------------|----------|-----|
| Embed keyshortcuts sync | Toggle a11y | `syncEmbedToggleKeyshortcutsOnCollapse` on collapse | Spoiler keyshortcuts sync |
| Dismiss aria-live | Popover a11y | `#channel-topic-dismiss-live` polite announcement on close | Escape aria-live polish |
| Strike/bold/underline reorder | Inline formats | **strike+bold+underline** before strike+italic+underline | strike/italic/underline reorder |
| Partial RTT chip | Stream stats | **↕ Nms** badge when connecting with known RTT | Partial Opus polish |
## Summary (v0.8.214) — GUI focus ## Summary (v0.8.214) — GUI focus
| Area | Reference product | Pearcord | Gap | | Area | Reference product | Pearcord | Gap |
+20 -6
View File
@@ -1791,16 +1791,29 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
--- ---
### Phase 251 — Discord-like GUI sprint LVII (planned) ### Phase 251 — Discord-like GUI sprint LVII (v0.8.215)
| ID | Item | Status | | ID | Item | Status |
|----|------|--------| |----|------|--------|
| P251-1 | Messages: embed toggle sync keyshortcuts on collapse | [ ] | | P251-1 | Messages: embed toggle sync keyshortcuts on collapse | [x] |
| P251-2 | Channels: topic popover dismiss aria-live announcement | [ ] | | P251-2 | Channels: topic popover dismiss aria-live announcement | [x] |
| P251-3 | Composer: strike+bold+underline triple nest guard reorder | [ ] | | P251-3 | Composer: strike+bold+underline triple nest guard reorder | [x] |
| P251-4 | Voice: stream hover RTT-only badge when partially connected | [ ] | | P251-4 | Voice: stream hover RTT-only badge when partially connected | [x] |
**Next:** Embed keyshortcuts sync · dismiss aria-live · strike/bold/underline reorder · partial RTT polish. **Next:** ~~Embed keyshortcuts sync · dismiss aria-live · strike/bold/underline reorder · partial RTT polish~~ (Phase 251).
---
### Phase 252 — Discord-like GUI sprint LVIII (planned)
| ID | Item | Status |
|----|------|--------|
| P252-1 | Messages: spoiler link toggle sync keyshortcuts on collapse | [ ] |
| P252-2 | Channels: topic popover Escape dismiss aria-live polish | [ ] |
| P252-3 | Composer: strike+italic+underline triple nest guard reorder | [ ] |
| P252-4 | Voice: stream hover Opus-only badge when partially connected | [ ] |
**Next:** Spoiler keyshortcuts sync · Escape aria-live polish · strike/italic/underline reorder · partial Opus polish.
--- ---
@@ -3246,6 +3259,7 @@ Micro a11y/guild smokes deferred while GUI sprint is prioritized. See Phase 195
### Changelog ### Changelog
- **2026-05-22** — v0.8.215: Phase 251 GUI — embed keyshortcuts sync on collapse, topic dismiss aria-live, strike/bold/underline triple reorder, partial-connect RTT-only hover badge (`test:embed-toggle-keyshortcuts-on-collapse`, `test:channel-topic-dismiss-aria-live`, `test:composer-strike-bold-underline-triple-reorder`, `test:stream-hover-partial-rtt-only-badge`). Phase 252 planned.
- **2026-05-22** — v0.8.214: Phase 250 GUI — spoiler title sync on collapse, topic outside-click dismiss toast, strike/bold/italic triple reorder, engine partial-connect hover badge (`test:spoiler-link-title-on-collapse`, `test:channel-topic-outside-dismiss-toast`, `test:composer-strike-bold-italic-triple-reorder`, `test:stream-hover-engine-partial-badge`). Phase 251 planned. - **2026-05-22** — v0.8.214: Phase 250 GUI — spoiler title sync on collapse, topic outside-click dismiss toast, strike/bold/italic triple reorder, engine partial-connect hover badge (`test:spoiler-link-title-on-collapse`, `test:channel-topic-outside-dismiss-toast`, `test:composer-strike-bold-italic-triple-reorder`, `test:stream-hover-engine-partial-badge`). Phase 251 planned.
- **2026-05-22** — v0.8.213: Phase 249 GUI — embed title sync on collapse, topic dismiss focus restore polish, bold/italic/underline triple nest (smoke), connected-only hover badge (`test:embed-toggle-title-on-collapse`, `test:channel-topic-dismiss-focus-restore`, `test:composer-bold-italic-underline-triple-nest`, `test:stream-hover-connected-only-badge`). Phase 250 planned. - **2026-05-22** — v0.8.213: Phase 249 GUI — embed title sync on collapse, topic dismiss focus restore polish, bold/italic/underline triple nest (smoke), connected-only hover badge (`test:embed-toggle-title-on-collapse`, `test:channel-topic-dismiss-focus-restore`, `test:composer-bold-italic-underline-triple-nest`, `test:stream-hover-connected-only-badge`). Phase 250 planned.
- **2026-05-22** — v0.8.212: Phase 248 GUI — spoiler link aria sync on collapse, topic toolbar Tab wrap between toolbars, bold/italic/strike triple nest, deafen-only hover badge (`test:spoiler-link-aria-sync`, `test:channel-topic-toolbar-tab-wrap`, `test:composer-bold-italic-strike-triple-nest`, `test:stream-hover-deafen-only-badge`). Phase 249 planned. - **2026-05-22** — v0.8.212: Phase 248 GUI — spoiler link aria sync on collapse, topic toolbar Tab wrap between toolbars, bold/italic/strike triple nest, deafen-only hover badge (`test:spoiler-link-aria-sync`, `test:channel-topic-toolbar-tab-wrap`, `test:composer-bold-italic-strike-triple-nest`, `test:stream-hover-deafen-only-badge`). Phase 249 planned.
+11
View File
@@ -133,6 +133,17 @@ Smokes: `npm run test:reply-preview-hover`, `npm run test:channel-notification-l
Smokes: `npm run test:embed-card-layout`, `npm run test:unread-divider`, `npm run test:role-reorder`, `npm run test:group-dm-header`. Smokes: `npm run test:embed-card-layout`, `npm run test:unread-divider`, `npm run test:role-reorder`, `npm run test:group-dm-header`.
## Desktop GUI (v0.8.215)
| Flow | Behavior |
|------|----------|
| Embed keyshortcuts sync | `syncEmbedToggleKeyshortcutsOnCollapse` keeps Enter/Space on collapse toggle |
| Dismiss aria-live | Topic close announces via polite live region |
| Strike/bold/underline reorder | **strike+bold+underline** checked before strike+italic+underline |
| Partial RTT chip | Connecting voice with RTT shows **↕ Nms** only (yellow) |
Smokes: `npm run test:embed-toggle-keyshortcuts-on-collapse`, `test:channel-topic-dismiss-aria-live`, `test:composer-strike-bold-underline-triple-reorder`, `test:stream-hover-partial-rtt-only-badge`.
## Desktop GUI (v0.8.214) ## Desktop GUI (v0.8.214)
| Flow | Behavior | | Flow | Behavior |
+2
View File
@@ -80,6 +80,8 @@ Per-channel overwrites apply via `pearcord-channel-permissions` (see [CHANNEL_PE
**v0.8.114:** **Collapse all** — Voice filter bar **Collapse all** clears every expanded roster via `set-voice-roster-expanded`. Smoke: `npm run test:voice-roster-collapse-all`. **v0.8.114:** **Collapse all** — Voice filter bar **Collapse all** clears every expanded roster via `set-voice-roster-expanded`. Smoke: `npm run test:voice-roster-collapse-all`.
**v0.8.215:** **Partial-connect RTT-only hover** — When in voice but transport is still connecting and RTT is known, stream hover shows a dedicated **↕ Nms** chip (yellow) instead of the engine chip. Smoke: `npm run test:stream-hover-partial-rtt-only-badge`.
**v0.8.214:** **Engine partial-connect hover** — When in voice but transport is not connected yet, stream hover shows a dedicated **⚙ engine** chip (yellow) instead of the disconnected warning. Smoke: `npm run test:stream-hover-engine-partial-badge`. **v0.8.214:** **Engine partial-connect hover** — When in voice but transport is not connected yet, stream hover shows a dedicated **⚙ engine** chip (yellow) instead of the disconnected warning. Smoke: `npm run test:stream-hover-engine-partial-badge`.
**v0.8.213:** **Connected-only hover** — When voice transport is connected, stream hover shows a dedicated **🔗 Connected** badge and hides engine/RTT chips. Smoke: `npm run test:stream-hover-connected-only-badge`. **v0.8.213:** **Connected-only hover** — When voice transport is connected, stream hover shows a dedicated **🔗 Connected** badge and hides engine/RTT chips. Smoke: `npm run test:stream-hover-connected-only-badge`.