Commit graph

31 commits

Author SHA1 Message Date
Bruno Bernardino
c26cae625e
Remove fresh
This implements a huge change, where Fresh is removed as a framework and serving files, allowing more control over importing, bundling, and serving files and components.

The biggest challenge was to continue making sure that there weren't too many places to look into for import versions, and `PasswordlessPasskeyLogin.tsx` became a prototype in migrating a component to fully SSR, no need for frontend parsing (via Babel) or bundling (via a custom-script, downloading frontend dependencies from esm.sh). Still, there are too many components to migrate like that, and it's all working, so I likely won't even attempt it unless there's some bug, new feature, or security vulnerability to address that warrants a rewrite of those.

This also updates all dependencies (except `@libs/xml` because that still causes some breaking in DAV endpoints), including Deno!

All other advantages can be seen in the related issues, and the breaking change this (v4.0.0) introduces is related simply to `config.email.tlsMode` (which had a deprecation warning throughout v3), and because, while I tested many things exhaustively, it's not impossible something broke that I didn't see.

Closes #141
Closes #132
2026-02-20 10:54:31 +00:00
Bruno Bernardino
770db3a605
Revert Deno version and unnecessary sub-dependencies. Fresh 1.7.3 won't play nice with Deno 2.6.x
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
I guess that'll keep this at Deno 2.5.x unless something terrible happens, because as per #99 we can't easily upgrade fresh.
2026-02-02 17:12:02 +00:00
Bruno Bernardino
290cf6ea4c
Update deno and dependencies 2026-02-02 16:57:17 +00:00
Bruno Bernardino
fb2a7d5cce
Implement basic directory sizes using du
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
Closes #112
2026-01-18 16:59:53 +00:00
Erin of Yukis
f64751956a
Declare deno task run-with-perms task specifying all the permissions actually needed and alias all other tasks through that (#136)
* Declare `deno task execute-with-permissions` task specifying all the permissions actually needed and alias all other tasks through that

Also add `migrate-db` task to the Deno configuration and use that in the
`Makefile`, so that the Makefile is fully optional, and swap the meanings of
the `start` and `preview` tasks, so that `start` is for production while
`preview` is for development.

* Keep task names consistent (no breaking changes)

* Reorder tasks

* Remove empty lines

* Use correct task in Dockerfile

* Bring back start (no breaking changes)

* Update readme with preview command

* Update necessary permissions for running locally and in docker

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-29 11:07:42 +00:00
Bruno Bernardino
3fdda5b34e
Update Deno version 2025-11-08 10:59:55 +00:00
Bruno Bernardino
8d78e1f25c
Upgrade dependencies, fix directory download errors
Related to #106
2025-10-08 14:38:31 +01:00
Tilman
c4a5166e3b
Support downloading directories as a zip archive (#106)
* 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
2025-10-08 14:32:45 +01:00
Bruno Bernardino
6734e9557b
Update all dependencies
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.
2025-09-27 19:39:09 +01:00
Bruno Bernardino
263cdf544a
Fix for initial/clean Radicale setup
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.
2025-08-27 14:57:19 +01:00
Bruno Bernardino
4864c283b7
Fix timezone display issues with formatted dates
Fixes #88

Also update Deno, hoping it might help with #87, but it's unlikely
2025-08-21 17:09:32 +01:00
Bruno Bernardino
820d1622f6
Update OIDC and CalDav/CardDav instructions.
Upgrade Deno, formatting tweaked the SVG files, now.
2025-07-26 09:13:59 +01:00
Bruno Bernardino
e0ad428a9f
Improve error messages
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
2025-06-23 08:57:02 +01:00
Bruno Bernardino
c7d6b8077b
Enable Email as a MFA method/option (#68)
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
2025-06-11 15:53:39 +01:00
Bruno Bernardino
6cfb62d1a2
Refactor data handlers + misc fixes
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.
2025-05-24 08:24:10 +01:00
Bruno Bernardino
b8866cdb39
Upload Directories via Web
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.
2025-05-13 16:07:27 +01:00
Bruno Bernardino
2e995cc9f7
Update Deno
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
2025-02-02 07:30:45 +00:00
Bruno Bernardino
aaeaac0285
Update Deno, update Render deploy file
Some checks failed
Build Docker Image / build-and-push (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Run Tests / test (push) Has been cancelled
Fixes #33
Fixes #30 (hopefully, can't replicate)
2024-12-26 11:54:42 +00:00
Bruno Bernardino
bbf8683004
Update Deno to 2.1 LTS! 2024-11-30 08:13:22 +00:00
Bruno Bernardino
fbcaab53d0
Add Cron to delete old, read articles. Update Deno. 2024-10-14 15:13:55 +01:00
Bruno Bernardino
8062df1bb5
Implement bulk delete in files
Closes #10

Also updates Deno and fixes a typo in variables
2024-09-02 16:09:30 +01:00
Bruno Bernardino
769ae5b9f1
Update dependencies, change thumbnail generation method 2024-08-13 16:46:12 +01:00
Bruno Bernardino
4ef575671a
Update deno 2024-07-23 20:23:09 +01:00
Bruno Bernardino
b9c5d495f1
Too soon for this version in dockerhub 2024-07-12 09:24:13 +01:00
Bruno Bernardino
7f7901da35
Upgrade deno and use of .dvmrc file 2024-07-12 08:55:55 +01:00
Bruno Bernardino
4506febf03
Update Fresh, Deno, and Dependencies 2024-06-10 17:52:22 +01:00
Bruno Bernardino
7fd29ba7bf
Update dependencies, add more logging to crons 2024-04-17 14:01:06 +01:00
Bruno Bernardino
735b14544a
Build + offer docker image and docker-compose.yml file for easier self-hosting
Tweak login and auth for IP-based setups and setups without email enabled.
2024-04-09 13:22:05 +01:00
Bruno Bernardino
bcaec4e6d1
Change docker base image to ubuntu
Mostly so that find and grep behave more commonly across systems.
2024-04-04 18:05:39 +01:00
Bruno Bernardino
a788456751
Support exporting calendar events
Also update Deno and libraries
2024-03-25 15:50:15 +00:00
Bruno Bernardino
a5cafdddca
Make it public! 2024-03-16 08:40:24 +00:00