-
Notifications
You must be signed in to change notification settings - Fork 25
Add support for new/standalone "Magic-Folder" application #389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
...and allow more graceful failures. Gridsync's inclusion of Watchdog was something of a temporary hack, added until Magic-Folder gets its own, proper filesystem monitor; failures from adding/removing watchers should thus strive to not interfere with the rest of the application.
...until new Magic-Folder re-implements them. See/follow tahoe-lafs/magic-folder#560
To prevent spurious "Unhandled error in Deffered" messages in tests (caused by checking file status for recently-left magic-folders)
Because GitHub Actions has updated to python 3.10, breaking this env
This was referenced Nov 21, 2021
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds preliminary support for the new/standalone "Magic-Folder", presently under development by Least Authority.
Previously, Tahoe-LAFS version 1.14 provided it's own built-in "magic-folder" feature that Gridsync relied heavily upon for Tahoe-LAFS-based file synchronization. This feature, however, was removed in Tahoe-LAFS 1.15 for various reasons (among them, to facilitate Tahoe-LAFS' port to python3 and to support independent development paths and release cadences between the two projects). Gridsync, for better or worse, continued to support "old-magic-folder" and shipped Tahoe-LAFS version 1.14 for over one year after its removal from Tahoe-LAFS, painstakingly backporting patches from upstream Tahoe-LAFS and implementing various workarounds throughout the Gridsync codebase to compensate for various known magic-folder bugs -- bugs which, given magic-folder's removal, would never be fixed in "upstream" Tahoe-LAFS.
Since then, the standalone/new Magic-Folder application has made good initial progress towards fulfilling the original goals of the old "magic-folder" feature in Tahoe-LAFS. Although new-magic-folder not yet reached feature-parity with old-magic-folder (insofar as it chiefly lacks, e.g., folder-invites, filesystem event monitoring, and progress indicators for upload/download operations), such features are either in-the-works or planned for the near future. Most importantly, perhaps, is that new-magic-folder has a future, while old-magic-folder certainly does not. Accordingly, as indicated by the v0.5.0 release notes, Gridsync will aim to support only the new standalone "Magic-Folder" application moving forward, dropping support for the old magic-folder (and Tahoe-LAFS 1.14) in the coming weeks/months.
This PR should be considered the first -- but certainly not the final -- step towards that goal. With this PR merged, Gridsync will ship the standalone Magic-Folder application (alongside Tahoe-LAFS) and will create new-magic-folders by default (leaving previous configuration relating to old-magic-folder intact until tooling becomes available to "convert" an old-magic-folder into a "new" one). This first step -- and the commitment to support only new Magic-Folder moving forward -- should greatly facilitate the exposure and testing of new Magic-Folder as well as Gridsync's own integration with it, thereby providing opportunities for both projects to catch and fix bugs earlier rather than later and as development continues.
Onward. Finally.