145.robust linking by crwood · Pull Request #160 · gridsync/gridsync

added 30 commits

February 20, 2019 14:15
Otherwise the early return results STOPPING being set needlessly
Make all three linking/unlinking operations await on the rootcap
DeferedLock as soon as possible, that way -- in conjunction with the
previous commit -- a Tahoe.stop() will not complete until all
linking/unlinking operations have completed.
To allow the magic-folder create/join operation to be resumed or
replayed in the event that something goes wrong (e.g., a network
disconnect event, application close) before the linking operation
successfully completes.
Otherwise, debug logs can become too noisy.
This is 5-10 times faster than shelling out the python interpreter/CLI.

@crwood

Qt's mime data handler appends a trailing slash to paths on macOs,
for whatever reason, which causes os.path.basename() to return an
empty string. Wrapping paths in os.path.realpath() removes the
trailing slash (in addition to its primary purpose of resolving
symlinks).

@crwood

@crwood

@crwood

@crwood

@crwood

@crwood

@crwood

@crwood

@crwood

@crwood crwood deleted the 145.robust-linking branch

March 6, 2019 17:16