Skip to content

v0.11.0 — undo composer inserts / replaces, never replay sends

Choose a tag to compare

@RestRegular RestRegular released this 23 Oct 18:46
· 5 commits to main since this release

Record composer inserts / replaces in undo, keep sends irreversible.

  • Plugin undo / redo now also records "insert into composer" and "replace composer" as single steps (stored as the draft text before / after the operation), so undo restores the draft the action overwrote and redo applies it again.
  • A composer step only applies while the draft still equals the content that step produced; if the draft was typed into, cleared by a send or belongs to another session, the stale step is retired instead of wiping newer text.
  • Sends are never undo / redo steps: notepad sends, send-to-new-session and the chat-send archive capture all commit with record: false.
  • Cards a send archived (origin send / compose) are pinned to their current body and archived state in every restored snapshot, and re-appended when a snapshot predates them, so undo / redo can neither unarchive, rewrite nor resend them.

撤销 / 重做包含插入、替换,发送不可撤销 / 重做。

  • 插件撤销 / 重做现在也记录「插入到输入框」和「替换输入框内容」,各记一步(存操作前后的对话框文本):撤销会把对话框恢复成操作前的内容,重做再放回。
  • 只有对话框仍等于该步留下的内容时这一步才生效;之后手动改过、被发送清空或属于别的会话时,该步自动作废,不会吞掉新输入。
  • 发送不进入撤销 / 重做:记事本发送、发送到新会话、对话框发送后的自动归档都用 record: false 提交。
  • 被发送归档的分段(origin 为 send / compose)在恢复历史快照时按现内容、现归档状态固定,快照里没有就补回,撤销 / 重做既不会恢复成未发送,也不会改写或重发。