docs: Phase 233 roadmap — aria-pressed, Escape footer, italic, stage speaker (v0.8.197)

Update PLATFORM_ROADMAP, parity, UI flows, channel topic, markdown, and stage
channel docs; plan Phase 234.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-23 00:39:38 -04:00
co-authored by Cursor
parent dad2952bca
commit 59858fc5b2
6 changed files with 43 additions and 7 deletions
+1
View File
@@ -45,6 +45,7 @@ Forum channels reserve `topic` for the tag palette JSON (`{"forumTags":[...]}`).
- **Shift header hint** (v0.8.194): popover header kbd line includes **Shift+click select** alongside ⌘C copy and triple-click selection - **Shift header hint** (v0.8.194): popover header kbd line includes **Shift+click select** alongside ⌘C copy and triple-click selection
- **Dblclick header hint** (v0.8.195): header kbd line also shows **dbl-click select all** - **Dblclick header hint** (v0.8.195): header kbd line also shows **dbl-click select all**
- **Triple-click consolidation** (v0.8.196): `channelTopicPopoverKbdHtml` chip line (`triple-click` copy sel); footer explains partial selection vs ⌘C - **Triple-click consolidation** (v0.8.196): `channelTopicPopoverKbdHtml` chip line (`triple-click` copy sel); footer explains partial selection vs ⌘C
- **Escape footer** (v0.8.197): footer **Esc** line; first Escape dismiss shows one-time copy shortcut toast
- **Focus trap** (v0.8.184): Tab cycles within the popover; first action receives focus - **Focus trap** (v0.8.184): Tab cycles within the popover; first action receives focus
- **Focus restore** (v0.8.185): Escape or dismiss returns focus to the channel name trigger - **Focus restore** (v0.8.185): Escape or dismiss returns focus to the channel name trigger
- **✎** button (moderators) → edit modal - **✎** button (moderators) → edit modal
+1 -1
View File
@@ -7,7 +7,7 @@
| Syntax | Result | | Syntax | Result |
|--------|--------| |--------|--------|
| `**text**` | Bold; composer **B** active + **selection is bold** hint when wrapped in `**` or `***` (v0.8.196) | | `**text**` | Bold; composer **B** active + **selection is bold** hint when wrapped in `**` or `***` (v0.8.196) |
| `*text*` | Italic (v0.8.180) | | `*text*` | Italic (v0.8.180); composer **I** active + **selection is italic** hint when wrapped in single `*` (v0.8.197) |
| `***text***` | Bold + italic (v0.8.181) | | `***text***` | Bold + italic (v0.8.181) |
| `__text__` | Underline; composer **U** active + **selection is underline** hint when wrapped in `__` (v0.8.195) | | `__text__` | Underline; composer **U** active + **selection is underline** hint when wrapped in `__` (v0.8.195) |
| `~~text~~` | Strikethrough; composer **S** active + **selection is strikethrough** hint when wrapped in `~~` (v0.8.194) | | `~~text~~` | Strikethrough; composer **S** active + **selection is strikethrough** hint when wrapped in `~~` (v0.8.194) |
+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.197) — GUI focus
| Area | Reference product | Pearcord | Gap |
|------|-------------------|----------|-----|
| Spoiler pressed | Toggle state | `aria-pressed` + `syncSpoilerLinkToggleA11y` on expand | BI hint |
| Escape footer | Dismiss help | Footer **Esc** line + first-dismiss copy tip | Copy-all chip |
| Italic hint | `*italic*` | **I** active + “selection is italic” | Nest guard |
| Stage speaker | Speaker role | **🎤 Speaker** hover when `myStageRole === speaker` | Pending hover |
## Summary (v0.8.196) — GUI focus ## Summary (v0.8.196) — GUI focus
| Area | Reference product | Pearcord | Gap | | Area | Reference product | Pearcord | Gap |
+20 -6
View File
@@ -1557,16 +1557,29 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
--- ---
### Phase 233 — Discord-like GUI sprint XXXIX (planned) ### Phase 233 — Discord-like GUI sprint XXXIX (complete)
| ID | Item | Status | | ID | Item | Status |
|----|------|--------| |----|------|--------|
| P233-1 | Messages: spoiler link toggle aria-pressed on expand | [ ] | | P233-1 | Messages: spoiler link toggle aria-pressed on expand | [x] |
| P233-2 | Channels: topic popover footer Escape shortcut line | [ ] | | P233-2 | Channels: topic popover footer Escape shortcut line | [x] |
| P233-3 | Composer: italic format hint on selection | [ ] | | P233-3 | Composer: italic format hint on selection | [x] |
| P233-4 | Voice: stream hover stage-speaker badge | [ ] | | P233-4 | Voice: stream hover stage-speaker badge | [x] |
**Next:** Spoiler aria-pressed · topic Escape footer · italic hint · stage speaker hover. **Next:** ~~Spoiler aria-pressed · topic Escape footer · italic hint · stage speaker hover~~ (Phase 233).
---
### Phase 234 — Discord-like GUI sprint XL (planned)
| ID | Item | Status |
|----|------|--------|
| P234-1 | Messages: bold+italic composer hint on `***` selection | [ ] |
| P234-2 | Channels: topic popover copy-all header chip | [ ] |
| P234-3 | Composer: spoiler+code nest hint guard | [ ] |
| P234-4 | Voice: stream hover stage-pending badge | [ ] |
**Next:** BI hint · copy-all chip · nest guard · stage pending hover.
--- ---
@@ -3012,6 +3025,7 @@ Micro a11y/guild smokes deferred while GUI sprint is prioritized. See Phase 195
### Changelog ### Changelog
- **2026-05-22** — v0.8.197: Phase 233 GUI — spoiler link aria-pressed, topic Escape footer, italic composer hint, stream hover stage speaker badge (`test:spoiler-link-aria-pressed`, `test:channel-topic-escape-footer`, `test:composer-italic-hint`, `test:stream-hover-stage-speaker-badge`). Phase 234 planned.
- **2026-05-22** — v0.8.196: Phase 232 GUI — spoiler link aria-expanded, topic triple-click header consolidation, bold composer hint, stream hover stage audience badge (`test:spoiler-link-aria-expanded`, `test:channel-topic-triple-click-header`, `test:composer-bold-hint`, `test:stream-hover-stage-badge`). Phase 233 planned. - **2026-05-22** — v0.8.196: Phase 232 GUI — spoiler link aria-expanded, topic triple-click header consolidation, bold composer hint, stream hover stage audience badge (`test:spoiler-link-aria-expanded`, `test:channel-topic-triple-click-header`, `test:composer-bold-hint`, `test:stream-hover-stage-badge`). Phase 233 planned.
- **2026-05-22** — v0.8.195: Phase 231 GUI — spoiler link row hint, topic dbl-click header hint, underline composer hint, stream hover local mute badge (`test:spoiler-link-row-hint`, `test:channel-topic-dblclick-header-hint`, `test:composer-underline-hint`, `test:stream-hover-mute-badge`). Phase 232 planned. - **2026-05-22** — v0.8.195: Phase 231 GUI — spoiler link row hint, topic dbl-click header hint, underline composer hint, stream hover local mute badge (`test:spoiler-link-row-hint`, `test:channel-topic-dblclick-header-hint`, `test:composer-underline-hint`, `test:stream-hover-mute-badge`). Phase 232 planned.
- **2026-05-22** — v0.8.194: Phase 230 GUI — per-channel spoiler reveal memory, topic Shift+click header hint, strikethrough composer hint, stream hover local deafen badge (`test:spoiler-reveal-per-channel`, `test:channel-topic-shift-header-hint`, `test:composer-strike-hint`, `test:stream-hover-deafen-badge`). Phase 231 planned. - **2026-05-22** — v0.8.194: Phase 230 GUI — per-channel spoiler reveal memory, topic Shift+click header hint, strikethrough composer hint, stream hover local deafen badge (`test:spoiler-reveal-per-channel`, `test:channel-topic-shift-header-hint`, `test:composer-strike-hint`, `test:stream-hover-deafen-badge`). Phase 231 planned.
+1
View File
@@ -40,6 +40,7 @@ View fields: `stageRolesByChannel`, `myStageRole`, `stagePendingRequests` (mods
- Sidebar **Stage Channels** section (🎙) - Sidebar **Stage Channels** section (🎙)
- **Stage bar**: role pill, request/invite buttons, mute (speakers only), leave - **Stage bar**: role pill, request/invite buttons, mute (speakers only), leave
- Voice bar hidden while in a stage channel - Voice bar hidden while in a stage channel
- Stream hover badges (v0.8.196197): **🎭 Audience** when `myStageRole === 'audience'`; **🎤 Speaker** when `myStageRole === 'speaker'`
## Tests ## Tests
+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.197)
| Flow | Behavior |
|------|----------|
| Spoiler aria-pressed | Toggle sets `aria-pressed` on expand; `syncSpoilerLinkToggleA11y` after message render |
| Escape footer | Topic footer documents **Esc** close and one-time copy shortcut tip |
| Italic hint | Single-`*` selection shows **selection is italic**; **I** button highlights |
| Stage speaker hover | **🎤 Speaker** badge on stream hover when stage role is speaker |
Smokes: `npm run test:spoiler-link-aria-pressed`, `npm run test:channel-topic-escape-footer`, `npm run test:composer-italic-hint`, `npm run test:stream-hover-stage-speaker-badge`.
## Desktop GUI (v0.8.196) ## Desktop GUI (v0.8.196)
| Flow | Behavior | | Flow | Behavior |