feat(phase710): custom status CSV & guild widget export mesh parity (v0.8.685)

Complete Phase 710 with RPC 138/139 custom status and guild widget CSV mesh
exports. Wire status-csv-ui.js modal, platform mixin, ui-flow IPC, agentctl
journeys, smokes, and app.js integration. Fix syntax errors in CSV UI helpers
from phases 707–710 (presence, notification, screen, stage, thread, voice,
status). Restore app.js after accidental truncation; add showStatusCsvMeshModal,
deep links, dev-log filters, and settings entry. Document in CUSTOM_STATUS_CSV.md,
release notes, and roadmap; open Phase 711 activity invite + profile banner CSV.
This commit is contained in:
Raven Scott
2026-06-03 05:06:53 -04:00
parent f97bc46d27
commit 3b06fead68
+4
View File
@@ -2790,6 +2790,10 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
if (t === 'sync-notification-override-csv') { const out = await platform.pushNotificationOverrideCsvToMesh(); pushState(); send({ type: 'notification-override-csv-synced', ...out }); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'clear-notification-override-csv') { await platform.clearNotificationOverrideCsvExports(); pushState(); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'push-channel-follow-export-csv') { await platform.pushChannelFollowExportToMesh(); pushState(); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'status-csv-modal-open') { pushState(); send({ type: 'status-csv-modal-opened' }); return true }
if (t === 'sync-custom-status-csv') { const out = await platform.pushCustomStatusCsvToMesh(); pushState(); send({ type: 'custom-status-csv-synced', ...out }); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'clear-custom-status-csv') { await platform.clearCustomStatusCsvExports(); pushState(); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'push-guild-widget-export-csv') { await platform.pushGuildWidgetExportToMesh(); pushState(); if (platform.mode==='guild'&&platform.activeChannelId) send({ type:'composer-focus-channel', channelId: platform.activeChannelId }); return true }
if (t === 'push-sticker-pack-export-csv') {
await platform.pushStickerPackExportToMesh()
pushState()