新增: 待发箱抽屉与对话体验前端批

- 待发箱抽屉: ChatInput ⏰ 入口 + OutboxDrawer + useAiOutbox IPC 封装
- U2 进度语义三层: 内容层(最近动作) + 静默三档降速脉冲, 永不自动判死
- 流式心跳自愈: 竞态窗口旧任务迟到完成事件误收敛的自愈判定(949 前端兜底)
- 953 截断提示: 末条气泡渲染截断标记 + 继续输出按钮, 事件契约透传
This commit is contained in:
lxy
2026-10-11 07:38:00 +08:00
parent 31510d3555
commit 3818a63522
22 changed files with 1151 additions and 19 deletions
+24
View File
@@ -113,6 +113,7 @@ export default {
examplePrompt4: 'Generate a project idea',
goToSettings: 'Open settings',
goToSettingsHint: 'The detached window cannot open settings directly. Configure AI providers on the main window’s Settings page.',
goToSettingsOpened: 'Settings opened in the main window',
goToTaskHint: 'The detached window cannot open tasks directly. View task details in the main window.',
// ── Provider switch feedback ──
@@ -125,6 +126,8 @@ export default {
// ── Pending queue ──
queueTitle: 'Queued {n}/10',
clearQueue: 'Clear',
// UI-4 (board 943): clear-queue confirm (one click wipes all queued items, unrecoverable)
clearQueueConfirm: 'Clear all queued messages? This cannot be undone',
// queue item edit + send now
queueEdit: 'Edit',
queueSave: 'Save',
@@ -339,5 +342,26 @@ export default {
editEmptyBlocked: 'Edit content is empty, submission cancelled',
skillNoMatchQuery: 'No skill matches "{q}", send blocked',
backfillOverwriteConfirm: 'The input box has an unsent draft; backfilling will overwrite it. Continue?',
// ── Outbox / scheduled messages (OutboxDrawer + ChatInput clock entry, design 2026-10-10 §3.4) ──
outboxEntry: 'Scheduled messages',
outboxTitle: 'Scheduled & Outbox',
outboxEmpty: 'No scheduled or queued messages',
outboxNewTitle: 'New scheduled message',
outboxNewPlaceholder: 'Content to send on schedule',
outboxTimeLabel: 'Send time',
outboxCreate: 'Schedule',
outboxReschedule: 'Reschedule',
outboxSendNow: 'Send now',
outboxCancel: 'Cancel',
outboxQueueAsap: 'ASAP',
outboxStatusPending: 'Pending',
outboxStatusSending: 'Sending',
outboxStatusSent: 'Sent',
outboxStatusFailed: 'Failed',
outboxStatusCanceled: 'Canceled',
outboxActionFail: 'Action failed, please retry',
outboxDuePast: 'Scheduled time must be in the future',
outboxNeedConv: 'No target conversation; create one first',
},
}