-
Notifications
You must be signed in to change notification settings - Fork 807
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
Implement File Provider file synchronisation engine for macOS #5527
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy
found issue(s) with the introduced code (1/2)
shell_integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/LineProcessor.h
Show resolved
Hide resolved
shell_integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/LineProcessor.h
Show resolved
Hide resolved
shell_integration/MacOSX/NextcloudIntegration/FinderSyncExt/FinderSyncSocketLineProcessor.h
Show resolved
Hide resolved
shell_integration/MacOSX/NextcloudIntegration/FinderSyncExt/FinderSync.h
Show resolved
Hide resolved
shell_integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/LocalSocketClient.m
Show resolved
Hide resolved
..._integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/NCDesktopClientSocketKit.h
Show resolved
Hide resolved
shell_integration/MacOSX/NextcloudIntegration/NCDesktopClientSocketKit/LocalSocketClient.h
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy
found issue(s) with the introduced code (2/2)
shell_integration/MacOSX/NextcloudIntegration/FinderSyncExt/FinderSyncSocketLineProcessor.m
Show resolved
Hide resolved
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #5527 +/- ##
==========================================
- Coverage 59.35% 59.20% -0.16%
==========================================
Files 143 143
Lines 18461 18469 +8
==========================================
- Hits 10958 10934 -24
- Misses 7503 7535 +32
|
return domainIdentifierForAccount(account.get()); | ||
} | ||
|
||
QString domainDisplayNameForAccount(const OCC::Account * const account) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not OCC::AccountPtr
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do have one with OCC::AccountPtr
but for convenience, we can just overload rather than having to do the conversion each time depending on what we receive
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so the question becomes why do you handle raw Account pointers instead of using OCC::AccountPtr
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because this is what we receive from the Account/PushNotification signals:
Pushnotifications:
void filesChanged(OCC::Account *account);
Account:
void pushNotificationsReady(OCC::Account *account);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the I would say push an extra commit that is changing
emit pushNotificationsReady(this);
to
emit pushNotificationsReady(sharedFromThis());
the current API is confusing because we mix AccountPtr
and Account*
someone is going to be confused when reading this code (and yes I was)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say this is out of scope as it affects some other parts of the client -- I'll open a new PR with these changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened #5543 for this
Note to self: adjust to changes once merged
857df97
to
80831a4
Compare
063754f
to
b4d8290
Compare
3ac84ea
to
bd1ae98
Compare
return domainIdentifierForAccount(account.get()); | ||
} | ||
|
||
QString domainDisplayNameForAccount(const OCC::Account * const account) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the I would say push an extra commit that is changing
emit pushNotificationsReady(this);
to
emit pushNotificationsReady(sharedFromThis());
the current API is confusing because we mix AccountPtr
and Account*
someone is going to be confused when reading this code (and yes I was)
SonarCloud Quality Gate failed. |
Thank you for this feature, been waiting for it eagerly! 🎉 🕺 💃 Where do we find the relevant macOS builds and what requirements does it put on the server version, please? Or is switching to the beta channel on the Desktop app enough? |
Glad to hear it! :)
Check the linked issue thread, there is a link to download a beta build in the announcement post
No, this module will not be provided in the beta builds under major version 3.8, but it will now be part of the daily builds Still, we recommend the use of the beta build linked above for now. I'm working on releasing a second beta with additional improvements and bugfixes soon :) |
…-try-2" This reverts commit c4d1211, reversing changes made to 9b77da6. Signed-off-by: Claudio Cambra <[email protected]>
…-try-2" This reverts commit c4d1211, reversing changes made to 9b77da6. Signed-off-by: Claudio Cambra <[email protected]>
…-try-2" This reverts commit c4d1211, reversing changes made to 9b77da6. Signed-off-by: Claudio Cambra <[email protected]>
please tell me there is a way to turn this off! we just switched away from Dropbox because the integration with the native macOS cloud API makes it completely unusable. |
Here : https://github.com/nextcloud/desktop/releases it say it have been implemented in version 3.9 ... But I see nothing to activate Sync with File Provider ... Did I missed a step to activate it ??? And yes I added macFileProviderModuleEnabled=True to nextcloud.cfg .... |
@claucambra could we ask why the feature was removed from
|
does that mean i can |
@claucambra If it has been disabled or even removed from 3.9, is there a target release? |
We have unfortunately had to remove the File Provider module from 3.9 due to a major regression which broke the Finder Sync extension. We will instead be releasing a further macOS VFS beta with additional improvements and bugfixes as we continue to work on this. Our target stable release for a stable File Provider module will be 3.10; in the mean time, expect more VFS betas :) |
Thanks for the update |
…er-try-2" This reverts commit 21c5dec.
Hi, ist there any update on a future release or beta? This feature is so nice on a windows PC and I really miss it on MacOS. |
Hi evevryone! are there news?? |
Any updates? |
Don't get me wrong, I don't want to be negative. But if it will be ready anytime soon, don't expect much. Tens and tens of thousands of files (i.e. for real-time sync any Node projects and Git repositories) can't handle any existing software on the market with FileProvide API support: Synology Drive, Resilio Connect, StrongSync, SeaDrive, OneDrive for Business. I tried a lot of software and I can indirectly guess two problems: a) issues with FileProvider API itself — simply works not very good, b) issues with dev. teams — they simply can't program big workloads well, lack of expertise. So, I doubt Nextcloud can change current landscape, but wish them all luck. |
thats why the only thing i am interested here is whether there will be a way to turn if off when this lands. |
@claucambra |
There will be a separate release explicitly with File Provider sync. We have no plans to replace the conventional sync client |
Hi. Are you targeting this for 3.11 now? |
Any updates on this? |
Any updates or release? Possibly a beta? |
This has already shipped, see #6656 :) |
This PR properly implements virtual files on macOS by implementing a sync engine using Apple's FileProvider framework.
Closes #1337