milke / GitFinder-Issues

Bug and issue tracker for GitFinder - git client with macOS Finder integration
16 stars 1 forks source link

File icons out of sync #35

Closed cjr-- closed 5 years ago

cjr-- commented 6 years ago

macOS 10.13.4 GitFinder 1.0.1 (36)

The top level file icons (at the repo level) don't indicate the state of their child nodes. This is important to me as checking that changes to other dependant repos are committed prevents wasted time. I have tried relaunching finder and the problem persists. I can't say for sure but I thought this worked previously.

On further inspection I think that the problem is that parent nodes in general don't reflect their childrens git status.

cjr-- commented 6 years ago

... 5 hours later ... its working again!

not sure what changed though 😕

milke commented 6 years ago

Hm… First of all, nice that it works again 🙂

I'm not really sure why it went out of sync. Whenever Finder asks extension for a badge for an folder icon, and if you have "Show Git status for folders" enabled in preferences, the status for the folder is calculated recursively going into its depth and checking statuses for all files in there. This is one part of application (extension, to be more precise) which can be improved, because folder status is calculated for each folder recursively, even though some folders in the hierarchy maybe already have their statuses calculated. I tried to implement some caching and pre-calculations to avoid walking the same folders recursively over again, but it didn't work reliably, because it's completely random what icons Finder asks you for.

Anyway, if it happens again, let me know and I'd also appreciate a screenshot (in the list of columns view, so at least a part of folder hierarchy is visible).

milke commented 5 years ago

I haven't worked specifically on this, but version 1.2 introduces some major redesign of the way application and Finder extension work and interoperate. This should also contribute to increased stability and robustness of the combo and hopefully removes this error as well.

I'll close this one, but if the issue reappears, please fill free to reopen (preferred), or create a new one.