Skip to content

tix improvements - #2842

Draft
Sebastian Thiel (Byron) wants to merge 250 commits into
mainfrom
tix-improvements
Draft

tix improvements#2842
Sebastian Thiel (Byron) wants to merge 250 commits into
mainfrom
tix-improvements

Conversation

@Byron

@Byron Sebastian Thiel (Byron) commented Jul 26, 2026

Copy link
Copy Markdown
Member

It's useful to validate that signatures are correctly set, and to validate them as well.

Consider merging after each task, as more of them keep piling up.

Tasks

Comment thread gix-tix/src/lib.rs Fixed
@Byron
Sebastian Thiel (Byron) force-pushed the tix-improvements branch 5 times, most recently from afdaef0 to 6b2dcd1 Compare July 28, 2026 14:40
Comment thread gix-tix/src/lib.rs Fixed
@Byron
Sebastian Thiel (Byron) force-pushed the tix-improvements branch 9 times, most recently from 2618805 to 43c144d Compare August 5, 2026 07:55
@Byron
Sebastian Thiel (Byron) force-pushed the tix-improvements branch 12 times, most recently from 8ebd7f8 to 3e9e83c Compare August 12, 2026 08:19
Comment thread gix-tix/src/edit/reword.rs Fixed
The previous description could be read as an ordinary Git stash at the current checkout. State that tix creates a gix stash associated with the HEAD commit, matching the existing storage and restoration behavior.
Store checks-pass metadata as worktree-local Git notes keyed by tree ID. Show the marker in the TUI and plain status output, and expose it through the enrich shortcut group.
Expose commit todo, Tix note, Git note, and tree checks-pass enrichments through nested CLI commands. Targets default to HEAD, accept change IDs, and boolean commands support idempotent --clear updates.
Keep prefix labels compact in the footer and render active choices in a connected one-line overlay above it. Clamp the overlay to the terminal, draw it above other content, and preserve the existing interaction behavior.
Move rebase commands into the actions prefix and allow a selected linear HEAD ancestry to move as one stack while preserving refs, checkout state, and cycle safety.\n\nAdapt the rebased signing API and fixture snapshots needed by the feature tests.
Keep conflict previews armed while users navigate, center the conflicting row, require Enter or Escape, and absorb the resolved index before continuing.\n\nLoad metadata for the full editable todo scope and render commit/tree enrichment markers before signature state.
Shift notices and pane status rows above visible prefix popouts, suppressing a popout only when a protected row has no space to move. Reverse only the title of an unselected HEAD row.
Add copy-insert beside the renamed move-insert and stack-insert actions, using a dedicated copied plan step so the destination receives HEAD’s change without consuming the source occurrence or its resources.

Select the new copy as detached HEAD, retain source refs and notes, carry copy conflicts through the existing continuation flow, reject review-source duplication, and expose the actions as a c, a m, and a t.
Replace the ASCII dirty-worktree marker with the requested two-column glyph while preserving the existing status gutter, selection styling, and conflict-marker precedence.

Update the rendering regression and behavioral specification so deletion statistics continue to use D independently.
Rename the ref-only forkpoint action to attach at a h. Restore a f as an independent commit fork that reuses new-commit preparation, preserves enrichments, pins the new leaf atomically, and travels to it without rewriting the source stack.
Shade titles at attached and detached foreign worktree HEADs while keeping the current HEAD and selection more prominent. Preserve both attached-checkout and remembered-branch decorations when they share a branch.
Add first, parent, child, and tip destinations resolved within HEAD's visible default-view component. Report ambiguous endpoints with directly usable commit and change IDs while preserving the existing travel pipeline.
Keep pane content above the floating popup while extending each cleared overlay to its original bottom, so no history row shows through.
Exclude tracking-only graph nodes from reverse-hex change-ID resolution so command selectors match rendered history rows. Cover the duplicated-upstream case that made tix travel report false ambiguity.
Collapse non-tip history segments into nonselectable ring rows while preserving visible tips, selection, and graph topology.

Keep rewrite and conflict selection workflows on the full history.
Preserve selected symbolic ref names before peeling, and continue incremental refresh through cached ancestry when a pin makes it visible.
Retain graph endpoints, junctions, and hidden boundaries as selectable commits. Let synthetic linear segments participate in navigation and expand in place while preserving modal target eligibility and refresh state.
Rank refreshed first-parent descendants by their current displayed branch before lane computation, so advancing a tip does not swap independent lanes. Cover successive refreshes and compressed history.
Preserve the selected entry viewport row while cycling between canonical and compressed projections, clamping only when the new history cannot keep it. Cover entering on a commit and leaving from a compressed segment.
Store per-worktree operation history as config-serialized commits, restore refs and affected worktrees with checked transactions, and expose undo/redo through the TUI.

Show the current queue position as two-tone progress in the transient message line, while keeping internal queue refs out of history and revision selection.
Reserve top-level prefix keys across every submenu, move stash into actions, and underline stack-insert at its actual shortcut.
Reload the active view after an editor returns and relocate the target by its full change ID. This preserves concurrent tree amendments while failing safely if the identity disappeared or became ambiguous.
Exclude obsolete commits retained by the append-only history cache from descendant and merge queries used by edits. Preserve the ordinary history scope across ref-tree refreshes that temporarily load foreign worktree tips.
Reuse an available symbolic HEAD pin as the checkout target when returning to its branch, avoiding an intermediate detached checkout and its extra worktree traversal.

Complete pending rebases using only the affected rewritten path so unrelated history cannot delay or block time travel.
Present history refreshes and time travel as complete frames so viewport-dependent alignment is not redrawn through intermediate layouts.

Keep changes panes visible during navigation and make conflict markers steady, leaving Ratatui responsible for normal buffer diffing.
Expose the existing atomic undo-reference cleanup for recovery when the worktree-local queue should be discarded without replaying it.

Delete only this worktree’s tip and cursor refs. Repeated calls are no-ops; recorded refs and other worktrees remain untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants