Commit Graph

9124 Commits

Author SHA1 Message Date
Johannes Zellner 713f1239c6 Allow admins to set users avatars 2025-06-30 22:44:59 +02:00
Johannes Zellner c0065765d4 Fix update UI to show progress and allow to cancel update task 2025-06-30 19:31:03 +02:00
Girish Ramakrishnan 37621f8548 typo 2025-06-30 17:39:18 +02:00
Girish Ramakrishnan 0427d08ede mail: dnsbl can give empty records 2025-06-28 16:52:37 +02:00
Girish Ramakrishnan a7aec70bc1 mail: add rbl6
abuse.ch is using spamhaus
sorbs is dead
2025-06-28 14:17:51 +02:00
Girish Ramakrishnan ad6918d71e network: fix ipv4/6 detection
bad typo. the request has to be tracked per type
2025-06-28 14:11:53 +02:00
Girish Ramakrishnan c7d36ac06e mail: fix status variable checks 2025-06-28 12:57:05 +02:00
Girish Ramakrishnan 9428cf0d06 mail: make status a tristate
status can be 'passed', 'failed' or 'skipped'. The motivation for this
change is that when using a relay, we can provide a message indicating
why the check was skipped.
2025-06-28 12:20:25 +02:00
Girish Ramakrishnan 4e54e4c22a Fix relay UI password display 2025-06-27 13:06:55 +02:00
Girish Ramakrishnan 565859b2aa relay: force STARTTLS when testing outbound relay
haraka only supports STARTTLS
2025-06-27 10:23:05 +02:00
Girish Ramakrishnan 6f4a3701e7 apps: clear updateInfo on successful submit 2025-06-26 17:08:14 +02:00
Girish Ramakrishnan 2486aee24d AppsView: updateInfo is now part of app object 2025-06-26 16:57:55 +02:00
Girish Ramakrishnan 19c9d7d59d updateInfo: move updateInfo into apps table
this has many advantages:
* easy to deliver the updateInfo via the apps object
* after updating, the task can clear it
* when apps are deleted, the info is automatically gone

otherwise, it's a mess of deps between apps/updater/apptask/rest routes

box update info is still in a file
2025-06-26 15:47:15 +02:00
Girish Ramakrishnan abd640d36b merge updatechecker into updater 2025-06-26 14:00:30 +02:00
Girish Ramakrishnan a085e9ed54 updatechecker: raise app update notifications in the updatechecker job
the updatechecker runs even if auto-updates is disabled. doing notifications
in updatechecker ensures notifications are raised even when auto-update is disabled.
2025-06-26 13:36:21 +02:00
Girish Ramakrishnan e0af49f638 appstore: automatic is not stableOnly 2025-06-25 18:17:29 +02:00
Johannes Zellner 9be00cd546 Also add media-src csp rule for dashboard to allow videos in filemanager 2025-06-25 14:18:04 +02:00
Girish Ramakrishnan a02e3d2ebd better log 2025-06-20 22:16:05 +02:00
Girish Ramakrishnan 84297ff473 updater: move app update logic and attach the manual update reason 2025-06-20 22:08:02 +02:00
Girish Ramakrishnan 1ffad1ebaf updater: move the auto update logic into updater 2025-06-20 19:10:25 +02:00
Girish Ramakrishnan 2db99e7807 refactor: rename updater functions to have box in them 2025-06-20 19:04:55 +02:00
Girish Ramakrishnan d7fdfd6d71 attach app updateInfo to app object 2025-06-20 18:51:12 +02:00
Girish Ramakrishnan 241053e1a8 s3: error handling has changed in v3 api 2025-06-20 16:07:21 +02:00
Girish Ramakrishnan 4d94700375 remove dead comment 2025-06-19 16:12:46 +02:00
Girish Ramakrishnan 1672217dd9 replace mysql module with mysql2
mysql is deprecated since years now
2025-06-19 12:41:49 +02:00
Girish Ramakrishnan 313c90ff85 database: change charset to utf8mb4
part of #836
2025-06-19 10:39:40 +02:00
Girish Ramakrishnan 227da8dce4 test: remove double uninit of db 2025-06-19 10:24:17 +02:00
Girish Ramakrishnan 84111996b4 database: some debugs 2025-06-19 10:12:59 +02:00
Girish Ramakrishnan fb39aa32bb tasks: fix update failed notification
https://forum.cloudron.io/topic/13408/update-to-cloudron-8.3-error

