Wire rename-group-dm, start-dm-voice, start-dm-video, and sidebarFilterActive
on open-dm so the renderer matches platform DM inbox capabilities.
Co-authored-by: Cursor <[email protected]>
Wire export-partition-heal-diagnostics so the UI can copy focused heal cooldown and mesh snapshots to the clipboard.
Co-authored-by: Cursor <[email protected]>
Wire partition heal to platform.runPartitionHealSync and emit
partition-heal-result for UI toast and composer autofocus.
Co-authored-by: Cursor <[email protected]>
Wire request-member-page to platform.requestGuildMemberPage and emit
member-page-requested for UI toast and composer autofocus.
Co-authored-by: Cursor <[email protected]>
Emit thread-archive-result after archive/unarchive so the UI can toast and
refocus the composer on the parent channel.
Co-authored-by: Cursor <[email protected]>
Add get-mesh-stability-stats and export-mesh-stability-stats handlers so the UI can refresh and copy mesh churn diagnostics without a full diagnostics export.
Co-authored-by: Cursor <[email protected]>
Wire join-public-discovery IPC options through to joinPublicDiscovery for
bounded guild mesh sync after Explore join.
Co-authored-by: Cursor <[email protected]>
Export bytes to download-cache, use saved-path for large files, and always
send download/preview error events when fetch fails.
Co-authored-by: Cursor <[email protected]>
Race download reads with a 30s timeout and reject oversized inline IPC
payloads so the UI does not stay on Downloading indefinitely.
Co-authored-by: Cursor <[email protected]>
Handle request-attachment-download using readAttachmentBytesWithSource
for any mime type and reply with base64 payload or error.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel after set-audit-log-export-filter and
set-audit-export-schedule in guild mode for Phase 602 audit hub depth.
Co-authored-by: Cursor <[email protected]>
Phase 598 parity — autofocus message composer after update-user-prefs
and update-guild-settings when a guild text channel is active.
Co-authored-by: Cursor <[email protected]>
Phase 597 parity — autofocus message composer when switching guilds
and a text channel is selected, matching join-invite behavior.
Co-authored-by: Cursor <[email protected]>
Phase 596 parity — autofocus message composer when a new guild's default
text channel is selected, matching join-invite behavior.
Co-authored-by: Cursor <[email protected]>
Request composer-focus-channel after set-digest-export-schedule so
compliance schedule saves return focus to the message composer.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel after run-audit-export-now and sync-audit-export-csv
when guild mode has an active channel.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when guild mode retains activeChannelId after
create/update custom role or channel permission overwrite changes.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when guild mode retains an active channel after
delete-channel or reorder-channels IPC.
Co-authored-by: Cursor <[email protected]>
Phase 525 adds approve-stage-speaker and demote-stage-speaker handlers plus composer-focus-channel after join, request, and approve.
Co-authored-by: Cursor <[email protected]>
Phase 524 restores text channel composer autofocus when voice state changes, matching messaging and reaction handlers.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when stage-attachment completes in guild
mode so file uploads restore composer autofocus like Discord.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when toggle-reaction completes in guild
mode so reaction toggles restore composer autofocus like Discord.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when messaging IPC completes in guild
mode so composer autofocus matches Discord after send and edits.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when jump-to-message resolves in guild
mode so search and pin jumps restore composer autofocus like Discord.
Co-authored-by: Cursor <[email protected]>
Emit composer-focus-channel when join-public-discovery selects a channel
so the message composer receives focus after an explore listing join.
Co-authored-by: Cursor <[email protected]>
After install-bot-token and slash send-message, notify the Pear UI with
structured sidecar messages for confirmation toasts and composer autofocus.
Co-authored-by: Cursor <[email protected]>
When two guilds are merged via drag, assign both servers to the newly created folder in one create-server-folder handler pass.
Co-authored-by: Cursor <[email protected]>
Route mark-notification-read through platform.markNotificationRead.
Send composer-focus-channel after mark-all and open-notification.
Co-authored-by: Cursor <[email protected]>
Send composer-focus-channel IPC after create-thread and create-forum-post
so the message composer autofocuses in the new thread.
Co-authored-by: Cursor <[email protected]>
Return IPC error toasts for no-permission and listen-only join failures
on join-voice, join-voice-listen, and join-stage handlers.
Co-authored-by: Cursor <[email protected]>
Emits parent channelId for batch dismiss and notificationChannelId for
thread-family desktop clearing on thread notifications.
Co-authored-by: Cursor <[email protected]>
After markRead, push mark-notification-read-cleared with guild and channel ids
so desktop can dismiss channel unread desktop notifications.
Co-authored-by: Cursor <[email protected]>
format-settings-deep-link includes guildId in URL; export-diagnostics-jsonl forwards meta to platform writer.
Co-authored-by: Cursor <[email protected]>
Track rolling bytesPerSec in voice-capture trace logs and reset capture
counters when the user leaves voice.
Co-authored-by: Cursor <[email protected]>
Aggregate voice-capture bytes and display-capture frame counts at trace
when PEARCORD_LOG_VOICE_CAPTURE_TRACE=1, and surface request-stage-speak
capacity errors to the UI like join-stage.
Co-authored-by: Cursor <[email protected]>
Handle join-stage like join-voice for full channels, forward no-viewable guild
warnings to diagnostics, and sample voice-capture chunks at trace when enabled.
Co-authored-by: Cursor <[email protected]>
Return UI error toast instead of ipc dispatch failed when voice
channel is at capacity for listen-only joins.
Co-authored-by: Cursor <[email protected]>
Avoid ipc dispatch failed errors after disconnect races and forward
emoji-image-miss as a debug log record for the diagnostics panel.
Co-authored-by: Cursor <[email protected]>