-
Notifications
You must be signed in to change notification settings - Fork 919
Open
Labels
2. developingfeature: π file providermacOS File Provider Extension, more general also known as virtual file system.macOS File Provider Extension, more general also known as virtual file system.os: π macOSApple macOS, formerly also known as OS XApple macOS, formerly also known as OS X
Milestone
Description
This is a developer experience issue for now.
Problems
- The Qt-based main app needs too much time too build and increases the development feedback loop drastically. A native macOS host application for our file provider extensions usually (clean) builds in less than 20 seconds.
- It's handling in the daily workflow is cumbersome, setting up accounts and wiping environments and creating builds happens dozens of times a day.
- The overall project is daunting and complex while the file provider extension mostly is like a self-contained client making up only a minor part of the greater whole. Most of the work concerning it does not involve changes in the larger extend of the project.
Goals
- Significantly accelerate the development feedback loop to improve developer experience and productivity in regard to the file provider extension. The whole Qt stack and build system can be circumvented when quickly wanting to try out changes.
- Lower the entry barrier for contributors to the file provider extension. People can contribute to the Nextcloud VFS client by only knowing Xcode, Swift and a tiny amount of Objective-C. Much less requirements of knowledge.
- Design it as a minimalistic developer tool and pure addition to the project, not a replacement to the actual main app which still can be worked with and tested as before.
- The app takes launch arguments which can be used to automatically set up accounts and (temporary) domains which would drastically simplify and enable Xcode UI tests for end to end testing. Though, there still might be missing a simple counterpart to verify server state in those cases.
Suggestions
- Add a new native macOS app target to the existing NextcloudIntegration Xcode project which already is used and required for the macOS system extensions.
- That app does nothing more than manage file provider extensions to enable their testing and development.
- It is comparable to the official code example by Apple.
I wrote this issue initially when I waited 53 minutes for a desktop client build on my development machine. π
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
2. developingfeature: π file providermacOS File Provider Extension, more general also known as virtual file system.macOS File Provider Extension, more general also known as virtual file system.os: π macOSApple macOS, formerly also known as OS XApple macOS, formerly also known as OS X
Type
Projects
Status
π To do