Commit Graph

36 Commits

Author SHA1 Message Date
Bruno Bernardino
7fac7febcf Public File Sharing (#72)
* Public File Sharing

This implements public file sharing (read-only) with and without passwords (#57).

It also fixes a problem with filenames including special characters like `#` not working properly (#71).

You can share a directory or a single file, by using the new share icon on the right of the directories/files, and click on it to manage an existing file share (setting a new password, or deleting the file share).

There is some other minor cleanup and other copy updates in the README.

Closes #57
Fixes #71

* Hide UI elements when sharing isn't allowed
2025-06-20 12:04:16 +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
0xGingi
455a7201e9 Add Optional 2FA Support (#61)
* Add TOTP MFA Support

* Add Passkey MFA Support

It's not impossible I missed some minor cleanup, but most things make sense and there isn't a lot of obvious duplication anymore.

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-05-29 17:30:28 +01:00
Bruno Bernardino
2a77915630 Fix file upload via Web in Chrome and Firefox
Mentioned in #13 but unrelated to it.
2025-05-26 13:31:35 +01:00
Bruno Bernardino
e337859a22 Implement a more robust Config (#60)
* Implement a more robust Config

This moves the configuration variables from the `.env` file to a new `bewcloud.config.ts` file. Note that DB connection and secrets are still in the `.env` file.

This will allow for more reliable and easier personalized configurations, and was a requirement to start working on adding SSO (#13).

For now, `.env`-based config will still be allowed and respected (overriden by `bewcloud.config.ts`), but in the future I'll probably remove it (some major upgrade).

* Update deploy script to also copy the new config file
2025-05-25 15:48:53 +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
1e1d3657a2 Improve UX of expenses
Enter on expense description will submit, and auto-complete suggestions will start from closer to longer matches.
2025-03-26 15:55:04 +00:00
Bruno Bernardino
0b5dd1ada7 Fix budget selection for expenses
Also open the new expense modal by default on load for mobile viewport sizes.
2025-03-10 15:13:16 +00:00
Bruno Bernardino
df332802c0 UX improvements for mobile expense input 2025-03-03 09:39:46 +00:00
Bruno Bernardino
05c20ec0a2 Optionally skip domain in cookie (#43)
If you're using a reverse proxy like Cloudflare Tunnels, you can now set `CONFIG_SKIP_COOKIE_DOMAIN_SECURITY="true"` to avoid login issues.

Also makes some UX tweaks to Expenses, and fixes a style issue for Chrome in Windows (#44).

Fixes #43
Fixes #44
2025-03-02 07:24:28 +00:00
Bruno Bernardino
4faa7bd05d Security fix for path-traversal attack (#48)
Additionally:

- Make expense and budget modal "reset" once closed, saved, or deleted.
- Make manifest icons dark
- Budgets in small screens should be full-screen
- Minor code cleanup

Fixes #48
2025-02-27 15:02:10 +00:00
Bruno Bernardino
874ab006f9 Add Expenses app
A UI based on [Budget Zen](https://github.com/BrunoBernardino/budgetzen-web) but slightly updated and adjusted for bewCloud. It also features a chart with available money and spent by budgets.

This is useful for envelope-based budgeting.
2025-02-26 17:43:53 +00: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
d0c23a9746 Implement photo thumbnails
This implements generating image thumbnails on the fly via ImageMagick WASM, and tells the browser to cache them for a week, making the loading of photo directories much faster when it has many large images.

Closes #12
2024-07-05 07:05:11 +01:00
Bruno Bernardino
6ee0a56f0c Respect CONFIG_ENABLED_APPS in .env 2024-05-01 09:21:30 +01:00
Bruno Bernardino
635ca90de0 Add Photos UI 2024-04-27 08:12:44 +01:00
Bruno Bernardino
3f5422f8eb Add basic Notes UI 2024-04-26 14:31:25 +01:00
Bruno Bernardino
265c52a7e5 Add WebDav server, fully functional!
Some more code cleanup.
2024-04-06 19:43:34 +01:00
Bruno Bernardino
541df3fb77 Support multiple file upload, rename Dav password 2024-04-06 08:21:21 +01:00
Bruno Bernardino
aee720fbc4 Files UI complete with search, sharing via symlink. 2024-04-04 17:55:47 +01:00
Bruno Bernardino
a8a0e20428 Advanced file sharing
This is a WIP for advanced file sharing, but I won't pursue this for now since using symlinks in the file system works for me, and this is adding a ton of complexity I don't want or need right now.
2024-04-04 12:52:44 +01:00
Bruno Bernardino
4e5fdd569a Files CRUD.
Remove Contacts and Calendar + CardDav and CalDav.
2024-04-03 14:02:04 +01:00
Bruno Bernardino
321341a2fb Support automatically creating recurring events
Also implement locks for tasks that can have unintended side-effects if ran simultaneously.

Other minor UI tweaks.
2024-03-31 13:19:13 +01:00
Bruno Bernardino
87b94e9eec View, Import, and Export recurrence! 2024-03-30 18:08:19 +00:00
Bruno Bernardino
1a6cb96965 View, Import, and Export reminders! 2024-03-30 12:54:49 +00:00
Bruno Bernardino
0ffe4e03f1 View, Import, and Export attendees! 2024-03-30 08:18:53 +00:00
Bruno Bernardino
a1d2088c5c Tweak calendar colors and support transparency in import 2024-03-29 20:55:54 +00:00
Bruno Bernardino
6b3dc4f256 Show transparency in calendar view
Also separate utils.ts file which was getting too big, and add a POST test
2024-03-29 20:37:47 +00:00
Bruno Bernardino
0b4b741d79 Import Calendar Events 2024-03-29 15:51:45 +00:00
Bruno Bernardino
a788456751 Support exporting calendar events
Also update Deno and libraries
2024-03-25 15:50:15 +00:00
Bruno Bernardino
5b3217cdfc Allow searching events
Also upgrade Fresh
2024-03-23 16:11:36 +00:00
Bruno Bernardino
9cd5d9f43d Allow updating events 2024-03-21 16:24:59 +00:00
Bruno Bernardino
f779dde0fc Calendar code re-organization, event CRUD (except for Update). 2024-03-20 20:21:20 +00:00
Bruno Bernardino
eff6a08771 Calendar SQL and CRUD 2024-03-19 16:05:47 +00:00
Bruno Bernardino
a5cafdddca Make it public! 2024-03-16 08:40:24 +00:00