fix(tui): improve resume ordering and input responsiveness - #48095
Open
mongoAI wants to merge 3 commits into
Open
fix(tui): improve resume ordering and input responsiveness#48095mongoAI wants to merge 3 commits into
mongoAI wants to merge 3 commits into
Conversation
teknium1
reviewed
Jul 14, 2026
teknium1
left a comment
Contributor
There was a problem hiding this comment.
Thanks for the broad TUI usability pass. Current main has independently landed several parts of this work, but one storage change is unsafe and the remaining pieces need selective salvage.
Problems
hermes_state.py:1438changes a failed SQLite lock acquisition into success. The compressor’s current invariant is that competing compression can fork session lineage (agent/conversation_compression.py:518-539). Current main now distinguishes an absent compatibility API from an implemented-but-broken lock API and fails closed for the latter (commit2627933f337b8dfb4913caf9b596d72c6de22b93).- The PR's global queue default conflicts with the current intentional surface split: TUI defaults to queue, while classic CLI retains interrupt (
ui-tui/src/app/useConfigSync.ts:32-39;cli.py:463).
Suggested changes
- Keep lock failures fail-closed; only the explicit stale-runtime API-absence compatibility case may proceed unlocked.
- Salvage remaining queue controls/recent-close display onto current TUI code. Current main already has compression-tip-aware last-active ordering (
hermes_state.py:3347-3452) and tmux fast-echo protection (ab8f06381).
Automated hermes-sweeper review.
| # still otherwise usable), proceed without the lock. This risks a | ||
| # rare concurrent-compression fork, but a permanently uncompressible | ||
| # session is worse. | ||
| return True |
Contributor
There was a problem hiding this comment.
Returning success here claims the caller owns a lock that the failed SQLite transaction never created. That permits concurrent compression—the lineage-fork case the lock is meant to prevent—and starts lease refresh/release work for a nonexistent row. Keep implemented lock-storage failures fail-closed; only a structurally absent compatibility API should proceed unlocked.
This was referenced Aug 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test Plan