* Add directory download as zip feature
Implements the ability for users to download directories as zip files if enabled in config. Adds a new API route for directory zipping, updates UI components to show a download button for directories, and introduces related config and type changes. Also includes a new download icon.
* Windows path bugfix
* Include empty directories in zip archive
* Address feedback
- `isDirectoryDownloadsAllowed` -> `areDirectoryDownloadsAllowed`
- send `parentPath` & `name` to API instead of resolving `fullPath` on client
- call `ensureUserPathIsValidAndSecurelyAccessible` before zipping
- set config `allowDirectoryDownloads` default to `false`
- add `zip` to Dockerfile and replace in-house zip algorithm
- replace `download.svg` with heroicon's `arrow-down-tray`
- `replace` with glob -> `replaceAll` with string
* Cleanup apt-get command
* Remove unused zip archive and directory functions
This takes part of the work being done in #96 that was reverted but still useful.
Note Tailwind and Fresh weren't upgraded because there's no security vulnerability in either, and I have found the new versions to be worse in performance. Thos will likely stay at those fixed versions going forward.
This fixes a problem with the contacts app displaying an error on a clean install, due to the fact that `tsdav`'s address book listing didn't ask for a main address first, so Radicale wouldn't create the user directory.
It also upgrades `deno`'s version.
This improves error messages throughout. It might sometimes be too verbose, but that's better than being opaque (#74).
Also upgrades Deno's patch version.
Fixes#74
This adds Email as a multi-factor authentication method/option. It reuses the `VerificationCode` for the code generation and validation.
It also refactors the email templating for easier repurposing.
Finally, it has a small Deno version bump.
Closes#25
This refactors the data handlers into a more standard/understood model-like architecture, to prepare for a new, more robust config system.
It also fixes a problem with creating new Notes and uploading new Photos via the web interface (related to #58).
Finally, it speeds up docker builds by sending in less files, which aren't necessary or will be built anyway.
This is all in preparation to allow building #13 more robustly.
This implements the option to choose directories when uploading files via the Web UI (The most important part of #52).
When you choose a directory, its file and sub-directory structure will be maintained.
Tested with the latest Safari, Firefox, and Chrome.
Additionally, the Deno version was updated, which required some accessibility improvements as well.