arduino / arduino/Arduino

IDE library manager leaves temporary directory name when libs are in a dropbox monitored path

Open
#11,203 4 comments 0 reactions 0 assignees View on GitHub
Component: Board/Lib Manager Type: Bug
Dominant language
Java
Stars
14.6k
Forks
7k
PR merge metrics
No merged PRs in 30d

Description

When *File->Preferences->Sketchbook location* is set to a directory which is monitored by dropbox client, installation/upgrade of libraries interfere with dropbox client and do not get renamed to the proper final name of the lib but remain as temporary folder *arduino-\d+*.
Upon upgrade, this leads to multiple libraries in different directories and the builder not being able to consistently select the most recent version (see also issue https://github.com/arduino/arduino-builder/issues/366).
This issue is discussed on the forum thread https://forum.arduino.cc/index.php?topic=724169.

I tested with ArduinoIDE 1.8.13 on Windows 10 and a recent hourly build 2021-01-24 ... both showing the same behavior.

Attached a trace with Sysinternals Process Manager: [Logfile.zip](https://github.com/arduino/Arduino/files/5863472/Logfile.zip)
Filter settings: [ProcessMonitorFilterSettings](https://user-images.githubusercontent.com/4767099/105647649-67dcb900-5ea7-11eb-96db-b0a88ea3b9f9.jpg)
I suppose the interesting two lines are the ones with Result equal to SHARING VIOLATION and INVALID DEVICE REQUEST.

I also tested the IDE with directories monitored with the latest versions of nextcloud client and megasync client. Both worked well during fresh installs and up-/downgrades of libraries.
On the other hand, arduino-cli worked well with all three sync clients.

Contributor guide

Open the contributing guide

Research direction

Reproduce on Windows with the Sketchbook location inside a Dropbox-monitored directory, then follow the IDE library installation and upgrade path while observing the temporary arduino-\d+ folder. Compare the behavior with arduino-cli and other sync clients; done when library folders are reliably renamed to their final names without duplicate versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.