Merge remote-tracking branch 'origin/master' into worktree/pr799-merge-20260731-final
# Conflicts: # packages/client/ui-conversation/README.i18n.yaml
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write .agents/notes/implemented/simplification/2026-07-31-drop-user-message-edit-stub.md
|
||||
2026-07-31-drop-user-message-edit-stub.md: 5a34be1dd285f4aced9e6cfb2e324b20ec734bed
|
||||
2026-07-31-drop-user-message-edit-stub.zh.md: 768cb4618b4a85f61e6348f8c6fb6a93d686e7d3
|
||||
@@ -0,0 +1,27 @@
|
||||
# Agent Note: Drop the user-message edit stub
|
||||
|
||||
Status: implemented
|
||||
|
||||
English | [中文](2026-07-31-drop-user-message-edit-stub.zh.md)
|
||||
|
||||
## Problem
|
||||
|
||||
The user bubble's IconActions row carried an edit button beside copy and branch. Nothing backed it: the control had no click handler, no client mutation, and no host operation for resending an edited message. A user who found it saw an affordance the product cannot honor.
|
||||
|
||||
## Decision
|
||||
|
||||
`MessageIconActions` renders clock / copy / branch only, and its `edit` prop is gone with the button; `MessageItem` no longer passes it. The user bubble and the assistant chrome now differ only by clock side. The package README records the missing capability under Known Limitations, and the web message-actions golden pins the row without the control.
|
||||
|
||||
The common locale keeps its generic `edit` term, which is shared vocabulary rather than this component's copy.
|
||||
|
||||
Reintroduce the control together with the capability: a client mutation that edits a settled user message and the host behavior that decides what the edited message does to the turn that already consumed it.
|
||||
|
||||
## Alternatives considered
|
||||
|
||||
**Disable the button with a tooltip.** A visible-but-dead control still advertises editing and costs the same explaining; removal is the honest state.
|
||||
|
||||
**Wire it to the queue editor.** The queue edits a message that has not been sent. A settled user message is already in the transcript and in the model's context, so reusing that editor would silently mean something else.
|
||||
|
||||
## Consequences
|
||||
|
||||
Web offers no way to correct a sent message; branching from the message is the nearest available gesture. Reintroduction is a UI-only change once the mutation exists, since the row composes its actions from props.
|
||||
@@ -0,0 +1,27 @@
|
||||
# Agent Note: 移除 user 消息的编辑存根
|
||||
|
||||
Status: implemented
|
||||
|
||||
[English](2026-07-31-drop-user-message-edit-stub.md) | 中文
|
||||
|
||||
## 问题
|
||||
|
||||
user 气泡的 IconActions 行在复制和分支旁边还有一个编辑按钮,但其背后什么都没有:该控件没有点击处理、没有 client 侧变更,也没有 host 侧重新发送已编辑消息的操作。用户找到它时,看到的是一个产品无法兑现的可供性。
|
||||
|
||||
## 决策
|
||||
|
||||
`MessageIconActions` 只渲染时钟/复制/分支,其 `edit` prop 随按钮一并删除;`MessageItem` 不再传入该 prop。现在 user 气泡与 assistant chrome 只在时钟位置上不同。包 README 在 Known Limitations 中记录这项缺失的能力,web 的 message-actions 金样固定了不含该控件的动作行。
|
||||
|
||||
公共 locale 保留通用的 `edit` 词条:它是共享词汇,而非本组件的文案。
|
||||
|
||||
重新引入该控件时要与能力一起落地:既需要编辑已定稿 user 消息的 client 变更,也需要 host 侧决定这条编辑后的消息对已经消费过它的轮次意味着什么。
|
||||
|
||||
## 曾考虑的替代方案
|
||||
|
||||
**把按钮置灰并加提示。** 一个可见但无效的控件仍在宣告可以编辑,解释成本相同;直接移除才是诚实的状态。
|
||||
|
||||
**接到队列编辑器上。** 队列编辑的是尚未发送的消息。已定稿的 user 消息已经进入转录和模型上下文,复用该编辑器会让同一个动作悄悄变成另一件事。
|
||||
|
||||
## 后果
|
||||
|
||||
Web 没有任何途径修正已发送的消息;从该消息分支是最接近的现有手势。由于动作行的内容完全由 props 组合而来,能力就绪后重新引入只是一次纯 UI 改动。
|
||||
Reference in New Issue
Block a user