Move projects and capture to use File System Access API. Fixes #468.
This will remove the need for projects and capture to use the Node file API via IPC. It should make things simpler and more secure.
There are a few quirks:
Electron does not properly support write permissions for the File System Access by default (although it's been worked on https://github.com/electron/electron/issues/28422) so enable-experimental-web-platform-features has been enabled
The full path of files is not exposed via File System Access API (although it might be in Electron's final implementation?)
To save the last used directory location, a FileSystemDirectoryHandle has to be stored. These can't be serialised to text so IndexedDb via Dexie has been used.
P.s video export is broken slightly more by this PR, but it was already broken in master anyway...
Move projects and capture to use File System Access API. Fixes #468.
This will remove the need for projects and capture to use the Node file API via IPC. It should make things simpler and more secure.
There are a few quirks:
enable-experimental-web-platform-features
has been enabledFileSystemDirectoryHandle
has to be stored. These can't be serialised to text so IndexedDb via Dexie has been used.P.s video export is broken slightly more by this PR, but it was already broken in
master
anyway...