Complete forum and guild inbox roadmap phases with search, voice, composer, and notification doc updates plus the next channel/threads depth phase.
Co-authored-by: Cursor <[email protected]>
@@ -190,6 +190,8 @@ npm run test:mention-scroll-on-open
**v0.8.268:** Platform `@here` / `@everyone` checks use **parent channel** permissions in threads (same as `@channel`). Smoke: `npm run test:platform-here-thread-gate`.
**v0.8.365 (Phase 402):** Slowmode `aria-describedby` syncs on channel switch (`#composer-slowmode-hint`). Composer `aria-label` reflects channel/thread context. @everyone permission errors in threads cite parent `#channel`. Smokes: `npm run test:composer-slowmode-describedby-channel`, `npm run test:composer-aria-label`, `npm run test:composer-mention-everyone-thread-parent-toast`.
**v0.8.266:** Platform rejects `@channel` without View Channel (`missing permission: mention channel`); UI shows a toast. Shift+@ shows the same toast when blocked. Smoke: `npm run test:mention-channel-platform`.
**v0.8.265:** In **threads**, `@channel` appears only when `view.parentChannelPermissions.viewChannel` is true (parent text channel). Smoke: `npm run test:composer-channel-thread-gate`.
| `markChannelRead()` | Also clears inbox rows for channel and zeros `MENTION_ALERTS` for the channel |
**v0.8.366:****Mark channel read** on guild text channels dismisses thread-family desktop for all threads under the parent (`mark-channel-read-cleared` IPC, Phase 403 re-verified). Smokes: `npm run test:mark-channel-read-channel-thread-family-desktop`, `npm run test:agentctl-thread-inbox-mark-channel-read`, `npm run test:navigate-guild-thread-family-desktop`.
**v0.8.365:****Mark notification read** on forum channels dismisses thread-family desktop for all forum post threads (`mark-notification-read-cleared` IPC, Phase 402 re-verified). Smokes: `npm run test:mark-notification-read-forum-thread-family-desktop`, `npm run test:agentctl-thread-inbox-mark-notification-read`, `npm run test:server-rail-page-jump`.
**v0.8.362:****Mark notification read** on forum channels dismisses thread-family desktop for all forum post threads (`mark-notification-read-cleared` IPC, Phase 399 re-verified). Smokes: `npm run test:mark-notification-read-forum-thread-family-desktop`, `npm run test:agentctl-thread-inbox-mark-notification-read`.
**v0.8.364:****Open notification** on text channels dismisses thread-family desktop for all threads under the parent channel (`open-notification` IPC, Phase 401 re-verified). Smokes: `npm run test:open-notification-channel-thread-family-desktop`, `npm run test:agentctl-thread-inbox-mark-channel-read`.
@@ -352,6 +352,10 @@ See also [FORUM_ARCHIVE_SEARCH.md](./FORUM_ARCHIVE_SEARCH.md).
Chat header: scope `<select>` + search input. Guild hits show `#channel` tag; click a hit to jump channels (`select-channel`). **Recent searches** chips appear when guild scope is active and the query is empty (v0.8.115). **Matches** toggle (guild scope, v0.8.260) filters to matching hits only.
**v0.8.366 (Phase 403):** Guild sidecar stale age falls back to `channelMetaStale.fetchedAt` when guild scope uses cached channel meta. Mesh chip drops `aria-live` while idle. `refreshSearch` mesh-on logs `scope` on cache miss at debug. Smokes: `npm run test:guild-sidecar-stale-channel-meta`, `npm run test:search-mesh-chip-aria-live-idle`, `npm run test:platform-refresh-mesh-on-cache-miss`.
**v0.8.365 (Phase 402):** Forum sidecar stale age falls back to `guildMetaStale.fetchedAt` when forum scope uses cached guild meta. Mesh **↻** drops `aria-pressed` while idle. `setSearch` mesh-on logs `scope` on cache miss at debug. Smokes: `npm run test:forum-sidecar-stale-guild-meta`, `npm run test:search-mesh-refresh-btn-no-pressed-idle`, `npm run test:platform-setsearch-mesh-on-cache-miss`.
@@ -196,6 +196,8 @@ Per-channel overwrites apply via `pearcord-channel-permissions` (see [CHANNEL_PE
**v0.8.205:****Stream hover codec chip** — Video stream hover shows a dedicated codec badge (VP8/H264/etc.) deduped from the quality pill when Opus is not active. Smoke: `npm run test:stream-hover-codec-badge`. See [UI_FLOW.md](./UI_FLOW.md).
**v0.8.366 (Phase 403):** Stage bar **Audience** and **Request pending** pills expose `aria-current="true"` when that is your role (Speaker unchanged). Expanded voice roster rows under voice channels join channel-list roving focus (Home/End, arrows, PageUp/Down ±5). Remote streaming pill + `.voice-roster-name` aria bundle verified. Smokes: `npm run test:stage-audience-aria-current`, `npm run test:channel-list-voice-roster-focus`, `npm run test:voice-roster-remote-streaming-name-bundle`.
**v0.8.363:** Phase 400 re-verified stage **Speaker**`aria-current`, voice **Escape**→channel list, and remote deafen name aria bundles. Smokes: `npm run test:stage-speaker-aria-current`, `npm run test:voice-panel-escape-channel-focus`, `npm run test:voice-roster-remote-deafen-name-bundle`.
**v0.8.360:** Stage bar **Speaker** role pill exposes `aria-current="true"` when you are an active stage speaker. **Escape** from `#voice-bar`, `#stage-bar`, `#chat-voice-panel`, `#voice-members-panel`, or `#soundboard-picker` returns keyboard focus to the active channel row. Smokes: `npm run test:stage-speaker-aria-current`, `npm run test:voice-panel-escape-channel-focus`, `npm run test:server-rail-home-end`.
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.