Skip to content

fix(tui): reset rewound todos and keep commands local during edits - #336

Merged
hetaoBackend merged 1 commit into
mainfrom
fix/tui-rewind-todos
Sep 23, 2026
Merged

hetaoBackend merged 1 commit into
mainfrom
fix/tui-rewind-todos

Conversation

@hetaoBackend

@hetaoBackend hetaoBackend commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Change

Reproduce and fix two TUI failures around historical message editing:

  • After choosing Edit in /history and submitting a replacement prompt, history reconciliation kept the old todo projection when the rewound history contained no todo event. Rebuild todos alongside the replaced history so discarded tasks disappear and earlier retained tasks are restored.
  • While a historical edit was active, entering the exact /rewind command went through editSessionMessage as prompt text. Resolve local commands before intercepting an edit submission; skills, explicit message submissions, and ordinary slash-prefixed prose retain their message behavior.

Ordinary conversation-only rewind and /rewind outside editing were already passing. The new app-level regressions failed on the original implementation specifically for history editing, then passed with these changes.

Validation

  • PASS: focused TUI app, controller, history-flow and command-flow suites: 4 files, 432 tests.
  • PASS: VITEST_MAX_WORKERS=4 pnpm verify on clean commit 803ff35605fa2fd7f1dd5c2414895a73f7025053, full macOS profile: all 14 applicable gates. Capability gate: 169 files, 4542 passed / 14 skipped. Windows and npm release-archive gates are inapplicable to this local profile.
  • Performance classification: perf:full because this changes history projection refresh. Remote performance and CI results are pending; latest-head full performance evidence is required before merge.
  • NOT RUN: real M3.1/model acceptance, native terminal manual acceptance, and local Windows/Linux validation. Reproductions use the real TUI application with synthetic runtime fixtures.

Publication and contribution checks

  • Changes preserve existing licenses and notices.
  • No credentials, account data, real user content, internal source history, or private review material included.
  • Only existing published files changed; no inventory or test-suite registration updates needed.
  • No command syntax or documentation changes required. Offline test results are not live-service acceptance.

Maintainer handoff

Publication scope or license changes: none.

Shared-source port: pending.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@hetaoBackend hetaoBackend added bug Something isn't working tui Interactive terminal UI (TUI) cli Standalone mcode: TUI, headless, ACP and source builds/tooling perf:full Run the full performance suite; required for performance-sensitive changes labels Sep 23, 2026
@hetaoBackend
hetaoBackend merged commit 782f64d into main Sep 23, 2026
17 of 18 checks passed
@hetaoBackend
hetaoBackend deleted the fix/tui-rewind-todos branch September 23, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working cli Standalone mcode: TUI, headless, ACP and source builds/tooling perf:full Run the full performance suite; required for performance-sensitive changes tui Interactive terminal UI (TUI)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant