Phase 855: sync-guild-mesh-quad-large-roster-heal IPC
Wire large-roster heal recovery with partition heal, member page burst, and guild-sync-ready quadLargeRosterHeal flag. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
Pearcord desktop UI IPC dispatch and automated flow scenarios for Bare smokes. Mirrors `apps/pearcord` pear-pipe message handling.
|
||||
|
||||
**Phase 855 (v0.8.822):** `sync-guild-mesh-quad-large-roster-heal` recovery IPC. Bundle: `npm run test:ci-phase855`.
|
||||
|
||||
**Phase 854 (v0.8.821):** `sync-guild-mesh-quad-resilience-soak` mega-soak IPC. Bundle: `npm run test:ci-phase854`.
|
||||
|
||||
**Phase 853 (v0.8.820):** `sync-guild-mesh-quad-offline-heal` composite recovery IPC. Bundle: `npm run test:ci-phase853`.
|
||||
|
||||
@@ -1450,6 +1450,50 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
|
||||
})
|
||||
return true
|
||||
}
|
||||
if (t === 'sync-guild-mesh-quad-large-roster-heal') {
|
||||
if (platform.mode === 'guild' && platform.guild?.guild?.id) {
|
||||
const gid = platform.guild.guild.id
|
||||
const peerN = platform.guild?.peers?.size ?? 0
|
||||
platform.emit('guild-mesh-topology', {
|
||||
guildId: gid,
|
||||
meshPeerCount: peerN,
|
||||
manualRecovery: true,
|
||||
quadMesh: true,
|
||||
largeRosterHeal: true
|
||||
})
|
||||
void platform
|
||||
.runPartitionHealSync({
|
||||
force: true,
|
||||
source: 'sync-guild-mesh-quad-large-roster-heal'
|
||||
})
|
||||
.catch(() => null)
|
||||
if (typeof platform._refreshGuildSyncHealthCounts === 'function') {
|
||||
await platform._refreshGuildSyncHealthCounts(gid).catch(() => null)
|
||||
}
|
||||
if (typeof platform.requestGuildMemberPage === 'function') {
|
||||
platform.requestGuildMemberPage(0, { immediate: true })
|
||||
}
|
||||
platform.emit('member')
|
||||
platform.emit('presence')
|
||||
platform.emit('guild-sync-health')
|
||||
platform.emit('guild-sync-ready', {
|
||||
guildId: gid,
|
||||
quadLargeRosterHeal: 1,
|
||||
partitionHeal: 1,
|
||||
members: 1,
|
||||
rosterComplete: 1
|
||||
})
|
||||
if (typeof platform.requestGuildSyncFanout === 'function') {
|
||||
platform.requestGuildSyncFanout()
|
||||
}
|
||||
}
|
||||
pushState({
|
||||
structural: true,
|
||||
light: false,
|
||||
source: 'sync-guild-mesh-quad-large-roster-heal'
|
||||
})
|
||||
return true
|
||||
}
|
||||
if (t === 'sync-guild-mesh-quad-resilience-soak') {
|
||||
if (platform.mode === 'guild' && platform.guild?.guild?.id) {
|
||||
const gid = platform.guild.guild.id
|
||||
|
||||
Reference in New Issue
Block a user