Repository navigation
Replies: 1 comment
|
+1 — still missing on 0.2.0-rc.2 (desktop). The QueueDock row actions are still edit / remove / steer only. Data point from a plugin workaround: I added drag-and-drop reordering from a local client plugin (
So a native |
Uh oh!
There was an error while loading. Please reload this page.
摘要
Web UI 输入框上方的排队消息条(QueueDock)目前只支持编辑 / 删除 / 单条插队(steer)三个操作,排队顺序固定为发送顺序(FIFO),无法调整。希望为排队中的消息增加拖拽排序(以及键盘可达的替代操作),让用户能把更想先执行的消息移到前面。
现状(基于 0.1.0-rc.6 源码)
packages/client/ui-conversation的QueueDock组件渲染排队条,每行操作仅有:edit(编辑文本)remove(删除)steer(单条插队,agent 运行中可用)session.updateQueueRPC(dsh-host-apiproxy)的 action 是 discriminated union,仅三种:steer会把消息立即送进当前回合(steeringplacement),已在"插队"意义上存在,但不能改变普通排队消息之间的相对顺序。dragenter/dragover/drop),与队列无关。期望行为
实现建议
协议层(
dsh-host-apiproxy/ session 实现)在
session.updateQueue的 action union 中新增:或相对形式(原子性更简单):
queue-item-not-found错误语义)。move只允许作用于placement === "queued"的消息;已被 steer 的消息不可移动。UI 层(
packages/client/ui-conversation的 QueueDock)updateQueue(itemId, { kind: "move", targetIndex })。queueMutable === false)时禁用拖拽,与现有按钮的禁用逻辑一致。验收标准
备选方案
若拖拽实现成本过高,最小可用版本为:每行增加上移 / 下移按钮,配合
{ kind: "move", direction }协议,后续再补拖拽。All reactions