docs: Phase 261 roadmap, parity, voice, topic, markdown, and UI flow (v0.8.225)
Document spoiler title sync, toolbar Escape aria-live, strike/bold/italic reorder, partial engine hover badge, and plan Phase 262 embed title sprint. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -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)
|
||||
- **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
|
||||
- **Toolbar Escape aria-live** (v0.8.225): Closing from a topic toolbar with Escape uses assertive `role="status"` and a dedicated toolbar message
|
||||
- **Escape-dismiss focus return** (v0.8.224): Pressing Escape (outside toolbars) restores focus to the channel name with a gold outline and shadow (`channel-name-topic-escape-dismiss-focus-return`)
|
||||
- **Outside-dismiss focus return** (v0.8.223): Clicking outside the topic popover restores focus to the channel name with a cyan outline (`channel-name-topic-outside-dismiss-focus-return`)
|
||||
- **Kbd toolbar focus** (v0.8.222): When copy and actions toolbars have no focus target, opening focuses the first kbd-toolbar button with a gold outline (`channel-topic-kbd-toolbar-open-focus`)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
| Spoiler + heading + code | Composer warns when spoiler, heading, and code markers overlap in one selection (v0.8.206) |
|
||||
| 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; checked before strike+bold+underline — v0.8.222) |
|
||||
| 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.225) |
|
||||
| Strike + bold + underline | Composer warns when strike, bold, and underline markers overlap in one selection (v0.8.210; checked before bold+italic+underline — v0.8.221) |
|
||||
| Bold + italic + strike | Composer warns when bold, italic, and strike markers overlap in one selection (v0.8.212; checked before strike+bold+italic — v0.8.223) |
|
||||
| Strike + italic + underline | Composer warns when strike, italic, and underline markers overlap in one selection (v0.8.211; checked before bold+italic+strike — v0.8.224) |
|
||||
|
||||
@@ -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.225) — GUI focus
|
||||
|
||||
| Area | Reference product | Pearcord | Gap |
|
||||
|------|-------------------|----------|-----|
|
||||
| Spoiler title sync | Toggle a11y | `syncSpoilerLinkTitleOnCollapse` updates title on collapse | Embed title sync |
|
||||
| Toolbar Escape live | Popover a11y | Assertive status + toolbar-specific aria-live on toolbar Escape | Escape copy toast |
|
||||
| S/B/I reorder | Inline formats | **strike+bold+italic** before bold+italic+strike | strike/bold/underline reorder |
|
||||
| Partial engine chip | Stream stats | **⚙ engine** when connecting with engine only | Partial voice-state polish |
|
||||
|
||||
## Summary (v0.8.224) — GUI focus
|
||||
|
||||
| Area | Reference product | Pearcord | Gap |
|
||||
|
||||
+20
-6
@@ -1921,16 +1921,29 @@ When completing work, change `[ ]` → `[x]` and add a one-line note under **Cha
|
||||
|
||||
---
|
||||
|
||||
### Phase 261 — Discord-like GUI sprint LXVII (planned)
|
||||
### Phase 261 — Discord-like GUI sprint LXVII (v0.8.225)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P261-1 | Messages: spoiler toggle sync title on collapse | [ ] |
|
||||
| P261-2 | Channels: topic popover toolbar escape dismiss aria-live polish | [ ] |
|
||||
| P261-3 | Composer: strike+bold+italic triple nest guard reorder | [ ] |
|
||||
| P261-4 | Voice: stream hover engine-only badge when partially connected | [ ] |
|
||||
| P261-1 | Messages: spoiler toggle sync title on collapse | [x] |
|
||||
| P261-2 | Channels: topic popover toolbar escape dismiss aria-live polish | [x] |
|
||||
| P261-3 | Composer: strike+bold+italic triple nest guard reorder | [x] |
|
||||
| P261-4 | Voice: stream hover engine-only badge when partially connected | [x] |
|
||||
|
||||
**Next:** Spoiler title sync · toolbar escape aria-live · strike/bold/italic reorder · partial engine polish.
|
||||
**Next:** ~~Spoiler title sync · toolbar escape aria-live · strike/bold/italic reorder · partial engine polish~~ (Phase 261).
|
||||
|
||||
---
|
||||
|
||||
### Phase 262 — Discord-like GUI sprint LXVIII (planned)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P262-1 | Messages: embed toggle sync title on collapse | [ ] |
|
||||
| P262-2 | Channels: topic popover copy shortcut toast on first escape polish | [ ] |
|
||||
| P262-3 | Composer: strike+bold+underline triple nest guard reorder | [ ] |
|
||||
| P262-4 | Voice: stream hover voice-state badge when partially connected | [ ] |
|
||||
|
||||
**Next:** Embed title sync · escape copy toast · strike/bold/underline reorder · partial voice-state polish.
|
||||
|
||||
---
|
||||
|
||||
@@ -3376,6 +3389,7 @@ Micro a11y/guild smokes deferred while GUI sprint is prioritized. See Phase 195
|
||||
|
||||
### Changelog
|
||||
|
||||
- **2026-05-22** — v0.8.225: Phase 261 GUI — spoiler title sync on collapse, topic toolbar escape aria-live polish, strike/bold/italic triple reorder, partial-connect engine-only hover badge (`test:spoiler-link-title-on-collapse`, `test:channel-topic-toolbar-escape-aria-live`, `test:composer-strike-bold-italic-triple-reorder`, `test:stream-hover-partial-engine-only-badge`). Phase 262 planned.
|
||||
- **2026-05-22** — v0.8.224: Phase 260 GUI — spoiler label sync on collapse, topic escape-dismiss focus return, strike/italic/underline triple reorder, partial-connect awaiting-link hover badge (`test:spoiler-link-label-on-collapse`, `test:channel-topic-escape-dismiss-focus`, `test:composer-strike-italic-underline-triple-reorder`, `test:stream-hover-partial-disconnected-only-badge`). Phase 261 planned.
|
||||
- **2026-05-22** — v0.8.223: Phase 259 GUI — embed label sync on collapse, topic outside-dismiss focus return, bold/italic/strike triple reorder, partial-connect link-up hover badge (`test:embed-toggle-label-on-collapse`, `test:channel-topic-outside-dismiss-focus`, `test:composer-bold-italic-strike-triple-reorder`, `test:stream-hover-partial-connected-only-badge`). Phase 260 planned.
|
||||
- **2026-05-22** — v0.8.222: Phase 258 GUI — spoiler expanded sync on collapse, topic kbd toolbar open focus, bold/italic/underline triple reorder, partial-connect screen-share-only hover badge (`test:spoiler-link-expanded-on-collapse`, `test:channel-topic-kbd-toolbar-focus`, `test:composer-bold-italic-underline-triple-reorder`, `test:stream-hover-partial-screen-share-only-badge`). Phase 259 planned.
|
||||
|
||||
+11
@@ -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`.
|
||||
|
||||
## Desktop GUI (v0.8.225)
|
||||
|
||||
| Flow | Behavior |
|
||||
|------|----------|
|
||||
| Spoiler title sync | `syncSpoilerLinkTitleOnCollapse` updates tooltip on toggle |
|
||||
| Toolbar Escape live | Assertive `role="status"` + toolbar-specific dismiss message |
|
||||
| S/B/I reorder | **strike+bold+italic** checked before bold+italic+strike |
|
||||
| Partial engine chip | Connecting with engine only shows **⚙** label (gold) |
|
||||
|
||||
Smokes: `npm run test:spoiler-link-title-on-collapse`, `test:channel-topic-toolbar-escape-aria-live`, `test:composer-strike-bold-italic-triple-reorder`, `test:stream-hover-partial-engine-only-badge`.
|
||||
|
||||
## Desktop GUI (v0.8.224)
|
||||
|
||||
| Flow | Behavior |
|
||||
|
||||
@@ -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.225:** **Partial-connect engine-only hover** — When connecting with only the P2P engine known (no RTT/Opus/mic/listen/mute/deafen/capture/screen-share/link-up/awaiting-link), stream hover shows a dedicated **⚙ engine** chip (gold) instead of duplicate badges. Smoke: `npm run test:stream-hover-partial-engine-only-badge`.
|
||||
|
||||
**v0.8.224:** **Partial-connect awaiting-link hover** — When connecting without UDX (no RTT/Opus/mic/listen/mute/deafen/capture/screen-share/link-up), stream hover shows a dedicated **⚠ Awaiting link** chip (gold) instead of the engine chip. Smoke: `npm run test:stream-hover-partial-disconnected-only-badge`.
|
||||
|
||||
**v0.8.223:** **Partial-connect link-up hover** — When connecting with UDX available (no RTT/Opus/mic/listen/mute/deafen/capture/screen-share), stream hover shows a dedicated **🔗 Link up** chip (green, muted) instead of the engine chip. Smoke: `npm run test:stream-hover-partial-connected-only-badge`.
|
||||
|
||||
Reference in New Issue
Block a user