mock: 変化のないスナップショットをUndo履歴に積まない

数値欄の change がフォーカスを外したときにもう一度届くと、同じ値の変更が履歴に2回積まれ、
Undo 1回で戻らなかった。グループ編集の commit と同じく、直前と同じなら積まない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017yoUu9Xd8dhwyQdCfKfaXG
This commit is contained in:
2026-10-23 22:18:50 +09:00
co-authored by Claude Opus 5.5
parent 785daa23c2
commit 0838487f4a
3 changed files with 13 additions and 2 deletions
+2 -1
View File
@@ -10,12 +10,13 @@ export class ProjectHistory {
) {
this.items = [structuredClone(initial)];
}
/** Adds one undoable snapshot unless a grouped edit is active. */
/** Adds one undoable snapshot unless a grouped edit is active or nothing changed. */
push(value: ProjectFile): void {
if (this.pending) {
this.replaceTop(value);
return;
}
if (JSON.stringify(value) === JSON.stringify(this.items[this.cursor])) return;
this.add(value);
}
/** Starts grouping subsequent pushes into a single operation. T-17. */