Skip to content

fix: run what is asked for while git is busy next, instead of dropping it - #14

Merged
Lars- merged 1 commit into
mainfrom
fix/queue-ops
Nov 1, 2026
Merged

Lars- merged 1 commit into
mainfrom
fix/queue-ops

Conversation

@Lars-

@Lars- Lars- commented Nov 1, 2026

Copy link
Copy Markdown
Owner

What this changes

A click that changes the repository (Stage, Unstage, Discard, a hunk or line, a stash or branch action) was silently dropped when git was still busy with the previous job. Since live refresh, a reload starts whenever something changes in the working tree, so this happened more often: the click just did nothing. Now what you ask for while git is busy waits its turn and runs right after, in order.

This also lets the Discard button in the confirmation from #12 stay enabled: it no longer needs to be greyed out while git is busy, which on macOS CI made a click land in a frame where a reload had just started (the flaky discarding_an_open_untracked_file_deletes_it_and_closes_it on the v0.5.0 release PR #13).

How it is tested

  • what_is_asked_for_while_git_is_busy_runs_next in crates/app/src/tests.rs starts a reload and, while it runs, asks to stage a file and then commit it; both happen, in that order. It fails without the change (checked by dropping the queued operation again).

  • The whole suite ran five times in a row locally without a failure.

  • cargo fmt --all, cargo clippy --workspace --all-targets -- -D warnings and cargo test --workspace pass

  • It adds as little code as the change needs, and removes what it makes unnecessary

  • Nothing in it comes from GitKraken or another closed-source client (see CONTRIBUTING.md)

@Lars-
Lars- merged commit 8d7434c into main Nov 1, 2026
7 checks passed
@Lars-
Lars- deleted the fix/queue-ops branch November 1, 2026 10:35
@Lars- Lars- mentioned this pull request Nov 1, 2026
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.

1 participant