-
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
Support FileProvider API (VFS) in macOS #1337
Comments
Now that Catalina is out may be a good opportunity to look into FileProvider. This would allow to modernise the macOS desktop client and bring equivalent functionality to the virtual drive for Windows client. |
Catalina is out but I can't find a way to create FileProviderExtension on macOS. Does anyone notice that FileProvider is actually removed from Catalina features page? |
It's strange that it's not listed as a feature in the release, but the Developer documentation does say it's available in macOS 10.15+. I'm afraid I don't know anything about macOS development, but there are some First Steps topics there. @theJian, do those provide any useful guidance for getting started? It's also just occured to me that this is already implemented in the iOS app, and hopefully that component should also work on macOS. Would that give an easier route to using this API? One consideration is that presumably the current logic will have to be kept for the moment, in order to support older versions of macOS – I imagine it wouldn't be desirable to require Catalina for a while yet. It'd be great to be support this API as an option though! |
@mikelynch I didn't find those useful. Luckily once you created a FileProviderExtension, Xcode will generate template code for you. It's a working simple demo and full of comments. Getting started by reading those code is much easy in my opinion. |
Documentation is a little inconsistent. On the File Provider Framework page it states availability to be macOS 10.15+ but on the individual protocol pages (e.g. NSFileProviderReplicatedExtension) it's macOS 11.0+. I guess this feature didn't make it into Catalina but since Big Sur is around the corner maybe it's time to revisit this issue? |
FYI, File Provider - macOS Support seems available by now. |
Is this something being worked on? With Big Sur changes, it seems safe to assume that in the next macOS version using the FileProvider API will become mandatory and the Finder extension approach will be deprecated. Thanks. |
Don't know. It seems that |
@leiless we actually just shipped Nextcloud support in our FileProvider product (Strongsync). Definitely is ready. Happy to answer questions. |
Does there any sample code on How you guys support |
I believe the very latest XCode betas generate a template project |
Target: common Apache2 WebDAV Tasks:
|
Xcode 12.5, which was released today, contains a File Provider Extension target template to help getting started with macOS File Provider extensions. |
FYI: https://developer.apple.com/documentation/xcode-release-notes/xcode-12_5-release-notes |
Glad to see the activity here. Looks like the API is maturing in macOS Monterey. FYI: Box has adopted it now: https://blog.box.com/get-more-secure-seamless-box-drive-experience-across-macs |
See https://github.com/nextcloud/desktop/blob/master/doc/architecture.rst#virtual-files for how to enable experimental support on v3.4.0. |
Hi, is this coded with a FileProviderAPI? Could you point to a commit/PR implementing this? |
Note that OneDrive [1] and Dropbox [2] are stating there are changes coming in macOS 12.3 (March?) that is making them fully migrate over to the FileProvider API, with macOS 12.2 being the last version they support with their current virtual files / online files implementation. I can't find anything from Apple indicating what these changes are, but I suspect we'll find out soon... [1] https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/inside-the-new-files-on-demand-experience-on-macos/bc-p/3066588 |
They both have exceptions to the no kernel extension policy allowing them to use their previous solutions. I imagine this exception is finally going away in a late-cycle point release rather than in macOS 13. This increases their pressure to actually migrate over to FPE. |
Just for the records: https://developer.apple.com/documentation/fileprovider/macos_support/syncing_files_on_macos contains an example XCode project that uses NSFileProviderReplicatedExtension. Would be great to have the system take care of most of the synchronization work for you, and you only have to focus on the client calls and the extra features. |
Hi @claucambra, I'm unable to access the provided link. Can you provide another link for me to test this beta client? |
@claucambra Any news or timeline? |
I'm using the beta 2 client for a while now, under Mac OS Ventura. |
Can I test it with the daily build since it is still in the master branch? |
We had a major regression with the Finder integration caused by the File Provider module so we had to disable building of the File Provider module by default. So the dailies do not have the module enabled. If you are brave enough to try building the client yourself, however, you can toggle the compilation flag and build the client with the module enabled |
Hi, is the M1 support with virtual drive back in the daily? |
I'm just guessing but I'd expect to see this being closed first: #5693 My 2 cents |
Reopening because fileprovider support was reverted for the time being iirc |
Is there a target release? |
Reclosing, we are shipping working code in master at the moment ( we just are not enabling by default in normal releases as we are in the process of creating a specific version of the client with the file provider engine ) We also have the VFS betas for use at the moment
At the moment no, we are being cautious about deadlines considering we have had unexpected hiccups when it comes it existing integrations, for instance. At the moment we are working on getting the FIle Provider engine better integrated into our GUI and on improving initial sync times; once this is done, we will probably be ready to release something we are happy to call stable :) |
@claucambra How do we test the beta? Is there any link that I can download the beta? |
I see the beta package here (not sure if it's the latest version of it): |
@marcotrevisan I'm afraid that is not the latest one. The timestamp of the installer is 2023-03-21. |
Hi all, we've built a new version of the File Provider based VFS beta based on the current stable branch of the desktop client. You may download the macOS VFS Beta 3 from the link below: Key changes in this beta include some small stability improvements, as well as all changes in the latest 3.10 desktop client :) |
Do you think the problematic issue you mentioned earlier is fixed? |
Hi @claucambra, thanks very much for the new beta! Thanks! |
Thank you so much for the new beta @claucambra. I've installed it, and I assume to enable the file provider, we need to add macFileProviderModuleEnabled = true to the client's nextcloud.cfg. I can say that this beta seems promising and quite nice to be used. Now it really feels like a proper implementation of virtual file system. Below are my feedback:
I also has a question regarding Nextcloud folder. Is it normal that we have two Nextcloud folders? One under "/Users/"username"/Nextcloud" and another one under "/Users/"username"/Library/CloudStorage/Nextcloud-"nextcloud_username"@domain/"? |
@Saifudaullah I didn't have to set macFileProviderModuleEnabled = true in my config. This build is still including both sync engines, so I'd suggest you to uncheck the root folder to practically disable the legacy engine. The legacy engine is responsible for "/Users/"username"/Nextcloud" (it will still be there but it won't sync). As you noticed the initial sync is slow and until it's finished you will experience delays in the UI. Regards, |
Points 1 and 2 are related. At the moment we require a full scan of the server folder hierarchy during initial sync. We are considering how to address this
Yeah, aware of this bug -- thanks for raising
Can reproduce, still not 100% sure why this is the case. Will investigate |
As an aside, I've opened a Discussions thread to continue any discussion on the VFS beta as discussing on a closed thread is not ideal :) |
I can confirm it has been fixed, but there is unfortunately no way we are going to be able to ship both the Finder Sync extension and the File Provider module alongside each other. 3.11 is going to be released imminently and I can confirm we will not be including the File Provider module with this release either. When this module is considered stable we will be shipping a new client edition alongside the normal client which foregoes the Finder integration for the conventional sync engine in favour of the File Provider module. It is likely we will also strip out the traditional sync engine from the VFS-focused edition of the desktop client. None of this is final and is subject to change, though! Thoughts welcome. |
forgot to mention: that glich is happening to me since the first beta. By the way, I noticed in my system (M1-Sonoma) the command “fileproviderctl ls domainname” seems not be implemented anymore, but the man page is unchanged… ??
|
When I download a file pressing "Download Now", the file does indeed download. However, the "Remove download" button is missing when I want to set it to cloud-only. |
https://www.apple.com/macos/catalina-preview/features/
The text was updated successfully, but these errors were encountered: