Commit Graph
118 Commits
Author SHA1 Message Date
Raven ScottandCursor 46f5ce0e00 feat(stage): stage IPC handlers and composer focus
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]>
2026-05-24 11:22:34 -04:00
Raven ScottandCursor 7fdb7e1aff feat(voice): composer focus after join and leave voice IPC
Phase 524 restores text channel composer autofocus when voice state changes, matching messaging and reaction handlers.

Co-authored-by: Cursor <[email protected]>
2026-05-24 11:16:43 -04:00
Raven ScottandCursor 8e2cc7e85f feat(attachments): composer focus after stage-attachment (Phase 522)
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]>
2026-05-24 11:03:22 -04:00
Raven ScottandCursor 0136cb26bb feat(reactions): composer focus after toggle-reaction (Phase 521)
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]>
2026-05-24 10:57:11 -04:00
Raven ScottandCursor 61e66441b7 feat(messaging): composer focus after send/edit/delete (Phase 520)
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]>
2026-05-24 10:52:32 -04:00
Raven ScottandCursor 5065e53254 feat(search): composer focus after jump-to-message (Phase 519)
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]>
2026-05-24 10:47:14 -04:00
Raven ScottandCursor 7bc352b455 feat(presence): autofocus composer after set-presence and activity IPC
Emit composer-focus-channel when presence or activity changes in a guild
with an active channel selected.

Co-authored-by: Cursor <[email protected]>
2026-05-24 10:38:04 -04:00
Raven ScottandCursor 2661892ce0 feat(discovery): autofocus composer after joining from Explore
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]>
2026-05-24 10:32:44 -04:00
Raven ScottandCursor 7736f43ea9 feat(ui-flow): emit bot-installed and slash-invoked UI events
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]>
2026-05-24 04:22:50 -04:00
Raven ScottandCursor c9ba4a10f2 feat(server-folders): support mergeGuildId on folder create IPC
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]>
2026-05-24 04:03:41 -04:00
Raven ScottandCursor ed74ee17cd feat(channels): delete-channel IPC handler (v0.8.421)
Co-authored-by: Cursor <[email protected]>
2026-05-24 01:04:46 -04:00
Raven ScottandCursor c995bde7a1 feat(channels): select channel and composer focus after create-channel (v0.8.420)
Co-authored-by: Cursor <[email protected]>
2026-05-24 00:53:15 -04:00
Raven ScottandCursor ba00355178 Emit composer-focus and contact toasts for DM and friends (Phase 452).
DM and group-DM opens now request composer autofocus, and friend/block actions surface success toasts for clearer P2P contacts UX.

Co-authored-by: Cursor <[email protected]>
2026-05-24 00:04:46 -04:00
Raven ScottandCursor 159e584853 feat(ui-flow): composer focus after notif actions (Phase 444)
Route mark-notification-read through platform.markNotificationRead.
Send composer-focus-channel after mark-all and open-notification.

Co-authored-by: Cursor <[email protected]>
2026-05-23 19:59:54 -04:00
Raven ScottandCursor 236e7ca451 feat(ui-flow): composer focus after thread/forum create (Phase 443)
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]>
2026-05-23 19:50:28 -04:00
Raven ScottandCursor 3ca86dc059 Phase 441: surface voice/stage connect permission errors to UI.
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]>
2026-05-23 19:25:31 -04:00
Raven ScottandCursor 75267b90e6 Wire remove-guild-emoji and remove-guild-sticker IPC handlers.
Completes Phase 431 delete path from UI and agentctl scenarios.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:24:48 -04:00
Raven ScottandCursor faebb4a455 feat(ipc): delete-slash-command handler
Expose platform slash command deletion to the desktop UI sidecar.

Co-authored-by: Cursor <[email protected]>
2026-05-23 17:05:17 -04:00
Raven ScottandCursor 2fba8129c8 feat(ipc): channel webhook create, delete, and execute handlers
Expose platform webhook APIs to the desktop UI sidecar.

Co-authored-by: Cursor <[email protected]>
2026-05-23 16:53:31 -04:00
Raven ScottandCursor 759e8eb330 Log typing.ipc with channelId before signalTyping (Phase 389).
Emit debug metadata on typing-start IPC so diagnostics correlate typing
gossip with the active channel.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:46:40 -04:00
Raven ScottandCursor de6a49b7ab Accept legacy typing IPC as alias for typing-start.
Stops unhandled ipc warnings when the UI or older clients send type typing.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:10:11 -04:00
Raven ScottandCursor 9d344ca130 Always push UI state after leave-voice IPC.
Ensures voice chrome clears even when platform leave is a noop.

Co-authored-by: Cursor <[email protected]>
2026-05-23 13:02:46 -04:00
Raven ScottandCursor a79cf8f504 feat(ui-flow): mark-channel-read emits threadChannelId for desktop dismiss
Thread mark-read cleared events include threadChannelId so the desktop UI
can dismiss thread-family notifications alongside parent channel batch.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:54:47 -04:00
Raven ScottandCursor bb662dddf1 feat(ui-flow): mark-notification-read includes notificationChannelId
Emits parent channelId for batch dismiss and notificationChannelId for
thread-family desktop clearing on thread notifications.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:45:49 -04:00
Raven ScottandCursor aaf8776229 feat(ui-flow): emit mark-channel-read-cleared for desktop unread dismiss
Resolves parent channel id for threads before notifying desktop UI.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:36:40 -04:00
Raven ScottandCursor 85bc63ddbe docs(ui-flow): document mark-all and mark-read cleared IPC events
Co-authored-by: Cursor <[email protected]>
2026-05-23 09:32:20 -04:00
Raven ScottandCursor b2e3fca2d5 feat(ui-flow): emit mark-all-notifications-read-cleared after mark all
Lets desktop dismiss parent-channel unread desktop notification tags when
mark-all-notifications-read completes from any IPC client.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:32:10 -04:00
Raven ScottandCursor 5084311160 feat(ui-flow): emit mark-notification-read-cleared for desktop unread dismiss
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]>
2026-05-23 09:27:25 -04:00
Raven ScottandCursor 20dfeb5156 feat(v0.8.281): emit open-notification-opened for desktop dismiss
After openNotificationTarget, notify UI so desktop can clear channel
unread desktop notification batch.

