Phase 782: sync-guild-presence IPC for mesh fanout and structural push

Triggers requestGuildSyncFanout and presence emit when renderer requests
guild presence recovery during mesh sync hardening.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 21:17:01 -04:00
co-authored by Cursor
parent d86aec0a10
commit c4acf6a17a
2 changed files with 12 additions and 0 deletions
+2
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.
**Phase 782 (v0.8.749):** `sync-guild-presence``requestGuildSyncFanout` + structural push. Bundle: `npm run test:ci-phase782`.
**Phase 780 (v0.8.747):** `sync-guild-loading` → structural push + mesh join nudge (`ui-loading-watchdog`) when 0 peers. Bundle: `npm run test:ci-phase780`.
**Phases 766779 (v0.8.746):** Settings IPC — `settings-open`, `settings-close`, `settings-section-change`, `settings-save`, `settings-discard``settings-opened` / `settings-section-changed` / `settings-saved` / `settings-discarded`. Role editor — `role-editor-open`, `role-editor-close`, `role-editor-select`, `role-editor-save`, `role-editor-discard`. Docs: [UI_FLOW.md](../../docs/UI_FLOW.md#settings-and-role-editor-automation), [IPC.md](../../docs/IPC.md#settings--role-editor-766779).
+10
View File
@@ -766,6 +766,16 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
}
return true
}
if (t === 'sync-guild-presence') {
if (platform.mode === 'guild' && platform.guild?.guild?.id) {
if (typeof platform.requestGuildSyncFanout === 'function') {
platform.requestGuildSyncFanout()
}
platform.emit('presence')
}
pushState({ structural: true, light: false })
return true
}
if (t === 'sync-guild-loading') {
const gid =
platform.guild?.guild?.id || platform._guildLoadingGuildId || null