Repository navigation
Fix approval reviews, add /rename and improve Sessions controls - #80
Merged
Merged
Conversation
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.
Long command approvals used the 4,096-character telemetry excerpt limit, which truncated the review and removed its decision buttons. Approval reviews now have a separate 65,536-character budget, preserved from the live request (including the started-command fallback) through terminal rendering. Decisions remain pinned while Detail scrolls; Home/End jump to the first/last line. When an approval is unsupported or exceeds the budget, its reason stays visible below the scrolling text. Incomplete reviews, non-whitespace terminal controls and unsupported grants still require Codex. Ordinary tabs, surrounding whitespace, trailing newlines and Windows CRLF line endings do not disable command or file-change approvals. Approval eligibility no longer compares formatted display text byte-for-byte with the source; original command and directory values remain unchanged. Reviews preserve surrounding whitespace and account for tab expansion within the display budget.
Adds
/renameto the shared app-server command catalogue in both terminal and writable browser mode. Users edit the current session name, review the proposed name, then confirm separately. The operation usesthread/name/set, preserves ordinary drafts, works during an active turn, and revalidates the session, connection and current name before sending. Concurrent renames invalidate confirmation. Names refresh through existing telemetry; this does not send a model prompt or change model/permission settings. A server-confirmed rename reports “Session renamed.” in both terminal and browser, replacing the misleading notice that it is still waiting for a later refresh. The terminal name editor forwards background ticks, telemetry and resize events. This prevents polling from stopping or remaining stuck waiting for a consumed fetch result, which previously left names, approvals and sent-steer receipts stale after leaving Rename.Sessions provides
(Z)EROfor its local measurement baseline andCL(O)SE ALLbeside it. These use distinctzandoshortcuts;shas no Sessions action. Close All requires a separate second click oropress within five seconds. Its armed button shows confirmation and Escape cancellation. Changing the visible row set requires a fresh confirmation; Zero, individual dismissals and tab changes cancel the armed action. Focused editors keep ordinary typing, and mouse arming releases typing focus while retaining the draft.Close All dismisses every visible row across all pages using the existing activity watermarks. It retains measurements, telemetry and ordinary drafts, and clears selection and unsubmitted approval confirmations. Rows return on renewed activity; already hidden rows retain their original dismissal watermarks. Labels are translated across all 17 locales, compact buttons retain their shortcut hints, and Close All is disabled with no visible rows. Zero affects only the local measurement interval and does not use quota-reset tokens.
README documents the remaining CLI slash-command gaps and the narrower semantics of catalogue browsing, plan mode, speed overrides and Codexometer's local status line. Embedded browser assets are rebuilt. No release or version bump is included.
Validation:
Core Go suite with race detection and coverage; all 17 locale checks; Go vet.
Regressions for long complete approval reviews, started-command correlation, pinned blocked reasons, Home/End and wheel scrolling, and visible/clickable buttons with history navigation.
Rename regressions for separate review/confirmation, Unicode and slash-containing names, target isolation, stale/concurrent names, server rejection and draft preservation.
Frontend type-check, formatting and production build; all 58 browser tests passed using installed Chrome after the pinned Chromium download timed out.
Windows amd64 application build and UI test compilation.
Close All regressions cover off-screen rows, retained measurements and hidden telemetry, automatic return, prior dismissal watermarks, draft retention and empty-list disabling. Terminal presentation snapshot updated for the intended control changes.
Shortcut and confirmation regressions cover distinct Z/O actions, removed Sessions S, ordinary x, typing isolation, repeat suppression, confirmation/cancellation/expiry, changed rows and compact bracketed hints across all 17 locales.
Rename refresh regressions reproduce the pre-fix failures for polling ticks, telemetry (including names, approvals and steer reconciliation) and window resizing, and verify polling continues after the editor closes.
Approval formatting regressions cover tabbed heredocs, quoted tabs, leading/trailing whitespace, trailing newlines and Windows CRLF; terminal rendering preserves the original action and keeps controls available. Expanded reviews exceeding the display budget remain bounded. Confirmed rename notices are checked in terminal and browser control responses.