Co-authored-by: Cursor <[email protected]>
2026-05-23 09:18:58 -04:00
Raven ScottandCursor cd32dbb82a Pass guildId and meta through settings deep link and diagnostics export IPC.
format-settings-deep-link includes guildId in URL; export-diagnostics-jsonl forwards meta to platform writer.

Co-authored-by: Cursor <[email protected]>
2026-05-23 06:45:53 -04:00
Raven ScottandCursor 063f4f3c89 Log leave-voice noop and add format-settings-deep-link IPC.
Skip pushState when leaveVoiceChannel returns null; format settings URLs for the desktop copy-link flow.

Co-authored-by: Cursor <[email protected]>
2026-05-23 06:33:50 -04:00
Raven ScottandCursor 1735572f73 Handle export-diagnostics-jsonl IPC from the diagnostics panel.
Forwards filtered JSONL lines to the platform writer and replies with the saved file path for UI toasts.

Co-authored-by: Cursor <[email protected]>
2026-05-23 06:22:22 -04:00
Raven ScottandCursor c27ecfa440 fix(ui-flow): reset display-capture trace on stop-screen-share
Mirror leave-voice behavior so display frame counters clear when screen
share stops, keeping voice-capture trace diagnostics accurate.

Co-authored-by: Cursor <[email protected]>
2026-05-23 05:32:26 -04:00
Raven ScottandCursor 82fb4a090c feat(ui-flow): voice trace bytes/sec window and reset on leave-voice
Track rolling bytesPerSec in voice-capture trace logs and reset capture
counters when the user leaves voice.

Co-authored-by: Cursor <[email protected]>
2026-05-23 05:22:13 -04:00
Raven ScottandCursor c01d59a381 feat(ui-flow): voice/display trace bytes and request-stage-speak IPC
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]>
2026-05-23 05:13:16 -04:00
Raven ScottandCursor eba2d713d3 fix(ui-flow): join-stage capacity errors and voice capture trace (v0.8.248)
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]>
2026-05-23 04:50:05 -04:00
Raven ScottandCursor 3d1d44d0a2 fix: surface voice channel full errors for join-voice-listen IPC
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]>
2026-05-23 04:43:08 -04:00
Raven ScottandCursor 012f4f656c fix: noop set-voice-mute when not in voice; emoji miss debug log
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]>
2026-05-23 04:31:19 -04:00
Raven ScottandCursor f4d580743d fix(ipc): emoji-image-miss instead of throwing on missing attachment
Co-authored-by: Cursor <[email protected]>
2026-05-23 04:23:17 -04:00
Raven ScottandCursor 1aec691a24 chore(log): trace-level compose draft IPC logging
Co-authored-by: Cursor <[email protected]>
2026-05-23 04:15:26 -04:00
Raven ScottandCursor c0ce2502fd fix(ipc): set-compose-draft no longer pushes full UI state
Co-authored-by: Cursor <[email protected]>
2026-05-23 04:10:25 -04:00
Raven ScottandCursor 9990f85624 feat(log): ui-flow guild select and IPC warn logging
Depend on pearcord-log; log select-guild and unhandled IPC via hooks.log.

Co-authored-by: Cursor <[email protected]>
2026-05-23 04:02:54 -04:00
Raven ScottandCursor 42fda37fe6 feat(ipc): add refresh-notifications handler for empty inbox UI
Re-push view state when the notifications modal Refresh control is used.

Co-authored-by: Cursor <[email protected]>
2026-05-23 03:30:28 -04:00
Raven ScottandCursor ac8083216e feat(ui-flow): forward nsfwGateEnabled on update-guild-settings (v0.8.174)
Wire guild settings IPC to platform.updateGuildSettings so the desktop UI can
toggle the server-wide NSFW acknowledgement gate.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:48:41 -04:00
Raven ScottandCursor 62fecd0589 Wire set-channel-nsfw IPC handler
Route NSFW toggle from channel context menu to platform.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:35:54 -04:00
Raven ScottandCursor c0e2347470 Wire set-channel-user-limit IPC handler
Route voice/stage user limit updates from desktop UI to platform.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:25:39 -04:00
Raven ScottandCursor 6f75eaaa11 Wire rename-channel IPC and role hoist updates
Handle rename-channel and pass hoist flag through update-guild-custom-role.

Co-authored-by: Cursor <[email protected]>
2026-05-22 22:17:45 -04:00
Raven ScottandCursor 2a16746f71 feat(ui-flow): move-channel-to-parent IPC handler (v0.8.168)
Wire category drag-drop moves from the desktop UI to the platform.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:55:31 -04:00
Raven ScottandCursor 512f62cda8 feat(ui-flow): IPC handler for set-channel-mute-duration
Co-authored-by: Cursor <[email protected]>
2026-05-22 21:45:07 -04:00
Raven ScottandCursor abd9b9446f feat(ui-flow): IPC handler for reorder-guild-custom-roles
Wire settings drag-reorder to platform.reorderGuildCustomRoles.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:38:01 -04:00