feat(soundboard): composer focus after play-soundboard IPC

Phase 527 restores text channel composer autofocus when a soundboard clip plays in guild mode.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 11:32:05 -04:00
co-authored by Cursor
parent be5e10262b
commit e3debf2855
2 changed files with 9 additions and 1 deletions
+3 -1
View File
@@ -2,6 +2,8 @@
Pearcord desktop UI IPC dispatch and automated flow scenarios for Bare smokes. Mirrors `apps/pearcord` pear-pipe message handling.
**v0.8.490 (Phase 527):** `play-soundboard` emits `composer-focus-channel` in guild mode. Bundle: `npm run test:phase527-soundboard` (app repo).
**v0.8.489 (Phase 526):** `start-screen-share` and `stop-screen-share` emit `composer-focus-channel` in guild mode. Bundle: `npm run test:phase526-screen` (app repo).
**v0.8.488 (Phase 525):** `join-stage`, `request-stage-speak`, `approve-stage-speaker`, and `demote-stage-speaker` emit `composer-focus-channel` in guild mode. Bundle: `npm run test:phase525-stage` (app repo).
@@ -53,7 +55,7 @@ Returns `false` for unknown types (caller may log).
| Announcements | `set-announcement-crosspost`, `set-announcement-hub-publish`, `subscribe-remote-announcement-hub`, `follow-announcement` |
| Boosts / stickers | `contribute-guild-boost`, `upsert-guild-sticker`, `upsert-sticker-pack` |
| Profile | `update-profile-cosmetics`, `set-profile-banner-image`, step-up PIN types |
| Voice / screen | `join-voice`, `join-voice-listen`, `leave-voice`, `join-stage`, `request-stage-speak`, `approve-stage-speaker`, `demote-stage-speaker`, `start-screen-share`, `stop-screen-share`, `voice-capture-chunk`, `display-capture-frame` |
| Voice / screen | `join-voice`, `join-voice-listen`, `leave-voice`, `join-stage`, `request-stage-speak`, `approve-stage-speaker`, `demote-stage-speaker`, `start-screen-share`, `stop-screen-share`, `play-soundboard`, `voice-capture-chunk`, `display-capture-frame` |
| Notifications | `mark-all-notifications-read` (emits `mark-all-notifications-read-cleared` + `composer-focus-channel`, v0.8.407), `mark-notification-read` (calls `platform.markNotificationRead`, emits `mark-notification-read-cleared` + `notificationChannelId`, v0.8.407), `open-notification` (marks read via `markNotificationRead`, emits `composer-focus-channel`, v0.8.407), `mark-channel-read` (emits `mark-channel-read-cleared` + `threadChannelId` for threads, v0.8.287), `refresh-notifications` (v0.8.236) |
| Workers | `export-integration-worker-script`, `run-worker-install-trial`, `announce-worker-release` |
| Moderation / channels | `ban-member`, `upsert-channel-overwrite`, forum/thread types |
+6
View File
@@ -1298,6 +1298,12 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
if (t === 'play-soundboard') {
await platform.playSoundboardSound(msg.name)
pushState()
if (platform.activeChannelId && platform.mode === 'guild') {
send({
type: 'composer-focus-channel',
channelId: platform.activeChannelId
})
}
return true
}
if (t === 'request-sound-preview') {