Commit Graph
199 Commits
Author SHA1 Message Date
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
Raven ScottandCursor 64aa0a9932 feat(ui-flow): handle set-channel-notification-level IPC
Route channel notification level changes from the desktop UI to the
platform layer.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:20:31 -04:00
Raven ScottandCursor e207b0e97b feat(ui-flow): mark-channel-read IPC and attachment uploadLocalId echo
Support channel mark-read from context menus and pass through upload
local ids on attachment-staged for composer progress UI.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:14:38 -04:00
Raven ScottandCursor d9ba232b7d feat(ui-flow): handle reorder-categories IPC
Route category drag-reorder from the desktop UI to the platform layer.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:08:24 -04:00
Raven ScottandCursor 6ef43b0893 feat(ui-flow): handle reorder-channels IPC from desktop UI
Route sidebar drag-reorder to platform.reorderChannelsInParent and
refresh view state after sibling positions update.

Co-authored-by: Cursor <[email protected]>
2026-05-22 21:03:28 -04:00
Raven ScottandCursor 4e66fd3e31 feat(ui-flow): handle remove-search-recent IPC (v0.8.140)
Co-authored-by: Cursor <[email protected]>
2026-05-22 19:41:52 -04:00
Raven ScottandCursor cefc3b69c9 fix(ui-flow): await async setDiscoveryFilter on update-discovery-filter
Phase 146 (v0.8.111): ensures Explore filter prefs are written before
state push returns to the renderer.

Co-authored-by: Cursor <[email protected]>
2026-05-22 15:54:52 -04:00
Raven ScottandCursor a547a4bb3d feat(ui-flow): set-voice-roster-expanded IPC handler
Phase 145 (v0.8.110): forwards channel expand/collapse toggles to
platform.setVoiceRosterChannelExpanded for USER_PREFS persistence.

Co-authored-by: Cursor <[email protected]>
2026-05-22 15:23:48 -04:00
Raven ScottandCursor aed80652dc feat(ui-flow): pass publicListing on create-guild IPC
Phase 144 (v0.8.109): create-guild forwards publicListing to
platform.createGuild so the create-server modal listing checkbox is honored.

Co-authored-by: Cursor <[email protected]>
2026-05-22 15:06:03 -04:00
Raven ScottandCursor 00cfaeb3bc feat(ui-flow): IPC for explore baseline, onboarding Explore, async thread filter
Phase 142: format-discovery-baseline-link handler (existing).

Phase 143 (v0.8.108):
- mark-onboarding-explore-shown clears first-guild Explore prompt
- join-invite forwards explore deep-link results as deep-link-result
- await setThreadsPanelFilter for USER_PREFS persistence

Co-authored-by: Cursor <[email protected]>
2026-05-22 14:48:41 -04:00
Raven ScottandCursor 97df9a13fd feat(ui-flow): wire set-voice-roster-combined-filter IPC
Dispatch combined voice roster filter preset to platform (Phase 141).

Co-authored-by: Cursor <[email protected]>
2026-05-22 14:17:34 -04:00
Raven ScottandCursor cf83bb0cb9 feat(ui-flow): wire set-voice-roster-deafened-only IPC
Dispatch desktop IPC to platform.setVoiceRosterDeafenedOnly for
Phase 140 voice roster filtering.

Co-authored-by: Cursor <[email protected]>
2026-05-22 14:08:47 -04:00
Raven ScottandCursor b450239f57 feat(ui-flow): handle set-voice-roster-muted-only IPC
Wire desktop IPC set-voice-roster-muted-only to platform
setVoiceRosterMutedOnly for Phase 139 sidebar voice roster filter.

Co-authored-by: Cursor <[email protected]>
2026-05-22 14:04:59 -04:00
Raven Scott b4f0cbd0f0 docs: full module READMEs (v0.8.103 platform audit) 2026-05-22 13:40:05 -04:00
Raven ScottandCursor 0de1297a66 feat(ui-flow): handle discovery-explore-opened IPC (Phase 137)
Wire discovery-explore-opened to platform.markDiscoveryExploreOpened so the
Pear UI can reset the discovery listing baseline whenever Explore opens.

Co-authored-by: Cursor <[email protected]>
2026-05-22 12:53:12 -04:00
Raven ScottandCursor ec344bc897 feat(ui-flow): set-server-folder-color IPC (v0.8.100)
Wire folder color changes from desktop context menu.

Co-authored-by: Cursor <[email protected]>
2026-05-22 12:07:37 -04:00
Raven ScottandCursor edf7c478cd feat(ui-flow): thread pin/mute IPC handlers (v0.8.99)
Wire toggle-thread-pin and set-thread-notification-muted through the
UI flow bridge.

Co-authored-by: Cursor <[email protected]>
2026-05-22 11:53:34 -04:00
Raven ScottandCursor 426e305879 feat(ui-flow): set-threads-panel-sort IPC (v0.8.98)
Wire threads panel sort mode through the UI flow bridge.

Co-authored-by: Cursor <[email protected]>
2026-05-22 11:39:00 -04:00
Raven ScottandCursor 8f1dc42505 feat(ui-flow): IPC set-threads-panel-parent-filter (v0.8.97)
Wire guild-scope threads panel parent channel filter through the UI
flow bridge so desktop can limit Active Threads to one parent channel.

Co-authored-by: Cursor <[email protected]>
2026-05-22 11:22:36 -04:00
Raven ScottandCursor daf89afe1a feat(ui-flow): refresh-search IPC for mesh search rerun (Phase 130)
Wire refresh-search to platform.refreshSearch() and pushState so the
desktop ↻ control can refresh guild/forum mesh hits on demand.

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