samschott / maestral

Open-source Dropbox client for macOS and Linux
https://maestral.app
MIT License
3.12k stars 64 forks source link

Menubar Overlay #598

Open craigz opened 2 years ago

craigz commented 2 years ago

Running the current version (Maestral 1.5.3) has generated a good number of sync errors due to the new alias handling, with the majority of these aliases (and errors) appearing nested within various project folder's node_modules folders.

As the errors occur, and perhaps after a certain threshold is reached, the menubar icon gains a bell/alarm overlay (running on macOS in my case). Clicking Show Sync Issues (146)... brings up an expected new window titled Maestral Sync Issues and from there I can either show the files in Finder or Online. After a review of these files, and having closed the Maestral Sync Issues window, I would expect the menubar icon overlay to disappear, as there is really nothing further to be done.

Alternatively, there could be clear options within the Maestral Sync Issues window, or perhaps a clear all button at the bottom of that window. In that setup, it would make sense for the error overlay to persist until the errors have been addressed, either by resolving the conflict/issue or by having cleared them manually via the new clear issue/clear all buttons.

Regardless, I'm hoping that the bell overlay doesn't now have to be a permanent fixture on the menubar icon as it is currently.

As a 'fix' I'd tried setting up selective sync to ignore one of the flagged errors, however that isn't going to work for my use case, as that simply ditches the local copy of the file/folder, which in turn breaks the local project.

I see this persisting for as long as the Dropbox API handles aliases in this fashion and for as long as I intend to save project folders in Dropbox.

samschott commented 2 years ago

I see this persisting for as long as the Dropbox API handles aliases in this fashion and for as long as I intend to save project folders in Dropbox.

Unfortunately, yes. Even when manually clearing the errors, Maestral will try to sync the items again on every start when it does a full scan of the local folder and realises that they are not yet synced.

You might try to exclude the symlink folders in the .mignore file, especially if there is a common naming pattern to them, and then restart Maestral. This will prevent any attempts at uploading those and should clear the errors after a restart, however it will also delete any matching symlink items that are already on the server and kind of goes against properly syncing the project folders...

I've put in a feature request with Dropbox for supporting the creation of symlinks in their API but its not at the top of their list of priorities...