Git gutter indicators flickering in Nova 11 beta

In the Nova 11 beta the indicators for git changes in the gutter are flickering a lot.
It is not as pronounced in the (gif) recording, because of the lower frame rate, but they flicker heavily.

Screen Recording 2023-04-04 at 11.06.34

4 Likes

Hello Sebastian,

We might need some more information on this.

Is there anything running int he background that might be changing this file (or resaving it, etc.) that might cause the Git indicators to be recalculated from disk?

Does this reproduce with all files, or only specific files? Does it reproduce all the time, or only under specific conditions?

I made a new empty git repo, checked in one file (README.txt), turned off all extensions and still see the flickering. An fs_usage -e -f filesys filtering for the path of the repo shows Nova in a loop like this at least once a second:

10:08:39  getattrlist       /Users/jfieber/test                                                              0.000005   Nova
10:08:39  getattrlist       /Users/jfieber/test/file                                                         0.000002   Nova
10:08:39  stat64            /Users/jfieber/test/.git/info/attributes                                         0.000002   Nova
10:08:39  stat64            /Users/jfieber/test/.gitattributes                                               0.000002   Nova
10:08:39  getattrlist       /Users/jfieber/test/README.txt                                                   0.000026   Nova
10:08:40  getattrlist       /Users/jfieber/test/README.txt                                                   0.000037   Nova
10:08:40  stat64            /Users/jfieber/test/.git/HEAD                                                    0.000019   Nova
10:08:40  stat64            /Users/jfieber/test/.git/HEAD                                                    0.000023   Nova
10:08:40  open              /Users/jfieber/test/.git/HEAD                                                    0.000048   Nova
10:08:40  open              /Users/jfieber/test/.git/HEAD                                                    0.000040   Nova
10:08:40  stat64            /Users/jfieber/test/.git/refs/heads/master                                       0.000012   Nova
10:08:40  open              /Users/jfieber/test/.git/refs/heads/master                                       0.000025   Nova
10:08:40  stat64            /Users/jfieber/test/.git/refs/heads/master                                       0.000011   Nova
10:08:40  open              /Users/jfieber/test/.git/refs/heads/master                                       0.000025   Nova
10:08:40  access            /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000029   Nova
10:08:40  stat64            /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000028   Nova
10:08:40  open              /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000038   Nova
10:08:40  access            /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000025   Nova
10:08:40  access            /Users/jfieber/test/.git/index                                                   0.000005   Nova
10:08:40  stat64            /Users/jfieber/test/.git/index                                                   0.000009   Nova
10:08:40  stat64            /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000028   Nova
10:08:40  open              /Users/jfieber/test/.git/index                                                   0.000025   Nova
10:08:40  stat64            /Users/jfieber/test/.git/config                                                  0.000009   Nova
10:08:40  open              /Users/jfieber/test/.git/objects/d5/300954b0be240fd01ad40aa45a1c52146e0773       0.000067   Nova
10:08:40  access            /Users/jfieber/test/.git/objects/05/27e6bd2d76b45e2933183f1b506c7ac49f5872       0.000015   Nova
10:08:40  stat64            /Users/jfieber/test/.git/objects/05/27e6bd2d76b45e2933183f1b506c7ac49f5872       0.000017   Nova
10:08:40  stat64            /Users/jfieber/test/.gitignore                                                   0.000004   Nova
10:08:40  stat64            /Users/jfieber/test/.git/info/exclude                                            0.000009   Nova
10:08:40  open              /Users/jfieber/test/.git/objects/05/27e6bd2d76b45e2933183f1b506c7ac49f5872       0.000040   Nova
10:08:40  open              /Users/jfieber/test                                                              0.000027   Nova
10:08:40  stat64            /Users/jfieber/test/file                                                         0.000004   Nova
10:08:40  lstat64           /Users/jfieber/test/README.txt                                                   0.000008   Nova
10:08:40  stat64            /Users/jfieber/test/.git/info/attributes                                         0.000003   Nova
10:08:40  stat64            /Users/jfieber/test/.gitattributes                                               0.000002   Nova
10:08:40  stat64            /Users/jfieber/test/.git/config                                                  0.000007   Nova

No other process show up accessing the folder. It seems to stay in this loop regardless of whether there are any changes, either saved or unsaved. OS is Ventura 13.3, happens on both my work machine (intel) and personal (m2).

Thank you for the reports. We have identified the issue and will have this resolved for the v11 release.

3 Likes

FYI it’s still flickering but not all the time. For me it’s flickering in two cases now:

  1. Just after tab change flickers once
  2. Sometimes when I change caret position
1 Like