feat(conversation): implement command queue workflow#1856
feat(conversation): implement command queue workflow#1856piorpua merged 11 commits intoiOfficeAI:mainfrom
Conversation
合并冲突(无法自动解决)本 PR 与目标分支存在冲突,自动 rebase 未能干净解决。请手动 rebase 后重新 push: git fetch origin
git rebase origin/main
# 解决冲突后
git push --force-with-lease |
…d validation - Added editing functionality to the conversation command queue, allowing users to edit queued commands. - Implemented validation to prevent empty command inputs and deduplicate files during updates. - Introduced new i18n strings for editing actions in the zh-TW locale. - Created a new utility function `assertBridgeSuccess` to handle bridge response validation. - Added unit tests for the new editing features and bridge success assertions. - Developed comprehensive DOM tests for the SendBox component, including interaction behaviors and mobile focus handling.
…ity in command queue components
7f02e4d to
2c80bcd
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Code Review:feat(conversation): implement command queue workflow (#1856)变更概述此 PR 为所有支持平台(Codex、ACP、Gemini、Nanobot、OpenClaw)实现了完整的对话命令队列工作流,新增 方案评估结论:✅ 方案合理 方案通过 renderer-side SWR + sessionStorage 实现轻量持久化,与项目架构保持一致,没有跨进程通信的额外复杂度。执行控制采用 ref 跟踪 waiting 状态并结合 问题清单🟠 HIGH — sendbox.tsx:isBtwInput 声明未使用文件: 问题代码: const isBtwInput = enableBtw && btwQuestion !== null;问题说明:此 PR 删除了 修复建议:删除第 241 行的 🔵 LOW — AcpSendBox.tsx:TMessage 导入未使用(存量问题)文件: 问题代码: import type { TMessage } from '@/common/chat/chatLib';问题说明: 修复建议:删除该导入行。 汇总
结论
本报告由本地 CONCLUSION: CONDITIONAL |
- Remove unused `isBtwInput` declaration that triggered oxlint no-unused-vars warning Review follow-up for iOfficeAI#1856
PR Fix 验证报告原始 PR: #1856
总结: ✅ 已修复 1 个 | ❌ 未能修复 0 个
|
Summary
Scope
useConversationCommandQueueCommandQueuePanelfor queue rendering and user interactionsendbox.tsxand platform-specific send boxes so queue behavior is applied consistently in actual conversation send flowsFunctional Boundary
Impacted Areas
src/renderer/pages/conversation/platforms/useConversationCommandQueue.tssrc/renderer/components/chat/CommandQueuePanel.tsxsrc/renderer/components/chat/sendbox.tsxsrc/renderer/pages/conversation/platforms/codex/CodexSendBox.tsxsrc/renderer/pages/conversation/platforms/acp/AcpSendBox.tsxsrc/renderer/pages/conversation/platforms/gemini/GeminiSendBox.tsxsrc/renderer/pages/conversation/platforms/nanobot/NanobotSendBox.tsxsrc/renderer/pages/conversation/platforms/openclaw/OpenClawSendBox.tsxsrc/renderer/pages/conversation/Messages/hooks.tssrc/renderer/services/i18n/locales/*/conversation.jsontests/unit/renderer/conversationCommandQueue.test.tstests/unit/renderer/conversationCommandQueue.dom.test.tsxtests/unit/renderer/conversationCommandQueue.drag.dom.test.tsxtests/unit/sendboxQueue.dom.test.tsxtests/unit/renderer/platformSendBoxes.dom.test.tsxtests/unit/renderer/useGeminiInitialMessage.dom.test.tsxtests/unit/renderer/messageHooks.dom.test.tsxTest plan
tsc --noEmitpasses locally