git-up / GitUp

The Git interface you've been missing all your life has finally arrived.
http://gitup.co
GNU General Public License v3.0
11.5k stars 1.26k forks source link

Fix delay when cmd tabbing into GitUp #993

Closed lapfelix closed 5 months ago

lapfelix commented 5 months ago

So NSApplicationDidBecomeActiveNotification isn't blocked so command-tabbing into GitUp isn't delayed because we're refreshing all the repositories synchronously. The work will still be done on the main thread, but it will now be less likely to be noticed (especially with Stage Manager activated, the reload will probably be done by the time the Stage Manager animation is done)

Steps to reproduce the problem before:

  1. Open several big repositories
  2. Switch to the Finder or any other app
  3. cmd tab back into GitUp

Before: Takes 1-2 seconds before macOS actually switches to GitUp.

With the async dispatch: macOS instantly switches to GitUp, but the app is unresponsive for 1-2 seconds.

I AGREE TO THE GITUP CONTRIBUTOR LICENSE AGREEMENT

Cykelero commented 5 months ago

Just wanted to say—that's a really clever fix! A pretty big difference in UX for very little code change :)

lucasderraugh commented 5 months ago

Seems like a reasonable tradeoff.

drewvolz commented 5 months ago

Thank you so much @lapfelix, this fixed the issue for me.