Sublime Forum

Unstage hungs until mouse moved on top of unstaged view


I don’t have many changed files on many changed lines in any of them. But when I click unstage - file disappears from staged and unstaged view size isn’t updating. If there’s no unstaged files - it’s simply disappearing and doesn’t appear for 3-10 seconds. If there’s any unstaged files, part of unstaged file appears there but looks like it’s cropped, and if I unstage more files - those are not visible too. When I move mouse cursor over unstaged list, it’s updating the view size.



Hi @philip.dukhov,

Thanks for sharing this.

This is actually an intended behavior we implemented early in the development of Sublime Merge.
When you have a large list of staged files, you want to be able to easily unstage each file in quick succession.

After you unstage the first file, that file appears in the modified section above. This causes all of the staged files to be pushed further down the page. What is worse is that on platforms like Windows, the modified file may only appear a few sections after unstaging it (due to Git performance on Windows).
As soon as the modified file loads in above, the page content shifts underneath the cursor.

To solve this problem, we delay updating the modified section until the user has finished unstaging files.
This is heuristic-based, where “finished” is defined by either moving the mouse outside the staged files section, or waiting long enough (10 seconds).

As a comparison, I’ve uploaded two gifs with and without the behavior enabled.

With delayed resizing:

Without delayed resizing:

Hopefully this gives some clarity. If you have any feedback re. this behavior feel free to share it via this thread or the issue tracker.

Kind regards,
- Dylan