We get a Task xx crashed with code null in the notification.

The crux of the issue is that we use KillMode=control-group. This ends
up sending SIGTERM signal to box code and all the sudo in parallel. The box
code then sees the sudo die and records the task as failed.

To fix, we switch to KillMode=mixed. This gives box code a chance to handle SIGTERM
first. It cleans out its task list and kills all the sudo.
2025-06-17 23:47:04 +02:00
Girish Ramakrishnan ca25c6075b tasks: fix grammar and log the completion of sudo 2025-06-17 22:33:30 +02:00
Girish Ramakrishnan a9f474b24d taskworker: better logs on signal 2025-06-17 22:30:34 +02:00
Girish Ramakrishnan 1354da01e6 platform: remove duplicate stops (already in onDeactivated) 2025-06-17 22:29:29 +02:00
Girish Ramakrishnan d9c104613c tasks: rework the startTask API
it is now async. change was required to reset the pending flag
2025-06-17 19:32:46 +02:00
Girish Ramakrishnan 4770b32287 tasks: add pending field
this indicates if a task is scheduled. previously, we relied
on task.progress being 1
2025-06-17 17:00:21 +02:00
Girish Ramakrishnan 89cfe1ef57 shell: add note 2025-06-17 15:08:32 +02:00
Girish Ramakrishnan 72d29030d9 tasks: remove redundant BindsTo= 2025-06-16 18:19:30 +02:00
Girish Ramakrishnan 5cf98922fb tasks: add note on why we use systemd-run 2025-06-16 18:14:21 +02:00
Girish Ramakrishnan 6a2f2b4efe task: do not use --pipe
--pipe make the spawned task inherit the systemd-run's stdio. if/when
system-run is killed, it might take out the spawned task as well with EPIPE.
2025-06-16 14:20:07 +02:00
Girish Ramakrishnan 69cb8c5a0a task: can use env -S in ubuntu 20 and above 2025-06-16 14:18:49 +02:00
Girish Ramakrishnan 0ebda97b03 remove various 18.04 specific code 2025-06-15 13:58:28 +02:00
Girish Ramakrishnan 39cbfb84ae refactor: move moveDataDir into services 2025-06-14 21:18:56 +02:00
Girish Ramakrishnan 73a56830b0 apps: do not start redis when app is stopped
stopped apps stop the container and the services. a good reason to
not delete them is to keep the image around and it's quick to start up again.

only update is not allowed during the app is stopped (because the start.sh
cannot be run).

all other operations like cpu/memory/device/service changes/data dir/location change
are all allowed.
2025-06-14 21:03:10 +02:00
Girish Ramakrishnan d924f73ceb services: change restart policy to unless-stopped
when we stop an app, the service containers are stopped. they
start running again on reboot.

correct restart policy is "unless-stopped" for all the containers.
2025-06-14 17:51:35 +02:00
Girish Ramakrishnan c44926c2cd redis: disable by default when optional
this simply increases complexity of local setups since redis is
only used as a cache and not for persistent data
2025-06-14 10:40:48 +02:00
Girish Ramakrishnan 11a852d49c test: enablePop3 is now required 2025-06-14 09:17:46 +02:00
Girish Ramakrishnan 2b30f5591c docker: allow requests via libpod and skopeo 2025-06-14 09:17:46 +02:00
Johannes Zellner e6d8115e52 Allow to set enablePop3 when adding a mailbox 2025-06-13 17:38:55 +02:00
Johannes Zellner e898639168 Use error message from DigitalOcean if available 2025-06-13 16:02:27 +02:00
Girish Ramakrishnan ef9a17a28a appstore: make the features file readable 2025-06-13 10:50:04 +02:00
Johannes Zellner e496f4f3e2 Bring back demo login info 2025-06-13 09:35:16 +02:00