feat(ui-flow): sync-guild-mesh-triple-roles recovery IPC (Phase 808)

Triple topology refresh for guild-member-roles gossip and guild-sync-ready roles.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 23:00:39 -04:00
co-authored by Cursor
parent fcd8148d40
commit 1e395288e5
2 changed files with 19 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 808 (v0.8.775):** `sync-guild-mesh-triple-roles` recovery IPC. Bundle: `npm run test:ci-phase808`.
**Phase 807 (v0.8.774):** `sync-guild-mesh-triple-typing` recovery IPC. Bundle: `npm run test:ci-phase807`.
**Phase 806 (v0.8.773):** `sync-guild-mesh-triple-reactions` recovery IPC. Bundle: `npm run test:ci-phase806`.
+17
View File
@@ -796,6 +796,23 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
pushState({ structural: true, light: false, source: 'sync-guild-roles' })
return true
}
if (t === 'sync-guild-mesh-triple-roles') {
if (platform.mode === 'guild' && platform.guild?.guild?.id) {
const gid = platform.guild.guild.id
platform.emit('guild-mesh-topology', {
guildId: gid,
meshPeerCount: platform.guild?.peers?.size ?? 0,
manualRecovery: true
})
platform.emit('guild-member-roles', { guildId: gid, manualRecovery: true })
platform.emit('guild-sync-ready', { guildId: gid, roles: 1 })
if (typeof platform.requestGuildSyncFanout === 'function') {
platform.requestGuildSyncFanout()
}
}
pushState({ structural: true, light: false, source: 'sync-guild-mesh-triple-roles' })
return true
}
if (t === 'sync-guild-reactions') {
if (platform.mode === 'guild' || platform.mode === 'dm') {
platform.emit('reaction', {