feat(ui-flow): wire DM scheduled-message IPC routes
Add create/list/cancel/send-now dispatch handlers for DM scheduled messages so renderer and agentctl can exercise queue operations through the standard IPC contract. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -4,6 +4,8 @@ Pearcord desktop UI IPC dispatch and automated flow scenarios for Bare smokes. M
|
|||||||
|
|
||||||
**v0.8.638 (Phase 659):** Added DM poll IPC routes: `vote-dm-poll` (optional `voted` desired-state) -> `dm-poll-voted`, `edit-dm-poll` -> `dm-poll-edited`, `close-dm-poll` -> `dm-poll-closed`, and `delete-dm-poll` -> `dm-poll-deleted`.
|
**v0.8.638 (Phase 659):** Added DM poll IPC routes: `vote-dm-poll` (optional `voted` desired-state) -> `dm-poll-voted`, `edit-dm-poll` -> `dm-poll-edited`, `close-dm-poll` -> `dm-poll-closed`, and `delete-dm-poll` -> `dm-poll-deleted`.
|
||||||
|
|
||||||
|
**v0.8.638 (Phase 659):** Added DM scheduled-message IPC routes: `create-dm-scheduled-message`, `list-dm-scheduled-messages`, `cancel-dm-scheduled-message`, and `send-now-dm-scheduled-message`.
|
||||||
|
|
||||||
**v0.8.638 (Phase 658):** Added `audit-dm-thread-p2p` IPC -> `dm-thread-p2p-audit` event to expose DM-thread topic safety diagnostics from platform.
|
**v0.8.638 (Phase 658):** Added `audit-dm-thread-p2p` IPC -> `dm-thread-p2p-audit` event to expose DM-thread topic safety diagnostics from platform.
|
||||||
|
|
||||||
**v0.8.628 (Phase 655 batch 2):** IPC `rename-group-dm`, `start-dm-voice`, `start-dm-video`; `open-dm` passes `sidebarFilterActive`. See [DM_INBOX.md](../../docs/DM_INBOX.md).
|
**v0.8.628 (Phase 655 batch 2):** IPC `rename-group-dm`, `start-dm-voice`, `start-dm-video`; `open-dm` passes `sidebarFilterActive`. See [DM_INBOX.md](../../docs/DM_INBOX.md).
|
||||||
|
|||||||
@@ -1040,6 +1040,38 @@ async function dispatchUiMessage (platform, msg, hooks = {}) {
|
|||||||
pushState()
|
pushState()
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
if (t === 'create-dm-scheduled-message') {
|
||||||
|
const out = await platform.createDmScheduledMessage({
|
||||||
|
content: msg.content,
|
||||||
|
sendAt: msg.sendAt,
|
||||||
|
timezone: msg.timezone,
|
||||||
|
recurrence: msg.recurrence
|
||||||
|
})
|
||||||
|
send({ type: 'dm-scheduled-message-created', result: out })
|
||||||
|
pushState()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (t === 'list-dm-scheduled-messages') {
|
||||||
|
const out = await platform.listDmScheduledMessages({
|
||||||
|
channelId: msg.channelId || null,
|
||||||
|
includeSent: !!msg.includeSent
|
||||||
|
})
|
||||||
|
send({ type: 'dm-scheduled-messages', items: out })
|
||||||
|
pushState()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (t === 'cancel-dm-scheduled-message') {
|
||||||
|
const out = await platform.cancelDmScheduledMessage(msg.scheduleId)
|
||||||
|
send({ type: 'dm-scheduled-message-cancelled', result: out })
|
||||||
|
pushState()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (t === 'send-now-dm-scheduled-message') {
|
||||||
|
const out = await platform.sendNowDmScheduledMessage(msg.scheduleId)
|
||||||
|
send({ type: 'dm-scheduled-message-sent', result: out })
|
||||||
|
pushState()
|
||||||
|
return true
|
||||||
|
}
|
||||||
if (t === 'stage-attachment') {
|
if (t === 'stage-attachment') {
|
||||||
const att = await platform.stageAttachment({
|
const att = await platform.stageAttachment({
|
||||||
data: fromBase64(msg.dataBase64),
|
data: fromBase64(msg.dataBase64),
|
||||||
|
|||||||
Reference in New Issue
Block a user