Commit graph

174 commits

Author SHA1 Message Date
Piotr Łoboda
52fa2fcb50 feat: enableSingleSignOnSignUp support 2026-02-25 17:06:20 +01:00
Bruno Bernardino
917649b97a
Fix ring opacity in dropdowns
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Deploy / deploy (push) Waiting to run
Run Tests / test (push) Waiting to run
2026-02-25 15:14:18 +00:00
Bruno Bernardino
5d394045dd
Merge pull request #150 from loboda4450/main
feat: update README.md to include myself with helm chart
2026-02-25 14:35:29 +00:00
Piotr Łoboda
264d4da6e5 feat: update README.md to include myself 2026-02-25 01:01:14 +01:00
Bruno Bernardino
ec334fb8fa
Update managed cloud buy URL
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Deploy / deploy (push) Waiting to run
Run Tests / test (push) Waiting to run
2026-02-24 14:45:31 +00:00
Bruno Bernardino
bd141bf9dc
Update default docker image to v4.0.2
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Deploy / deploy (push) Waiting to run
Run Tests / test (push) Waiting to run
2026-02-23 17:32:41 +00:00
不做了睡大觉
1aca444b22
fix: properly strip HTML tags and resolve entities in feed article summaries (#149)
* fix: properly strip HTML tags and resolve entities in feed article summaries

Fixes #146

The parseTextFromHtml function was using document.textContent directly on
the parsed HTML document, which could leave raw HTML tags and unresolved
entities in feed article summaries.

Changes:
- Extract text from body element to avoid document wrapper artifacts
- Collapse multiple whitespace/newlines into single spaces for cleaner output
- Add early return for empty/whitespace-only input
- Use optional chaining for safer null handling

* fix: preserve single line breaks, only collapse 2+ consecutive whitespace

Address review feedback: the previous \s+ regex was too aggressive and
broke text-only summaries with legitimate line breaks.

Now:
- Collapse runs of 2+ non-newline whitespace into a single space
- Collapse 3+ consecutive newlines into double newline (paragraph break)
- Single line breaks are preserved

---------

Co-authored-by: User <user@example.com>
2026-02-23 17:29:09 +00:00
Bruno Bernardino
6d5ee7b53c
Fix logout page typo
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 #148
2026-02-21 07:18:04 +00:00
Bruno Bernardino
6ef42d902c
Merge pull request #143 from bewcloud/feature/remove-fresh
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Deploy / deploy (push) Waiting to run
Run Tests / test (push) Waiting to run
Remove fresh
2026-02-20 10:59:34 +00:00
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
Bruno Bernardino
bfd4851098
Also fix calendar event imports with multiline fields
Fixes #139
2026-01-02 10:40:40 +00:00
Bruno Bernardino
0a7e03326f
Update default docker version 2026-01-02 10:22:28 +00:00
Bruno Bernardino
3ffd3328a1
Fix vCard importing with multiline fields.
Fixes #139
2026-01-02 10:21:49 +00:00
Erin of Yukis
777a26f492
Add systemd-compatible service manager notification after bewCloud has successfully started (#137)
* Add systemd-compatible service manager notification after bewCloud has successfully started

* Use `systemd-notify` util instead of native integration while Deno APIs aren’t there yet

* Implement different approach for systemd-notification reporting

I went with a slightly different option, given I was struggling to lose a lot of flexibility in the original listening log (because it's started with some server state parameters) or allow so much unnecessary/duplicate complexity from Fresh in `fresh.config.ts` because I'll probably eventually ditch it (given #99).

Some relevant references in the original `fresh` code:

- ab14d1044c/docs/1.x/concepts/server-configuration.md (L207-L208)
- d9764e2005/src/server/config.ts (L95)
- d9764e2005/src/server/mod.ts (L115-L118)
- d9764e2005/src/server/boot.ts (L52-L57)

* Remove unnecessary comments

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2026-01-02 10:15:25 +00:00
Bruno Bernardino
69995c422e
Merge pull request #138 from ntninja/docs-readme-nixos-module
docs: Update bewcloud-nixos link and description
2025-12-29 17:18:56 +00:00
Erin of Yukis
54852181ab docs: Update bewcloud-nixos link and description
It’s now actually Docker-level easy to use (no more manual installation) and also hosted on Codeberg.
2025-12-29 17:45:37 +01:00
Bruno Bernardino
01837e4966
Update default release in docker 2025-12-29 11:12:36 +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
c9c5364ca9
Change default install version 2025-12-20 12:02:45 +00:00
Bruno Bernardino
a0935dd8b9
Fix minor errors and update default install version 2025-12-20 12:01:16 +00:00
Erin of Yukis
d547948865
Expose new tlsMode and tlsVerify options for connecting to the mail submission agent (#134)
* Expose new `tlsMode` and `tlsVerify` options for connecting to the mail submission agent

* Make `tlsVerify` default to opportunistic StartTLS on ports other than 465 to prevent breaking change

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-20 11:50:15 +00:00
Bruno Bernardino
624fdb69f4
Update latest release 2025-12-15 14:41:46 +00:00
Erin of Yukis
05cae80c12
Remove all uses of Google Services (#133)
* Use OS default Sans-Serif font instead of Google Nunito Sans Font

* Link calendar event locations to OSM instead of Google Maps

Better would be to use https://www.mediawiki.org/wiki/GeoHack – which is used
by WikiPedia to show an interactive selector for the mapping service to use –,
but it requires geo coordinates. Some systems also support generic geo:-URIs,
but they require coodinates and outside Android support is pretty spotty
(Apple wants you to use Apple Maps links instead, desktop platforms generally
require installed third-party apps …). Android does support an extension (`?q=`)
(https://developer.android.com/guide/components/intents-common#Maps) to search
by address via geo:-links though.
2025-12-15 14:29:16 +00:00
Bruno Bernardino
dcac5d8c44
Migrate from sharp to jimp
This avoids native/binary problems like #131 and #115 at the expense of a bit of performance.

Fixes #131
Fixes #115
2025-12-12 16:03:16 +00:00
Bruno Bernardino
a68bdba4b5
Misc fixes for file shares
Remove file share when deleting a file/directory (#121)

Keep a consistent logged-out-view of file shares (#123)

Simplify README, add FAQ with more info, including `.env`-based config (#90)

Closes #121
Closes #123
Closes #90
2025-12-08 09:17:42 +00:00
Erin of Yukis
cfa21e6089
Add reference to bewcloud-nixos to README.md (#126)
* Add reference to `bewcloud-nixos` to README.md

As requested in https://github.com/bewcloud/bewcloud/pull/125#issuecomment-3612270900.

* Add suggestion

* Add suggestion

---------

Co-authored-by: Bruno Bernardino <me@brunobernardino.com>
2025-12-05 17:12:41 +00:00
Bruno Bernardino
87d6904261
Linting and update compose image version 2025-12-03 14:56:40 +00:00
Bruno Bernardino
e44a7a61e6
Merge pull request #120 from ntninja/fix-root-path-absolute
fix: Don’t forcefully make absolute rootPath relative to CWD
2025-12-03 14:45:03 +00:00
Erin of Yukis
829189d0b3 fix: Don’t forcefully make absolute rootPath relative to CWD 2025-12-03 06:47:53 +01:00
Bruno Bernardino
31855f4802
Merge pull request #118 from bewcloud/feature/improve-app-selection
Improve App Selection
2025-12-01 12:30:20 +00:00
Bruno Bernardino
d86e65475c
Improve App Selection
This allows not enabling Dashboard and Files. It also sorts the apps in the menu according to the order in the `config.core.enabledApps` array.

Since this will require a major version upgrade (`v3.0.0`), I also took the opportunity to upgrade PostgreSQL. You can [follow this guide on how to upgrade PostgreSQL on Docker containers](https://news.onbrn.com/step-by-step-guide-upgrading-postgresql-docker-containers/).

Finally, this has some minor security improvements (confirming API endpoints won't work if their app is disabled in the config).

Closes #114
Closes #108
2025-12-01 12:25:21 +00:00
Bruno Bernardino
3fdda5b34e
Update Deno version 2025-11-08 10:59:55 +00:00
Bruno Bernardino
6f7c534e59
Update deno.lock file 2025-11-08 10:52:02 +00:00
Bruno Bernardino
8e1b9d1d70
Merge pull request #113 from themadbit/generate-lockfile
generate lock file
2025-11-04 14:32:44 +00:00
themadbit
86721d8877 generate lock file 2025-11-04 12:03:50 +03:00
Bruno Bernardino
b2dda31c51
Revert xml lib, to avoid unexpected issues 2025-10-17 20:52:07 +01:00
Bruno Bernardino
6280228759
Fix XML parsing for WebDav
This was a regression caused by the `@libs/xml` upgrade in v2.6.0
2025-10-17 20:41:01 +01: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
c81ef77370
Fix linting 2025-10-01 14:20:51 +01:00
Bruno Bernardino
1dcbf529a3
Make initial News loading faster 2025-10-01 14:17:39 +01:00
Tilman
adde693585
Merge pull request #103 from medallyon/bugfix/101-ignore-case-for-sorting
Make file and directory sorting case-insensitive
2025-10-01 14:16:58 +01:00
Bruno Bernardino
577fe087f2
Merge pull request #100 from bewcloud/feature/upgrade-dependencies
Update all dependencies
2025-09-27 19:57:52 +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
ba2103afa9
Fix non-absolute URLs in feed articles 2025-09-06 20:40:11 +01:00
Bruno Bernardino
7f81d2a0b5
Fix calendar color when creating a calendar 2025-09-06 19:46:47 +01:00
Bruno Bernardino
49dbc724c8
Fix creating and deleting calendars
This fixes the creation and deletion of calendars to include a color and the proper chosen name.
2025-09-06 19:17:48 +01:00