feat(ui-flow): digest CSV modal IPC and compliance export (v0.8.666)

Handle digest-csv-modal-open, sync-hook-failure-digest-csv,
clear-hook-failure-digest-csv, and export-compliance-snapshot with composer
focus after guild automation actions.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-03 01:13:56 -04:00
co-authored by Cursor
parent 518f44eff7
commit 72d3a850a8
2 changed files with 46 additions and 0 deletions
+4
View File
@@ -2,6 +2,10 @@
Pearcord desktop UI IPC dispatch and automated flow scenarios for Bare smokes. Mirrors `apps/pearcord` pear-pipe message handling.
**Phase 691 (v0.8.666):** `digest-csv-modal-open`, `sync-hook-failure-digest-csv`, `clear-hook-failure-digest-csv`, `export-compliance-snapshot` with composer focus. Bundle: `npm run test:ci-phase691`.
**Phase 690 (v0.8.665):** `audit-csv-modal-open`, `clear-mod-digest-notify`, `sync-audit-export-csv` composer focus. Bundle: `npm run test:ci-phase690`.
**Phase 687 (v0.8.662):** `worker-modal-open``worker-modal-opened`; composer focus after worker modal. Bundle: `npm run test:ci-phase687`.
**Phase 685 (v0.8.660):** `webhook-modal-open``webhook-modal-opened`; composer focus after webhook modal. Bundle: `npm run test:ci-phase685`.
+42
View File
@@ -2435,6 +2435,48 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
send({ type: 'audit-csv-modal-opened' })
return true
}
if (t === 'digest-csv-modal-open') {
pushState()
send({ type: 'digest-csv-modal-opened' })
return true
}
if (t === 'sync-hook-failure-digest-csv') {
const out = await platform.pushHookFailureDigestCsvToMesh()
pushState()
send({ type: 'hook-failure-digest-csv-synced', ...out })
if (platform.mode === 'guild' && platform.activeChannelId) {
send({
type: 'composer-focus-channel',
channelId: platform.activeChannelId
})
}
return true
}
if (t === 'clear-hook-failure-digest-csv') {
await platform.clearHookFailureDigestCsvExports()
pushState()
if (platform.mode === 'guild' && platform.activeChannelId) {
send({
type: 'composer-focus-channel',
channelId: platform.activeChannelId
})
}
return true
}
if (t === 'export-compliance-snapshot') {
await platform.exportComplianceSnapshot({
limit: msg.limit,
filter: msg.filter
})
pushState()
if (platform.mode === 'guild' && platform.activeChannelId) {
send({
type: 'composer-focus-channel',
channelId: platform.activeChannelId
})
}
return true
}
if (t === 'clear-mod-digest-notify') {
await platform.clearModDigestNotifyPrefs()
pushState()