fork-dev / TrackerWin

Bug and issue tracker for Fork for Windows
450 stars 10 forks source link

Fork freezes on showing long commit messages #2193

Open SemVanmeenenAC opened 3 months ago

SemVanmeenenAC commented 3 months ago

Hi, my team frequently uses squash merges which sometimes can result in very long commit messages. Later, when we take a look at our history and lookup those commits, fork frequently freezes for a couple of seconds to sometimes minutes and the CPU load of fork spikes. It will always eventually unfreeze and then show the commit.

As a double check, I looked up the commits through the command line and showing the commit message there is not an issue so the problem seems idd to be somewhere in fork.

DanPristupov commented 3 months ago

How many megabytes are your commit messages? I'm pretty sure less than 10MB messages should work fast.

SemVanmeenenAC commented 3 months ago

I looked up the 3 longest commit messages I have and tested them 2 times.

First, issue seems to be on the 'Commit' tab because if you select the 'Changes' or 'File Tree' tab first when in another commit and then switch to one of those problematic ones (i.e. ensuring that you don't render the commit tab) then everything is fine. When then switching to the 'Commit' tab, the issue idd happens.

Also, when testing with the 'Commit' tab visible, any action that (I assume) forces a rerender of that tab also caused the issue (e.g. changing the window size of fork or trying to select all the commit text and therefore causing scrolling).

Now, for the tests:

  1. 2806 kb - 2872644 characters: freezes for ~50 and ~30 sec
  2. 2571 kb - 2632494 characters: freezes for ~30 and ~33 sec
  3. 717 kb - 733706 characters: freezes for ~10 and ~30 sec

As this issue seems to be with the rendering of that commit tab, it's possibly platform specific so for what's it worth, I'm using version 1.95.0.0 on Windows 11.

EDIT: fixed 2 spelling mistakes.