Johannes Zellner
a4ea80cf5e
Use the full backup paths for sshfs remote copy
...
Fixes #889
2026-04-14 13:19:45 +02:00
Johannes Zellner
feacb58cd1
Only print readable shell.spawn() error details
2026-04-14 12:43:15 +02:00
Girish Ramakrishnan
1de30c0c38
reverseproxy: X-Content-Type-Options is worth keeping
...
looks like this has no modern replacement
2026-04-10 16:34:53 +02:00
Girish Ramakrishnan
4c30054a2d
nginx: remove the various X- headers
...
these are all deprecated https://datatracker.ietf.org/doc/html/rfc6648
2026-04-10 16:08:20 +02:00
Girish Ramakrishnan
0b9e06c28d
remove obsolete X-XSS-Protection
...
https://http.dev/x-xss-protection
2026-04-10 16:06:10 +02:00
Johannes Zellner
37e4a99ba6
Update dependencies
2026-04-09 16:37:53 +02:00
Girish Ramakrishnan
7078eb7482
use constants.DOCKER_IPv4_GATEWAY
2026-04-09 15:29:48 +02:00
Girish Ramakrishnan
c2ec97d641
mail: listen on the bridge IP
...
when requiresValidCertificate is set, we ended up injecting mutliple
IP addresses for my.domain.com - 172.18.0.1 (bridge) and the mail container IP.
Since the mail server is not running on the bridge, email may or may not be
sent depending on which IP is picked up by the app.
The solution is to make the mail container listen on the bridge as well.
The other solution might have been to introduce a new subdomain for mail container
and ensuring it is different from the dashboard subdomain. That way we can route
the requests to different IPs.
2026-04-09 15:25:19 +02:00
Girish Ramakrishnan
2a2a5ffb66
filesystem: remove shell usage
...
recent version of node throws this error:
(node:210013) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
2026-04-08 17:29:56 +02:00
Girish Ramakrishnan
b84ef57d58
appstore: language counts
2026-04-08 15:00:56 +02:00
Girish Ramakrishnan
14b066d3cd
rename mountpoint to 'User-managed Mount Point'
...
this makes it clear that the user has to manage this
2026-04-08 13:30:52 +02:00
Johannes Zellner
2b5e167b07
Only update pankow
2026-04-07 18:01:15 +02:00
Johannes Zellner
c9547cbdb8
Improve app configure resource form states
2026-04-07 15:26:58 +02:00
Johannes Zellner
89a76148b4
Fix vue type casting warning
2026-04-07 14:53:44 +02:00
Girish Ramakrishnan
81fd472bb3
Fix typo crash
2026-04-07 13:21:48 +02:00
Girish Ramakrishnan
4ba9c63eb4
docker: attempt container start a few times
...
Docker Error: (HTTP code 500) server error - failed to set up container networking: driver failed programming external connectivity on endpoint a877975d-38be-4088-bc92-e0d7a486a818 (2e5adaa635a95bd65ca0f290712065d444528e3420c49f2f88323b40c62caaa5): failed to bind host port for 0.0.0.0:40014:172.18.16.130:40014/tcp: address already in use
This happens during app updates. Can only be two reasons:
- some race in docker not freeing up ports (unlikely)
- ephemeral port got reallocated between destroy and create as part of app update
A future commit will reserve net.ipv4.ip_local_reserved_ports as well
Similar fix as b08e3a5128
2026-04-07 13:04:56 +02:00
Girish Ramakrishnan
9e20c5a3e3
logs: escape and unescape new lines
2026-04-07 12:54:51 +02:00
Girish Ramakrishnan
20e0774df2
impersonate: just generate a random password
...
this way we don't let user set some insecure one. and this two step
passowrd generate is quite confusing (generate button becomes copy)
2026-04-07 12:18:16 +02:00
Girish Ramakrishnan
603244aa6a
removed double progressbars
2026-04-07 11:53:54 +02:00
Girish Ramakrishnan
1cc30934c7
apppasswords: add loading state
2026-04-07 11:50:08 +02:00
Girish Ramakrishnan
053f26cd02
apppasswords: list oidc apps in the ui
2026-04-07 11:41:23 +02:00
Girish Ramakrishnan
cc82a088a9
apppassword: 16 lowercase letters in groups of 4, to make it easier to type
2026-04-07 11:01:43 +02:00
Girish Ramakrishnan
e30e384cec
services: stop turn if unused by apps
2026-04-05 11:49:18 +02:00
Girish Ramakrishnan
33691a6507
schema: add missing fields
2026-04-05 11:12:06 +02:00
Girish Ramakrishnan
83917f98f5
backup sites: disable del in demo mode
2026-04-04 11:01:52 +02:00
Johannes Zellner
1fe5a61e52
Manually update tldjs rules when we create a release tarball
2026-04-03 15:24:33 +02:00
Johannes Zellner
dab9bcb9db
Add local authserver to provide /verify-credentials route
...
This is used for apps which are using OpenID to login but still need to
be able to verify the users password or app password
2026-04-02 22:02:45 +02:00
Johannes Zellner
b2ca6206cc
Fix dashboard lock file to work with node 24.13.0
2026-04-02 20:09:29 +02:00
Johannes Zellner
918c2f8587
Move to @cloudron/safetydance
2026-04-01 09:49:34 +02:00
Girish Ramakrishnan
8f851164d6
reboot: fix dashboard link
2026-04-01 09:25:10 +02:00
Johannes Zellner
d215d1998f
Update docs link for tls provider
2026-03-31 13:51:08 +02:00
Girish Ramakrishnan
75e3256497
mail: update haraka to 3.1.4
2026-03-31 12:22:37 +02:00
Girish Ramakrishnan
58f5a17a83
mail: remove queue proxy
...
this has never worked well
2026-03-31 11:36:16 +02:00
Girish Ramakrishnan
e7c3d797be
rsync: reupload files with corrupt integrity
...
we found sha256: null as the integrity in some of the cache files.
not sure how this happenned. for now, we just mark files with invalid
or missing sha256 for re-upload.
2026-03-31 11:31:17 +02:00
Girish Ramakrishnan
34abd5b8f5
9.1.6 changes
2026-03-30 14:40:26 +02:00
Girish Ramakrishnan
8b138d14bb
backup site: remove the local disk provider
...
we already have ext4, xfs, mountpoint and filesystem to cover all cases
fixes #879
2026-03-30 14:37:48 +02:00
Johannes Zellner
e23abd69b5
Update frontend dependencies
2026-03-30 13:54:26 +02:00
Girish Ramakrishnan
9c16ad456d
backups: set focus in the edit dialog
2026-03-30 13:52:54 +02:00
Girish Ramakrishnan
4b851afc6a
location: show what DNS is being overwritten in location UI
...
fixes #858
2026-03-30 13:43:07 +02:00
Girish Ramakrishnan
f333148afa
Update translations
2026-03-30 13:07:56 +02:00
Girish Ramakrishnan
8d0160a3e7
app configure: refresh app when a task is started
2026-03-30 10:25:26 +02:00
Girish Ramakrishnan
4a02e988c1
location: fix duplication of port bindings on submit
2026-03-30 09:47:05 +02:00
Girish Ramakrishnan
134472cd4b
cloudron-support: services could be lazy-stopped
2026-03-28 14:46:00 +01:00
Girish Ramakrishnan
b40a10da7b
restore: prune portBindings whose tcpPorts/udpPorts no longer exist
...
fixes #871
2026-03-27 18:47:52 +01:00
Girish Ramakrishnan
25f5b33d17
Remove unused secondaryDomains in update and restore code paths
...
fixes #814
2026-03-27 17:46:28 +01:00
Girish Ramakrishnan
f57c39bba2
repair: rebuild image
2026-03-27 16:17:41 +01:00
Girish Ramakrishnan
99b234eca8
source install: persist buildConfig so restore, import, clone work correctly
2026-03-27 16:10:43 +01:00
Girish Ramakrishnan
9c3c8cc9d1
rename promise-retry to retry
2026-03-27 11:39:38 +01:00
Girish Ramakrishnan
b08e3a5128
docker: attempt container recreate a few times
...
Docker Error: (HTTP code 500) server error - failed to set up container networking: driver failed programming external connectivity on endpoint a877975d-38be-4088-bc92-e0d7a486a818 (2e5adaa635a95bd65ca0f290712065d444528e3420c49f2f88323b40c62caaa5): failed to bind host port for 0.0.0.0:40014:172.18.16.130:40014/tcp: address already in use
This happens during app updates. Can only be two reasons:
- some race in docker not freeing up ports (unlikely)
- ephemeral port got reallocated between destroy and create as part of app update
A future commit will reserve net.ipv4.ip_local_reserved_ports as well
2026-03-27 10:29:26 +01:00
Girish Ramakrishnan
e48cdc85f7
notifications: subscribe owner and users to all by default
2026-03-27 09:14:18 +01:00
Johannes Zellner
a5da68a7f9
Fix overflow issue in eventlog
2026-03-26 16:15:47 +01:00
Johannes Zellner
7d594ab0d3
Also search for matches in app links labels for apps view filter
2026-03-25 22:58:55 +01:00
Johannes Zellner
9ed3d668ee
Add .cursor to gitignore
2026-03-23 17:02:31 +01:00
Johannes Zellner
0da0a5e027
Show badges in header bar for expired or cancelled subs
2026-03-23 15:29:33 +01:00
Johannes Zellner
28eb0b65f4
Update dashboard dependencies
2026-03-23 11:44:12 +01:00
Johannes Zellner
1d29572ecd
Wait for rest calls on app uninstall and archive
2026-03-23 11:43:25 +01:00
Johannes Zellner
07e8d242d1
fix vue warning, reactive() variables should not be const
2026-03-23 11:13:51 +01:00
Johannes Zellner
1586a286d8
Fix notifications scrolling
2026-03-23 10:42:30 +01:00
Girish Ramakrishnan
4859059eba
source install: support dockerfileName and build options
2026-03-21 17:29:47 +01:00
Girish Ramakrishnan
f2949c1836
notifications: send email when manual app update is required
2026-03-21 15:59:41 +01:00
Girish Ramakrishnan
cd6acfb91d
notifications: send email when manual platform update is required
2026-03-21 15:38:12 +01:00
Johannes Zellner
2d5dc9a6aa
Fix wrong disabled state for devices config of apps
2026-03-21 08:54:42 +01:00
Girish Ramakrishnan
87e7da2aff
community: auto focus to text input
2026-03-20 17:37:53 +01:00
Johannes Zellner
461eb38d88
Add comment why unused import exists
2026-03-18 14:49:18 +01:00
Johannes Zellner
ba0bb62fa3
hardcode CLI name for cid-cli in device auth flow
2026-03-18 14:37:15 +01:00
Johannes Zellner
1ca62dd38e
Restyle oidc device login views
2026-03-18 14:28:28 +01:00
Johannes Zellner
1b1328c601
Fix more ejs usage in oidc device login views
2026-03-18 11:13:21 +01:00
Johannes Zellner
9633036887
vueify OIDC device views
2026-03-18 10:58:12 +01:00
Girish Ramakrishnan
e3d76ea9f4
uninstall: must continue to teardown other addons
2026-03-18 15:26:06 +05:30
Girish Ramakrishnan
d7212e69b5
unprovision: clear the default backup site
2026-03-18 15:14:11 +05:30
Girish Ramakrishnan
ead58bd6f6
test: use profile to check for passkey
2026-03-18 15:00:45 +05:30
Girish Ramakrishnan
fbe13b75df
passkey: fix tests
2026-03-18 14:53:00 +05:30
Girish Ramakrishnan
6085a8231f
uninstall: ignore services error as services may never have started
2026-03-18 14:38:47 +05:30
Johannes Zellner
e15cd190b3
Prevent user setup form if passwords dont match
2026-03-18 09:57:56 +01:00
Girish Ramakrishnan
3d55423deb
Fix usage of safe()
2026-03-18 14:26:42 +05:30
Girish Ramakrishnan
f62df52c1d
passkey: disallow in demo mode
2026-03-18 12:28:57 +05:30
Girish Ramakrishnan
7829f94ac4
update changelog
2026-03-18 11:16:15 +05:30
Girish Ramakrishnan
e9d42b9cdd
migration: if no autoupdate setting, use defaults
2026-03-18 11:15:24 +05:30
Girish Ramakrishnan
1f05a8d92a
network: fix crash
2026-03-18 07:04:45 +05:30
Johannes Zellner
69ae2b2997
Update eslint to v10
2026-03-17 16:16:00 +01:00
Johannes Zellner
b86e47de02
Update pankow
2026-03-17 16:14:51 +01:00
Girish Ramakrishnan
ea7647f43c
oidcserver: fix jwks_rsaonly response
2026-03-17 17:49:52 +05:30
Johannes Zellner
ae7df52780
Reduce font-weight on no apps placeholder
2026-03-17 10:27:09 +01:00
Girish Ramakrishnan
bc5737b9b0
passkey: implement passwordless login
2026-03-16 20:10:59 +05:30
Girish Ramakrishnan
d0745d1914
2fa: provider passkey or totp
2026-03-16 18:49:12 +05:30
Girish Ramakrishnan
2b4c926a70
only clear passkeys on location change
...
calling this on initialize makes it lose all passkeys
2026-03-16 18:49:01 +05:30
Girish Ramakrishnan
d922c1c80f
missing translation for passkey login failure
2026-03-16 17:30:14 +05:30
Girish Ramakrishnan
67500a7689
profile: hasPasskey
2026-03-16 17:20:22 +05:30
Girish Ramakrishnan
1c8aa7440c
lint
2026-03-16 17:05:44 +05:30
Girish Ramakrishnan
d128dbec4c
fix 2fa translations
2026-03-16 17:04:30 +05:30
Girish Ramakrishnan
676cb8810b
loginview: remove reset password from tab order
2026-03-16 16:40:54 +05:30
Girish Ramakrishnan
189e3d5599
allow totp and passkey to co-exist
2026-03-16 16:38:48 +05:30
Girish Ramakrishnan
009d0b39f9
rename twoFactor* to totp
2026-03-16 16:38:42 +05:30
Girish Ramakrishnan
81a8aa7c3d
login: move forgot password on top of the password
...
making way for passkey login
2026-03-16 15:59:00 +05:30
Johannes Zellner
6c6761d14b
Update to vite 8
2026-03-16 08:37:19 +01:00
Johannes Zellner
7d2e3df929
Update frontend dependencies
2026-03-16 08:33:23 +01:00
Girish Ramakrishnan
f334c696cb
update: add policy to update apps separately from platform
2026-03-16 10:19:18 +05:30
Girish Ramakrishnan
db974d72d5
oidcserver: permit origin "*" from localhost testing
2026-03-16 07:21:55 +05:30
Girish Ramakrishnan
c15e342bb8
webadmin: remove the implicit flow
...
we now use pkce . main advantage is that we don't see the access token
in the url anymore.
in pkce, the auth code by itself is useless. need the verifier.
fixes #844
2026-03-15 17:38:27 +05:30
Girish Ramakrishnan
dc1449c7b6
oidcserver: convert to trace
2026-03-15 17:32:03 +05:30
Girish Ramakrishnan
0b305caf58
sites: add conflict detection
...
Fixes #863
2026-03-15 14:59:35 +05:30
Girish Ramakrishnan
8f1f3645b2
app update: if backup fails, provide a notification
...
fixes #851
2026-03-15 14:48:07 +05:30
Girish Ramakrishnan
0079162efe
notifications: only title is bold
2026-03-15 14:26:30 +05:30
Girish Ramakrishnan
7afec06d4c
apps: operators can now view backup logs and manage the backup task
...
we spun off the app backup as a separate task and this is not tracked
by app.taskId .
fixes #856
2026-03-15 10:18:31 +05:30
Girish Ramakrishnan
29f85a8fd2
test: fix debug
2026-03-15 09:54:55 +05:30
Girish Ramakrishnan
6e0dc24eca
rsync: escape U+2028/U+2029
...
JSON strings can contain unescaped U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR
characters while ECMAScript strings cannot. ES2019 now allows those unescaped.
The integrity code assumes that each JSON is a single line but that assumption does
not hold true when these characters are there in the string. Fix is to escape them.
2026-03-15 09:20:40 +05:30
Girish Ramakrishnan
cee1180aa7
9.1.4 changes
2026-03-14 19:10:04 +05:30
Girish Ramakrishnan
6db2b55e63
oidcserver: custom templates for device login
...
the default one uses google fonts :/
2026-03-13 13:25:57 +05:30
Girish Ramakrishnan
a3c038781f
oidc: implement Device Authorization Grant
2026-03-13 12:44:39 +05:30
Girish Ramakrishnan
59c9e5397e
ldapserver, directoryserver: all traces
2026-03-12 23:30:12 +05:30
Girish Ramakrishnan
a4c253b9a9
users: modify verify log calls to trace
...
this is only useful when we are debugging and not useful to end user
without further context
2026-03-12 23:27:13 +05:30
Girish Ramakrishnan
f12b4faf34
lint
2026-03-12 23:23:23 +05:30
Girish Ramakrishnan
ff49759f42
promise-retry: rename api to log
2026-03-12 23:11:16 +05:30
Girish Ramakrishnan
01d0c738bc
replace debug() with our custom logger
...
mostly we want trace() and log(). trace() can be enabled whenever
we want by flipping a flag and restarting box
2026-03-12 23:08:35 +05:30
Girish Ramakrishnan
d57554a48c
backup logs: make them much terse and concise
...
these are making the rsync logs massive. instead resort to reporting
progress based on file count. there is also a heartbeat timer for
"stuck" or "long downloading" files, every minute.
2026-03-12 19:40:46 +05:30
Girish Ramakrishnan
b16b57f38b
rsync: throttle log messages during download
2026-03-12 13:47:26 +05:30
Girish Ramakrishnan
12177446a2
backupcleaner: remove cleanupSnapshotSuperfluous
...
this removes the workaround for the rsync bug to make integrity
checks work. see ec15f29e40 and
2c12bee79b
2026-03-12 08:07:25 +05:30
Girish Ramakrishnan
61b15db958
Update translations
2026-03-12 07:39:45 +05:30
Girish Ramakrishnan
349e8f5139
notifications: add empty text, progress bar and inifinite scroll
2026-03-12 07:33:22 +05:30
Johannes Zellner
f30482808b
Workaround chrome quirks on file drop handling
2026-03-11 15:11:16 +01:00
Girish Ramakrishnan
79cdecdff6
graphite: fix aggregation of block/network read/write
2026-03-10 22:56:00 +05:30
Girish Ramakrishnan
336dee53cd
metrics: pick last item in series
...
picking the first item for "max" is not correct
2026-03-10 22:25:15 +05:30
Girish Ramakrishnan
77022bbd7f
restore: apply blocklist
2026-03-10 21:34:26 +05:30
Johannes Zellner
df96df776d
Wait for dashboard reload when version has changed
2026-03-10 16:28:17 +01:00
Girish Ramakrishnan
67bc803859
troubleshoot: ignore package.json
2026-03-10 20:24:32 +05:30
Girish Ramakrishnan
8ef56c6d91
reverseproxy: fix restore of trusted ips
2026-03-10 17:28:06 +05:30
Girish Ramakrishnan
d377d1e1cf
remove deprecated url
2026-03-10 15:15:17 +05:30
Girish Ramakrishnan
4209e4d90d
Some progressbars for various views
2026-03-08 19:14:30 +05:30
Girish Ramakrishnan
83c85d02ee
services: load all the view services together
...
box/cloudron service was appearing first and the rest were appearing
a while later
2026-03-08 18:56:57 +05:30
Girish Ramakrishnan
866b72d029
services: distinguish error state and idle state for stopped containers
2026-03-08 18:36:24 +05:30
Girish Ramakrishnan
4bc0f44789
services: lazy start services / on demand services
...
services are now stopped when no app is using them.
on start up, services are always created and run. they are later
stopped when unused. it's this way to facilitate the upgrade code
path. the database meta files have to be upgraded even if no app is using them.
the other hook to stop unused services is at the end of an app task.
maybe mail container is a candidate for the future where all sending is no-op.
But give this is rare, it's not implemented.
2026-03-08 18:35:50 +05:30
Girish Ramakrishnan
99c55cb22f
services: enforce min memory limit
2026-03-05 21:25:31 +05:30
Girish Ramakrishnan
74c73c695f
mongodb: set min memory to 2GB
2026-03-05 21:25:31 +05:30
Johannes Zellner
b972891337
If we have no released version of an app also show an error instead of the app install dialog
2026-03-05 16:27:59 +01:00
Girish Ramakrishnan
57515d54db
9.1.3 changes
2026-03-05 16:43:53 +05:30
Johannes Zellner
0ff8dcc8e9
Remove 'Dashboard' from dashboard page title
2026-03-05 12:09:23 +01:00
Girish Ramakrishnan
38efa6a2ba
integrity: show failure messages
2026-03-05 16:24:46 +05:30
Johannes Zellner
6306625184
Add vue/no-root-v-if linter rule
2026-03-05 11:53:53 +01:00
Johannes Zellner
1803ab303f
Do not use v-if in toplevel nodes of a component
2026-03-05 11:41:23 +01:00
Johannes Zellner
e72dd7c845
Fix warning about missing dom id
2026-03-05 11:40:50 +01:00
Johannes Zellner
87288caeb9
Stop using vue-i18n legacy api
2026-03-05 11:14:18 +01:00
Elias Hackradt
79b519e462
Fix: add label to user.value object
2026-03-05 10:05:02 +00:00
Girish Ramakrishnan
5f8ea2aecc
integrity: skip check of backups with no integrity info
2026-03-04 21:18:20 +05:30
Girish Ramakrishnan
94bc52a0c3
rsync: typo
2026-03-04 20:48:00 +05:30
Girish Ramakrishnan
fed51bdcd9
backupintegrity: add percent progress
2026-03-04 18:30:16 +05:30
Girish Ramakrishnan
5fc9689645
backup: fix alignment of progressbar and logs button
2026-03-04 17:24:46 +05:30
Girish Ramakrishnan
7c6a783fc8
tasks: fix progress percents
...
mostly rebalancing the percents
2026-03-04 16:37:34 +05:30
Girish Ramakrishnan
764d479d7f
9.1.2 changes
2026-03-04 15:26:45 +05:30
Girish Ramakrishnan
ec15f29e40
syncer: clean up superfluous files
2026-03-04 14:00:54 +05:30
Girish Ramakrishnan
2c12bee79b
syncer: fix bug with a file and dir having same prefix
...
if we had say "app/" and "application.json", the syncer logic
was skipping over application.json because it starts with "app".
This would lead to application.json not getting deleted in the snapshot
and result in superfluous files.
2026-03-04 13:59:35 +05:30
Johannes Zellner
1120866b75
Make renewalInfo explicitly fallback to null to be visible in stringify
2026-03-04 08:46:27 +01:00
Johannes Zellner
b362c069e5
fix crash, where result may be undefined on error
2026-03-04 08:39:31 +01:00
Johannes Zellner
4b6b18c182
Try to detect and set the content type of app icons
2026-03-03 22:06:50 +01:00
Johannes Zellner
80efc8c60c
Update dashboard dependencies
2026-03-03 21:07:33 +01:00
Girish Ramakrishnan
99168157fc
integrity: size is not a function
2026-03-03 20:24:26 +05:30
Girish Ramakrishnan
23c3263562
integrity: show log link
...
in the previous approach, we used to clear the taskId after
the integrity check completes. for one, we lose track of the
task (to show the logs). for another, we have to clear these
taskId on platform startup to handle crashes.
in the new approach, we keep the taskId and use the task's
active flag to determine if task is active.
2026-03-03 18:41:57 +05:30
Girish Ramakrishnan
1179a78fe1
integrity: center align the indicator
2026-03-03 17:23:16 +05:30
Girish Ramakrishnan
82677ddd85
backup: show integrity column for dependsOn backups
2026-03-03 17:18:28 +05:30
Girish Ramakrishnan
31f29e9086
integrity: show status in the info dialog
2026-03-03 16:57:55 +05:30
Girish Ramakrishnan
3b3e606573
integrity: better log messages
2026-03-03 16:13:44 +05:30
Girish Ramakrishnan
18b713cec3
oom: fix crash when source build ooms
2026-03-02 21:10:47 +05:30
Johannes Zellner
2a6d385cea
Support and prefer Dockerfile.cloudron in local builds
2026-03-02 12:06:27 +01:00
Johannes Zellner
4cc1926899
Also increase body upload for app update route to work well with source builds
2026-03-02 11:45:03 +01:00
Johannes Zellner
15b2c2b739
Add Czech translations
2026-03-02 11:36:48 +01:00
Johannes Zellner
197bf56271
Update translations
2026-03-02 11:36:48 +01:00
Girish Ramakrishnan
4110f4b8ce
lint
2026-03-02 10:07:31 +05:30
Girish Ramakrishnan
becbaca858
appstore: better tag/cateogry mapping
2026-03-02 09:59:43 +05:30
Girish Ramakrishnan
add50257f6
appstore: add ai category
2026-03-02 09:14:49 +05:30
Girish Ramakrishnan
f061ee5f88
Update modules
2026-03-02 08:40:19 +05:30
Girish Ramakrishnan
480b81b3dd
postgres: update pgvector to 0.8.2
2026-03-02 08:37:26 +05:30
Girish Ramakrishnan
61d4a795ae
apps: enable storage view in all error states
2026-02-28 02:20:25 +01:00
Girish Ramakrishnan
cd89883dbb
apps: move to error state if a volume is unavailable
2026-02-28 01:02:22 +01:00
Girish Ramakrishnan
d5a729a2ba
remove the placeholder
2026-02-27 17:10:11 +01:00
Johannes Zellner
b41533c278
Set appsview filters early to avoid flickering
2026-02-27 11:11:11 +01:00
Girish Ramakrishnan
04758587b4
update: throw error when update failed
2026-02-26 11:09:55 +01:00
Johannes Zellner
b6b0969879
Allow to reset app filters when clicking on the menu entry
2026-02-26 11:05:08 +01:00
Johannes Zellner
18ef97fae6
Preserver app search and filter in query args to make back and reload work
2026-02-26 10:55:17 +01:00
Girish Ramakrishnan
333f052f86
backupsites: show warning if no site is selected for automatic backups
2026-02-26 09:03:39 +01:00
Girish Ramakrishnan
7dd40eccf3
backupsites: display automatic update backups flag
2026-02-26 08:25:40 +01:00
Girish Ramakrishnan
db728840a0
backupsite: add space after last run
2026-02-26 08:00:30 +01:00
Girish Ramakrishnan
8906436824
mail: fix css styling of expected value
2026-02-26 02:03:21 +01:00
Johannes Zellner
e8dedb04a5
Clear oidc client add or edit error when dialog opens
2026-02-25 21:16:17 +01:00
Elias Hackradt
d4b581c007
Make MailDomainStatus expected value flexible and add copy button
2026-02-25 17:19:39 +00:00
Johannes Zellner
a900beb3fd
First delete mailpassword for oidc clients then the client itself
2026-02-25 18:02:31 +01:00
Johannes Zellner
19a0f77c53
Do not add empty mailclient claim unless requested
2026-02-25 16:15:35 +01:00
Johannes Zellner
6dbd97ba14
Only generate mailpassword and fetch mailboxes if the oidc client wants the mailclient scope
2026-02-25 16:07:46 +01:00
Girish Ramakrishnan
d2fbea8e39
update: typo
2026-02-25 15:53:03 +01:00
Girish Ramakrishnan
86a49c6223
Fix update check translation
2026-02-25 15:24:10 +01:00
Girish Ramakrishnan
e97f9b47d7
weblate: add find
2026-02-25 15:14:38 +01:00
Girish Ramakrishnan
ee3ed5f660
Update lock
2026-02-25 14:53:55 +01:00
Girish Ramakrishnan
3446f3d1e0
add to changes
2026-02-25 14:52:43 +01:00
Girish Ramakrishnan
69d03a7a42
Update pankow
2026-02-25 14:49:56 +01:00
Johannes Zellner
bab95cbefa
Use pagination in model code for mailbox listing
2026-02-25 11:24:40 +01:00
Johannes Zellner
5ef23fa49a
Bump mailbox list page size up to 10k for now
2026-02-25 10:14:23 +01:00
Girish Ramakrishnan
f4ff63485a
domains: validate well known
2026-02-25 05:55:14 +01:00
Girish Ramakrishnan
c20fbe8635
domains: set caldav/cardav correctly on dialog open
2026-02-25 05:46:41 +01:00
Johannes Zellner
662cf65ff2
Only update domains list if component is still mounted
2026-02-24 10:58:07 +01:00
Johannes Zellner
7ded517b20
Protect against crash in EventlogList component on quick unloads
2026-02-24 10:28:13 +01:00
Girish Ramakrishnan
4be31b0dad
update: if no backup site, show error message
2026-02-24 05:55:56 +01:00
Girish Ramakrishnan
dc439ba5be
install/update: ui must always set the appStoreId or versionsUrl
2026-02-24 05:31:13 +01:00
Girish Ramakrishnan
5ba8a05450
cifs: use rsync instead cp -aRl
...
for some reason, cp fails on synology cifs for some paths - immich's typesense dir
2026-02-23 17:47:05 +01:00
Girish Ramakrishnan
7ef19b318a
add weblate script
2026-02-23 14:45:22 +01:00
Girish Ramakrishnan
2ac76ad852
2fa dialog translations updates
2026-02-23 14:45:14 +01:00
Girish Ramakrishnan
f4598f81c9
debug: add CLOUDRON_DEBUG=1 env var
2026-02-23 10:53:06 +01:00
Girish Ramakrishnan
c432dbb5bc
Update translations
2026-02-23 10:50:29 +01:00
Girish Ramakrishnan
d0f0bb799e
2fa: refactor into separate dialog
...
also rename routes to totp
2026-02-22 10:43:15 +01:00
Girish Ramakrishnan
a98dbfdf4f
integrity: link to the logs
2026-02-22 10:24:32 +01:00
Girish Ramakrishnan
a71909acd3
Update lock file
2026-02-21 20:34:24 +01:00
Girish Ramakrishnan
ea5953a397
Fix test
2026-02-21 20:27:55 +01:00
Girish Ramakrishnan
4ad9ccabe0
apps: refactor the updateInfo properties
2026-02-21 20:01:05 +01:00
Girish Ramakrishnan
17640d44fa
Update changelog
2026-02-21 19:43:23 +01:00
Girish Ramakrishnan
812d471573
add backupCommand, restoreCommand, persistentDirs
2026-02-21 19:42:52 +01:00
Girish Ramakrishnan
fa981d5a83
release: replace url with URL
2026-02-21 16:46:29 +01:00
Girish Ramakrishnan
202f2c6cb0
updater: keep updateInfo response same as in the app object
2026-02-21 16:43:03 +01:00
Girish Ramakrishnan
55359bfa24
Update haraka to 3.1.3
2026-02-21 14:13:50 +01:00
Girish Ramakrishnan
95fcfce9cd
add "community" to packager info
2026-02-21 12:12:36 +01:00
Girish Ramakrishnan
3120a2c43f
appstore: more state information
2026-02-21 12:05:56 +01:00
Girish Ramakrishnan
7ba3a59dea
eventlog: add flag for source builds
2026-02-21 11:48:39 +01:00
Girish Ramakrishnan
eb5f8fcfa1
community: better resolution of url
2026-02-21 11:17:47 +01:00
Girish Ramakrishnan
5014227028
community: validateForm on dialog open
2026-02-21 11:11:34 +01:00
Girish Ramakrishnan
7a76de2e4c
reorder menu items to be alphabetical
2026-02-21 11:11:34 +01:00
Johannes Zellner
de5692c1af
Immediately refresh the app after checking for updates
2026-02-20 22:27:30 +01:00
Johannes Zellner
555e4f0e65
Only set postinstall pending in localstorage if a message exists in the manifest
2026-02-20 22:17:10 +01:00
Girish Ramakrishnan
723c670100
reverseproxy: fix crash
2026-02-20 19:46:43 +01:00
Johannes Zellner
2f951dc272
Support card/cal dav well-known endpoints
2026-02-20 15:46:43 +01:00
Girish Ramakrishnan
0daabdc21c
reverseproxy: for large payloads, turn off proxy buffering
2026-02-20 09:59:21 +01:00
Girish Ramakrishnan
38a187e9fc
apps: install route needs more upload limit
2026-02-20 09:54:13 +01:00
Girish Ramakrishnan
5a613231e0
apps: remove deprecated /api/v1/apps/install route
2026-02-20 09:48:07 +01:00
Girish Ramakrishnan
28a35e7260
community: handle unstable flag
2026-02-19 22:48:16 +01:00
Girish Ramakrishnan
461a5a780d
community: resolve user provided url
2026-02-19 22:25:43 +01:00
Girish Ramakrishnan
207260821b
reverseproxy: add forceRenewal check if only for completeness
2026-02-19 22:25:43 +01:00
Johannes Zellner
466527884f
Fix acl logic for token inspection endpoint
2026-02-19 19:09:02 +01:00
Johannes Zellner
9d03eb2643
Check internal ACL during token introspection
2026-02-19 18:05:49 +01:00
Johannes Zellner
c801202642
Fix variable usage after no-shadow fixes
2026-02-19 18:05:36 +01:00
Girish Ramakrishnan
95952fae75
update manifestformat
2026-02-19 14:40:29 +01:00
Girish Ramakrishnan
f62629b513
mailpassword: fix test, remove unused function
2026-02-19 14:22:36 +01:00
Girish Ramakrishnan
f04087815c
Fix failing test
2026-02-19 13:48:48 +01:00
Girish Ramakrishnan
255b1c63d0
Update modules
2026-02-19 13:36:26 +01:00
Girish Ramakrishnan
9b5b8ddc22
dockerproxy: close all connections
2026-02-19 13:33:02 +01:00
Girish Ramakrishnan
d0a66f1701
Back to mocha!
...
sorry i ever left you dear mocha
node:test has two major issues:
* --bail does not work and requires strange modules and incantations.
I was able to work around this with a custom module.
* the test reporter reports _after_ the suite is run. this makes debugging
really hard. the debugs that we print all happen before the test suite summary.
poor design overall.
2026-02-19 13:24:14 +01:00
Girish Ramakrishnan
c176ac600b
migrate tests to node:test
2026-02-19 10:13:22 +01:00
Girish Ramakrishnan
cf0ab16533
fix test
2026-02-18 20:20:26 +01:00
Girish Ramakrishnan
03d0e2157e
Update modules
2026-02-18 19:59:58 +01:00
Girish Ramakrishnan
cdd5137ebe
Update addons to latest builds
2026-02-18 17:44:18 +01:00
Johannes Zellner
0a924b2c29
Cleanup mailPasswords when oidc client is removed not only when an app is uninstalled
2026-02-18 17:15:06 +01:00
Johannes Zellner
43acecfc6e
mailPasswords table should work with oidc clients not apps
2026-02-18 15:17:08 +01:00
Johannes Zellner
5e7e739589
Enable token inspection endpoints in oidc
2026-02-18 15:00:02 +01:00
Elias Hackradt
0b968b6a98
Use branding.getCloudronName(); for totp secret name metadata
2026-02-18 13:19:27 +00:00
Johannes Zellner
f14dfb6c17
Fix typo
2026-02-18 11:27:45 +01:00
Johannes Zellner
cb5ccd8166
Also auth against mailPasswords in ldapserver.js
2026-02-18 10:12:34 +01:00
Johannes Zellner
bfbcbb686d
Send an email accessToken alongside the mailclient claims
2026-02-18 10:12:34 +01:00
Johannes Zellner
744300744c
Fix claim name to mailclient
2026-02-18 10:12:34 +01:00
Johannes Zellner
9bac099339
Add mailPassword table
...
This table stores email credentials for users using apps which use the
email addon
2026-02-18 10:12:34 +01:00
Johannes Zellner
135c9fb64d
Support mailclient oidc claim
...
Only apps with addon email have access to the claims' scopes
2026-02-18 10:12:34 +01:00
Girish Ramakrishnan
4ed6fbbd74
eslint: add no-shadow
2026-02-18 08:18:37 +01:00
Girish Ramakrishnan
4d3e9dc49b
Fix shadow of pipeline variable
2026-02-18 07:58:47 +01:00
Girish Ramakrishnan
319360f8d0
lint
2026-02-17 19:51:09 +01:00
Girish Ramakrishnan
3ef990b0bf
Fix typo
2026-02-17 18:48:07 +01:00
Girish Ramakrishnan
b8ae46b6df
add passkey tests
2026-02-17 18:05:14 +01:00
Girish Ramakrishnan
113aba0897
remove the cors test
2026-02-17 17:15:30 +01:00
Girish Ramakrishnan
a51672f3ee
security: remove cors
...
I traced this back to a commit from 2014! 781495e662
2026-02-17 17:10:18 +01:00
Girish Ramakrishnan
f08b3eb006
mail: bring eventlog up to speed
2026-02-17 16:18:37 +01:00
Girish Ramakrishnan
66f65093fc
eventlog: fix the description in app context
2026-02-17 15:41:09 +01:00
Girish Ramakrishnan
d78944e03b
eventlog: add volume remount
2026-02-17 15:32:22 +01:00
Girish Ramakrishnan
2fe31b876f
Add EVENTS to constants
2026-02-17 15:30:44 +01:00
Girish Ramakrishnan
9949ea364a
eventlog: move to table view
2026-02-17 15:12:45 +01:00
Girish Ramakrishnan
77b7f7bfad
eventlog: make a component and use it in app and system
2026-02-17 14:42:40 +01:00
Girish Ramakrishnan
8d4b458a22
eventlog: fix date range and empty string search
2026-02-17 13:49:10 +01:00
Girish Ramakrishnan
2df8e77733
eventlog: implement contextual highlight
2026-02-17 13:21:06 +01:00
Johannes Zellner
c21011a17a
support ID_CLI oidc client
2026-02-16 23:19:37 +01:00
Girish Ramakrishnan
a11a691788
eventlog: add to/from date picker
2026-02-16 22:03:18 +01:00
Girish Ramakrishnan
81659d4bf2
eventlog: add params for from and to date
2026-02-16 20:52:02 +01:00
Girish Ramakrishnan
aab20fd23e
filemanager: move the title to top left like terminal
2026-02-16 14:21:46 +01:00
Johannes Zellner
5fad4dd034
Ensure users without totp nor passkey are forced to setup one if mandatory2FA is enabled
2026-02-16 14:01:14 +01:00
Johannes Zellner
7bc19e8185
Cleanup passkeys on user deletion
2026-02-16 13:52:04 +01:00
Johannes Zellner
45d0928ff9
Ask the user for confirmation on dashboard domain change
2026-02-16 12:33:09 +01:00
Johannes Zellner
9b768273f4
provide a global InputDialog for dashboard views
2026-02-16 12:32:43 +01:00
Johannes Zellner
ef24b17a70
Drop all passkeys if the dashboard domain changes
2026-02-16 12:06:12 +01:00
Girish Ramakrishnan
dfbe5aaa16
filemanager: remove breadcrumb now that we have treeview
2026-02-16 11:29:35 +01:00
Girish Ramakrishnan
f499c9ada9
integrity: add eventlog status for historic checks
2026-02-15 23:40:23 +01:00
Girish Ramakrishnan
c1a73aa62a
integrity: just clear last info on a (re)start
...
this way if a user stops it midway, the old info is cleared
2026-02-15 23:26:06 +01:00
Girish Ramakrishnan
601e787500
rsync: fix integrity check
2026-02-15 23:17:23 +01:00
Girish Ramakrishnan
d24bfabdc1
info: only show packager for custom apps
2026-02-15 20:14:05 +01:00
Girish Ramakrishnan
2c559d63f5
Fix bugs in esm migration
2026-02-15 20:11:58 +01:00
Girish Ramakrishnan
b5a1554631
Fix various linter errors
2026-02-15 19:37:30 +01:00
Girish Ramakrishnan
510e1c7296
Fix missing import
2026-02-15 19:21:06 +01:00
Girish Ramakrishnan
c6d8af5dc3
add to changelog
2026-02-15 19:05:40 +01:00
Girish Ramakrishnan
adf884c2c4
add integrity check to system backups
2026-02-15 14:59:27 +01:00
Girish Ramakrishnan
c7b321315c
integrity: add stats
2026-02-15 14:41:10 +01:00
Girish Ramakrishnan
9f2eefcbb3
embed integrity check task in backup API responses
...
The UI is polling for the taskId, might as well attach it
2026-02-15 14:11:56 +01:00
Girish Ramakrishnan
fc2e39f41b
Rename getByIdentifierAndStatePaged to listByIdentifierAndStatePaged
2026-02-15 12:22:43 +01:00
Girish Ramakrishnan
eae86d15ef
Update modules
2026-02-14 19:49:42 +01:00
Girish Ramakrishnan
361d80da17
make tests work again
2026-02-14 19:45:10 +01:00
Girish Ramakrishnan
2597402496
make build work across server restart
...
tmp files disappear on server restart
2026-02-14 19:37:14 +01:00
Girish Ramakrishnan
c8bc6f9ffe
Update translations
2026-02-14 18:33:50 +01:00
Girish Ramakrishnan
b0ef9238ff
Show proper title/description for the new start/stop section
2026-02-14 18:31:06 +01:00
Girish Ramakrishnan
b71e503a01
more ESM cleanups
2026-02-14 16:52:16 +01:00
Girish Ramakrishnan
e9f96593c3
reorder functions for no-use-before-define
2026-02-14 16:34:34 +01:00
Girish Ramakrishnan
36aa641cb9
migrate to "export default"
...
also, set no-use-before-define in linter
2026-02-14 15:43:24 +01:00
Girish Ramakrishnan
ddb46646fa
remove esm migration files
2026-02-14 15:12:07 +01:00
Girish Ramakrishnan
96dc79cfe6
Migrate codebase from CommonJS to ES Modules
...
- Convert all require()/module.exports to import/export across 260+ files
- Add "type": "module" to package.json to enable ESM by default
- Add migrations/package.json with "type": "commonjs" to keep db-migrate compatible
- Convert eslint.config.js to ESM with sourceType: "module"
- Replace __dirname/__filename with import.meta.dirname/import.meta.filename
- Replace require.main === module with process.argv[1] === import.meta.filename
- Remove 'use strict' directives (implicit in ESM)
- Convert dynamic require() in switch statements to static import lookup maps
(dns.js, domains.js, backupformats.js, backupsites.js, network.js)
- Extract self-referencing exports.CONSTANT patterns into standalone const
declarations (apps.js, services.js, locks.js, users.js, mail.js, etc.)
- Lazify SERVICES object in services.js to avoid circular dependency TDZ issues
- Add clearMailQueue() to mailer.js for ESM-safe queue clearing in tests
- Add _setMockApp() to ldapserver.js for ESM-safe test mocking
- Add _setMockResolve() wrapper to dig.js for ESM-safe DNS mocking in tests
- Convert backupupload.js to use dynamic imports so --check exits before
loading the module graph (which requires BOX_ENV)
- Update check-install to use ESM import for infra_version.js
- Convert scripts/ (hotfix, release, remote_hotfix.js, find-unused-translations)
- All 1315 tests passing
Migration stats (AI-assisted using Cursor with Claude):
- Wall clock time: ~3-4 hours
- Assistant completions: ~80-100
- Estimated token usage: ~1-2M tokens
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 15:11:45 +01:00
Girish Ramakrishnan
e0e9f14a5e
mail: increase solr timeout
2026-02-14 01:23:23 +01:00
Johannes Zellner
b24e1142f8
Move app stop/start into uninstall again and add restart button in main toolbar
2026-02-13 18:37:49 +01:00
Johannes Zellner
0543b16de9
Update frontend dependencies
2026-02-13 17:51:36 +01:00
Johannes Zellner
8d46c09f95
Update pankow
2026-02-13 17:38:56 +01:00
Johannes Zellner
5724ca73b4
Add passkey support
2026-02-13 17:18:56 +01:00
Girish Ramakrishnan
3e09bef613
folderview: implement drop handler
2026-02-12 23:44:23 +01:00
Girish Ramakrishnan
627b1fe33f
filemanager: implement tree view on the left
2026-02-12 22:55:24 +01:00
Girish Ramakrishnan
1aa270485c
add changelog
2026-02-12 20:31:51 +01:00
Girish Ramakrishnan
ae09c19b69
filemanager: open terminal in cwd
2026-02-12 20:30:57 +01:00
Johannes Zellner
c5cf8eef1a
Update pankow to v4 to fix TableView bug
2026-02-12 20:28:12 +01:00
Girish Ramakrishnan
e76d4b3474
tests: fix app passwords test
2026-02-12 19:57:34 +01:00
Girish Ramakrishnan
88a44ee065
oidc: add alg to the jwks keys
2026-02-12 19:42:00 +01:00
Girish Ramakrishnan
51e02da277
spaces: add missing regions
2026-02-12 17:15:08 +01:00
Girish Ramakrishnan
e9c3e42aa6
appPassword: add expiry
2026-02-12 16:23:31 +01:00
Girish Ramakrishnan
93a0063941
backups: add stop_integrity_check route
2026-02-09 22:00:40 +01:00
Girish Ramakrishnan
26a3cf79c5
backup: show last integrity in info dialog
2026-02-09 21:46:04 +01:00
Johannes Zellner
26999afc22
Reduce SaveIndicator timeout to 1500ms
2026-02-09 20:43:44 +01:00
Johannes Zellner
81729e4b2a
Add SaveIndicator to email settings
2026-02-09 20:43:34 +01:00
Johannes Zellner
4bae5ee2fb
Add SaveIndicator to user directory settings
2026-02-09 20:34:18 +01:00
Johannes Zellner
a786e6c8f5
Do not crash if we have a new user without a username yet
2026-02-09 20:34:05 +01:00
Johannes Zellner
3803f36aa5
Fix language change to han chinese
2026-02-09 20:27:12 +01:00
Johannes Zellner
55bc26bd09
Add error state for SaveIndicator and put it in more places
2026-02-09 20:25:13 +01:00
Girish Ramakrishnan
d84037a0dd
add to changes
2026-02-09 18:24:56 +01:00
Girish Ramakrishnan
1ce5fcafd9
apppassword: display error
2026-02-09 17:52:40 +01:00
Johannes Zellner
281233f48b
Unset align-items for section header toolbar to make buttons fill whole height
2026-02-09 17:29:12 +01:00
Johannes Zellner
68d73e088d
Move notification settings to notifications view
2026-02-09 17:06:17 +01:00
Girish Ramakrishnan
b433191b35
community: skip revoked versions
2026-02-09 16:11:55 +01:00
Girish Ramakrishnan
d75ad44315
mail: fix haraka crash
2026-02-09 16:04:13 +01:00
Girish Ramakrishnan
c3d3c3a6e9
app: if repo changes, do not autoupdate
2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
b9b8ccb8ae
community: stable/unstable
2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
5a56a7c8af
community: show packager info
2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
d4efb63f3d
Update packages
2026-02-09 15:51:47 +01:00
Johannes Zellner
2ec349e919
Remove duplicate code
2026-02-09 15:33:10 +01:00
Johannes Zellner
772770273a
Set tls provider upon dns provider change, not in a watcher, which has side-effects
2026-02-09 14:32:02 +01:00
Girish Ramakrishnan
fa5cbfc304
mail: allow comma in email display name
2026-02-09 11:01:47 +01:00
Girish Ramakrishnan
5276321ade
integrity: add integrity check fields and initial UI
2026-02-08 23:26:57 +01:00
Girish Ramakrishnan
6303602323
graphite: update go-carbon to 0.19.1
2026-02-07 12:01:25 +01:00
Girish Ramakrishnan
486fb0d10a
collectd is gone
2026-02-07 11:45:12 +01:00
Girish Ramakrishnan
74b8a08251
add community app warning
2026-02-06 22:49:08 +01:00
Girish Ramakrishnan
2a244bb8d4
Update versions format to have a root
2026-02-06 22:39:29 +01:00
Girish Ramakrishnan
84e73943f7
typo
2026-02-06 22:34:42 +01:00
Girish Ramakrishnan
ace09ca5a7
add versions url in the menu
2026-02-06 19:19:04 +01:00
Girish Ramakrishnan
a9ae34b149
community: download iconUrl
...
also rename existing db field appStoreIcon to packageIcon
2026-02-06 19:13:55 +01:00
Girish Ramakrishnan
cff778fe6a
set fallback image url
2026-02-06 19:08:23 +01:00
Girish Ramakrishnan
be69f9f8a3
minor package updates
2026-02-06 18:23:30 +01:00
Girish Ramakrishnan
5ca2078461
add iconUrl to manifest
2026-02-06 18:04:47 +01:00
Girish Ramakrishnan
4461e7225f
validate versions file
2026-02-06 17:35:59 +01:00
Girish Ramakrishnan
49d5d10d77
typo
2026-02-06 16:17:22 +01:00
Girish Ramakrishnan
84374f03e9
cloudron-setup: fix the echo
2026-02-06 12:10:09 +01:00
Girish Ramakrishnan
f8a44014f7
installer: check for process instead of locks
2026-02-06 12:02:46 +01:00
Girish Ramakrishnan
6befb64691
cloudron-setup: wait for apt setup
2026-02-06 12:01:14 +01:00
Girish Ramakrishnan
1ff2c21c61
Move custom app actions to a dropdown
2026-02-06 10:32:29 +01:00
Girish Ramakrishnan
c79d4a24c4
community: allow version in the url input
2026-02-06 10:19:13 +01:00
Girish Ramakrishnan
3d7a5676d8
lint
2026-02-05 23:22:26 +01:00
Girish Ramakrishnan
aa362477e8
community: validate the url in the dialog
2026-02-05 22:40:37 +01:00
Johannes Zellner
13b524e8a5
Fix bold/strong font weight in markdown
2026-02-05 21:57:20 +01:00
Girish Ramakrishnan
d6eb6d3e3e
community: store versionsUrl in the database
2026-02-05 19:32:29 +01:00
Girish Ramakrishnan
91b8f1a457
oidc: do not fail on notification failure
2026-02-05 18:26:14 +01:00
Johannes Zellner
c8cdcfc99f
Fix const usage of reactive() variable
2026-02-05 15:14:15 +01:00
Johannes Zellner
fe20e738cd
Update vite and vue related dependencies
2026-02-05 15:11:09 +01:00
Johannes Zellner
e23856bf10
Fixup fonts
2026-02-05 15:08:33 +01:00
Girish Ramakrishnan
a7de7fb286
initial implementation of community packages
2026-02-05 14:21:50 +01:00
Johannes Zellner
a931d2a91f
Attempt to improve fonts on chrome
2026-02-05 13:33:37 +01:00
Girish Ramakrishnan
c94c66b71e
do not use displayName since it may not be unique
2026-02-04 18:32:45 +01:00
Girish Ramakrishnan
cb89c30591
Fix help url
2026-02-04 18:16:38 +01:00
Elias Hackradt
1012c0f654
Fix Applink ACL
2026-02-04 16:57:51 +00:00
Girish Ramakrishnan
9b5fb9ae8f
applink: do not send label when not set
2026-02-04 14:53:50 +01:00
Girish Ramakrishnan
c4055271a8
render email as plain text in checklist and postinstall
2026-02-04 14:45:50 +01:00
Johannes Zellner
cd1df37ed3
Show save indicator for language and timezone submission
2026-02-04 12:43:58 +01:00
Johannes Zellner
3d8d4fd921
Show error overlay with link to services view if filemanager addon is down
2026-02-04 12:00:03 +01:00
Girish Ramakrishnan
17b0c3e48d
services: Graphite -> Metrics
2026-02-04 11:33:40 +01:00
Johannes Zellner
f364257db9
Do not send username for profile updates if it isn't set yet
2026-02-03 19:57:23 +01:00
Johannes Zellner
6b0d9f8551
Fix vue warning about wrong props type
2026-02-03 18:47:17 +01:00
Johannes Zellner
f0fb420a8d
Skip checklist db migration script if no owner exists
2026-02-03 18:41:39 +01:00
Johannes Zellner
8aa2695263
Avoid horizontal scrolling in volumes table
2026-02-03 18:32:11 +01:00
Johannes Zellner
b9af8ee6be
Send the service name when listing services
2026-02-03 18:32:11 +01:00
Girish Ramakrishnan
7077289840
Fix doc link
2026-02-03 18:26:15 +01:00
Johannes Zellner
bdd35fb02a
Go to app configure view after installation started
2026-02-03 11:30:35 +01:00
Girish Ramakrishnan
47660c5679
Update translations
2026-02-03 08:53:00 +01:00
Johannes Zellner
28573f9676
Right align table headers for backup content info
2026-02-02 16:41:47 +01:00
Johannes Zellner
375b7f6dd7
Let appstore filter bar wrap for mobile
2026-02-02 16:32:58 +01:00
Johannes Zellner
99ec2d5ce7
Use Section component for NotificationView to work better on mobile
2026-02-02 16:31:25 +01:00
Johannes Zellner
f2afd654f8
Bring back reboot button in reboot required notification
2026-02-02 16:21:31 +01:00
Johannes Zellner
d42919285b
Add user filter for roles and invited status
2026-02-02 12:25:09 +01:00
Johannes Zellner
33a1f135e0
Hide quickactions on mobile
2026-02-02 11:41:50 +01:00
Johannes Zellner
214b836d13
Hide user roles on mobile
2026-02-02 11:36:19 +01:00
Johannes Zellner
408a07e8b9
Update pankow for tooltip fix
2026-02-02 10:41:02 +01:00
Girish Ramakrishnan
b247731062
doc links have changed
2026-02-02 10:19:19 +01:00
Johannes Zellner
dcaa484929
Show user roles always as separate column
2026-02-02 10:11:15 +01:00
Girish Ramakrishnan
35886633e5
appinstall: align the header text and icon
2026-02-02 06:40:43 +01:00
Johannes Zellner
d04afc26e7
Add db migration to ensure done checklist items have an owner and timestamp
2026-02-01 13:57:55 +01:00
Johannes Zellner
bb5f1b703e
Update lock file
2026-02-01 13:20:10 +01:00
Girish Ramakrishnan
dfe2d27709
comment out some logs
2026-01-31 12:09:55 +01:00
Girish Ramakrishnan
1dec4f0070
cloudron-support: try ipv4 and ipv6 image pull
2026-01-30 17:20:35 +01:00
Girish Ramakrishnan
89b6513217
installer: need at least ubuntu 22
2026-01-30 09:55:53 +01:00
Girish Ramakrishnan
16a8caa8db
installer: better log messages
2026-01-30 09:54:33 +01:00
Girish Ramakrishnan
1594d190eb
update: skip backup site check when skipBackup is true
2026-01-30 09:52:52 +01:00
Girish Ramakrishnan
3333f70a64
9.0.18 changes
...
(cherry picked from commit fd881b4c61 )
2026-01-29 17:38:55 +01:00
Johannes Zellner
5bd803e6b4
hetznercloud wants name instead of search_name for zones
2026-01-29 15:35:29 +01:00
Girish Ramakrishnan
b5f5b096d4
ami: do not set domain provider by default
2026-01-29 14:20:53 +01:00
Girish Ramakrishnan
dce05140bf
ami: add instanceId input box
2026-01-29 13:50:27 +01:00
Girish Ramakrishnan
29d5ac94b2
activation: remove unused setupToken
2026-01-29 13:17:12 +01:00
Girish Ramakrishnan
2b80c6c1ad
setup: setupToken is not used anymore
2026-01-29 13:15:09 +01:00
Girish Ramakrishnan
94a62b040b
setup: set initial value for tls config
2026-01-29 13:13:35 +01:00
Johannes Zellner
2bb9c50db9
Condense info in app install dialog
2026-01-29 11:58:09 +01:00
Girish Ramakrishnan
6533ba4581
appstore: include provider as part of state
2026-01-29 11:46:57 +01:00
Girish Ramakrishnan
081909572e
Fix casing
2026-01-28 15:52:15 +01:00
Johannes Zellner
aa84cb0079
Actually make multiplart also optional
2026-01-28 14:17:22 +01:00
Girish Ramakrishnan
a66c3700b3
Fix doc urls
2026-01-28 12:07:04 +01:00
Johannes Zellner
70476bd168
Use jsonOrMultipart instead of jsonOptional and multipart
2026-01-27 22:01:18 +01:00
Johannes Zellner
a7929e142f
Build local image for updates in apptask
2026-01-27 22:01:18 +01:00
Johannes Zellner
fd0d65b8ce
Keep the app source archive with the app instance data dir
2026-01-27 22:01:18 +01:00
Johannes Zellner
ef2a94c2c8
use local/id:version-ts as docker image tag for locally built apps
2026-01-27 22:01:18 +01:00
Johannes Zellner
b43daf2f08
Use the uploaded app source tarball to build a local docker image
2026-01-27 22:01:18 +01:00
Johannes Zellner
280f628746
Accept json body or formdata in app install route
2026-01-27 22:01:18 +01:00
Johannes Zellner
713774c03f
Attempt to parse formdata fields as json
2026-01-27 22:01:18 +01:00
Johannes Zellner
0889c1531e
Optionally allow json middleware to not check the content-type
2026-01-27 22:01:18 +01:00
Girish Ramakrishnan
dbd5810a08
Add to changes
2026-01-26 22:52:57 +01:00
Johannes Zellner
c8722e9945
Update translations
2026-01-23 23:34:41 +01:00
Girish Ramakrishnan
87780a2fc8
sftp: update modules
2026-01-23 16:52:52 +01:00
Johannes Zellner
ab03256db0
Update translations
2026-01-23 15:00:17 +01:00
Johannes Zellner
e26640c80e
Use translations in notification view
2026-01-23 15:00:08 +01:00
Johannes Zellner
e6806453e1
Add pagination to NotificationsView
2026-01-23 14:24:31 +01:00
Johannes Zellner
d0fb2583a5
Show unread notifications by default and purge them on read
2026-01-23 14:08:46 +01:00
Johannes Zellner
c4f8f318af
Add unread/showall filter for notifications
2026-01-23 13:57:15 +01:00
Girish Ramakrishnan
a6286bb67e
mongodb: fcv fix
...
have to upgrade mongodb to 8.0 first
2026-01-23 13:48:01 +01:00
Johannes Zellner
90aea9708c
Update lock file
2026-01-23 13:03:41 +01:00
Johannes Zellner
cb076123b3
Only run quickaction action if set
2026-01-23 13:03:12 +01:00
Johannes Zellner
70a9a66ae9
Do not order notifcations by check/unchecked
2026-01-23 13:03:12 +01:00
Girish Ramakrishnan
8521a47cfa
mysql: pipework update
2026-01-23 12:32:47 +01:00
Johannes Zellner
106cc5238e
Keep unread notifications in sync with headerbar
2026-01-23 12:26:12 +01:00
Girish Ramakrishnan
2040eb22a2
mail: update modules
2026-01-23 12:14:33 +01:00
Girish Ramakrishnan
b6075a9765
redis: update to 8.4.0
2026-01-23 11:34:41 +01:00
Girish Ramakrishnan
daacbcb89d
mongodb: update to 8.2.3
2026-01-23 11:26:30 +01:00
Girish Ramakrishnan
6d622bbd14
postgres: pipework update
2026-01-23 11:18:06 +01:00
Girish Ramakrishnan
f355da4874
Fix up changelog
2026-01-23 10:03:25 +01:00
Girish Ramakrishnan
4b36de5200
Update docker to 29.1.5
2026-01-23 10:02:57 +01:00
Girish Ramakrishnan
88d37e99aa
docker: compare debian package version instead of docker version
...
this way after an ubuntu upgrade, we update it with the correct
docker package on the next cloudron upgrade
2026-01-23 09:30:44 +01:00
Girish Ramakrishnan
1608fc3fdc
Update packages
2026-01-23 09:13:11 +01:00
Girish Ramakrishnan
057fd18139
Update nodejs to 24.13.0
2026-01-23 09:04:57 +01:00
Johannes Zellner
b6371a0bdf
Add standalone NotificationsView
2026-01-22 18:56:06 +01:00
Girish Ramakrishnan
03fe72e0b1
services: fix usage of pipework
2026-01-22 18:09:41 +01:00
Johannes Zellner
3bf4bddc10
Remove very old ubuntu 16 and 18 from cloudron-setup
2026-01-22 12:23:45 +01:00
Johannes Zellner
92dcf19511
Fix form submission for app clone dialog
2026-01-22 10:26:13 +01:00
Girish Ramakrishnan
b238443a9d
services: switch to using @cloudron/pipework
...
also improve the error messages along the way
2026-01-21 21:32:02 +01:00
Girish Ramakrishnan
021a39a964
services: destroy the read/write stream on error
2026-01-21 17:23:27 +01:00
Girish Ramakrishnan
72c494e9dc
backuptask: fix usage of upload API
2026-01-21 09:48:21 +01:00
Girish Ramakrishnan
42cefd56eb
Fix uploader API to handle write stream errors
...
When the upload is aborted/abandoed because the source file is missing,
the write stream is never destroyed. This dangling write stream can
later error and cause a crash.
Instead, create the write stream on demand and nearer to pipeline() to
make sure we do 'error' handling.
2026-01-20 22:26:08 +01:00
Johannes Zellner
944f163882
Fix QuickAction width in app backup view
2026-01-20 18:08:35 +01:00
Girish Ramakrishnan
11a8a73723
app install: Fix status of install button
2026-01-20 17:49:35 +01:00
Girish Ramakrishnan
e34cf8f6a6
location: fix up form validation
2026-01-20 17:23:08 +01:00
Girish Ramakrishnan
7f8143f06f
services: set some width to avoid column shifting
...
(cherry picked from commit 529d227e74 )
2026-01-18 18:27:51 +01:00
Girish Ramakrishnan
472e513a9f
postgresql: reindex fix
...
(cherry picked from commit 6b56efcf14 )
2026-01-18 18:27:44 +01:00
Girish Ramakrishnan
1cbacab3a2
services: keep quick actions consistent
...
(cherry picked from commit f23c8a9243 )
2026-01-18 18:27:38 +01:00
Girish Ramakrishnan
49bbb8588d
9.0.17 changes
...
(cherry picked from commit 98660567e5 )
2026-01-18 11:48:30 +01:00
Girish Ramakrishnan
23e0fe5791
postgres: fix hook that upgrades vectorchord
2026-01-18 11:36:48 +01:00
Girish Ramakrishnan
6877dfb772
acme: ARI support
...
ARI is a hint from the cert issuer about when to renew a cert. We will
use it when the API is available.
It provides a mechanim for CAs to revoke certs and signal to clients
that cert should be renewed.
https://www.rfc-editor.org/rfc/rfc9773.txt
https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients
2026-01-17 23:28:47 +01:00
Girish Ramakrishnan
f65b33f3fc
Fix key type typo
2026-01-17 22:20:39 +01:00
Girish Ramakrishnan
3daddf2fe6
update superagent
2026-01-17 22:18:27 +01:00
Girish Ramakrishnan
efccf2729b
start moving openssl commands into openssl.js
2026-01-17 15:28:44 +01:00
Girish Ramakrishnan
3a1cd8f67f
acme2: do not rely on db
2026-01-17 13:21:50 +01:00
Girish Ramakrishnan
53c90429d3
acme: rename variable
2026-01-17 10:26:04 +01:00
Girish Ramakrishnan
7b5384a7d5
acme2: add profile support
...
this adds acme profile support which was GA today.
https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability
https://letsencrypt.org/docs/profiles/
2026-01-17 09:51:29 +01:00
Girish Ramakrishnan
2b362d8eaf
users: add note about invitationToken
...
this is a one time token that is valid until the account is set up.
this is the reason it has no expiry time.
2026-01-17 09:44:43 +01:00
Girish Ramakrishnan
ce0024a43c
Update translations
2026-01-16 15:07:52 +01:00
Girish Ramakrishnan
888696975d
diskusage: hide last updated when refreshing
2026-01-16 15:07:48 +01:00
Girish Ramakrishnan
da5852d330
Fix version in changelog file
2026-01-16 10:32:27 +01:00
Johannes Zellner
81fa8544dd
Fix email event log crash
2026-01-16 10:29:51 +01:00
Girish Ramakrishnan
e407286c39
add descriptions to various views
2026-01-15 15:25:23 +01:00
Johannes Zellner
908f7b8985
Remove wrong expiration note for invite links in email
2026-01-15 12:10:58 +01:00
Johannes Zellner
98edbcaeb2
Move backup sites view to ActionBar pattern
2026-01-15 11:59:53 +01:00
Johannes Zellner
482b7e8017
We still need the click handler on the ellipsis if no quickaction is shown
2026-01-15 11:45:04 +01:00
Johannes Zellner
acf295a259
Do not show double ellipse on touch devices for ActionBar
2026-01-15 11:35:51 +01:00
Johannes Zellner
a0667da4de
Always give a visual hint for actions on ActionBar even is all actions are shown
2026-01-15 09:59:29 +01:00
Girish Ramakrishnan
f95ad86d5b
services: make percent unsortable
2026-01-14 18:59:57 +01:00
Girish Ramakrishnan
72f03c75c8
app link is now called external link
2026-01-14 18:34:55 +01:00
Girish Ramakrishnan
14cb8f0014
backups: use ActionBar
2026-01-14 18:34:55 +01:00
Johannes Zellner
0d57870311
Update translations
2026-01-14 17:24:32 +01:00
Johannes Zellner
fb6fca152f
Move applinks back from appearance to app store
2026-01-14 17:09:32 +01:00
Girish Ramakrishnan
11a33455ce
slight wording change
2026-01-14 15:57:06 +01:00
Girish Ramakrishnan
124076ed72
backup: make labels bold
2026-01-14 15:41:22 +01:00
Johannes Zellner
294f591152
Use ActionBar in app password view
2026-01-14 15:37:58 +01:00
Johannes Zellner
f9414dc815
Update pankow
2026-01-14 15:35:46 +01:00
Girish Ramakrishnan
99c1e0e262
backups: list backup contents explicitly
2026-01-14 15:33:03 +01:00
Johannes Zellner
f6c344873d
Show all actions as quick actions, if ActionBar only has 2 or less actions
2026-01-14 15:19:27 +01:00
Johannes Zellner
f8f768337e
Give some basic hover feedback on ActionBar buttons
2026-01-14 14:48:44 +01:00
Girish Ramakrishnan
c64694e40f
services: merge memory limit column
2026-01-14 13:51:29 +01:00
Girish Ramakrishnan
116791f29f
reduce bottom margin
2026-01-14 13:35:32 +01:00
Johannes Zellner
69fd7e0b7d
Make ActionBar buttons less gray
2026-01-14 12:29:31 +01:00
Johannes Zellner
ac539d1f90
Show ActionBar ellipsis button as active if menu is open
2026-01-14 12:10:10 +01:00
Johannes Zellner
9774a17f7e
Make background of some ProgressBars transparent
2026-01-14 12:02:00 +01:00
Girish Ramakrishnan
1f7b0c076c
mailbox: show correct usage for fresh mailboxes
2026-01-14 11:40:32 +01:00
Girish Ramakrishnan
51c6c37ea6
backups: fix formatting of preserved and label
2026-01-14 10:38:48 +01:00
Girish Ramakrishnan
790de8cfa6
backups: fix display of preserved and label
2026-01-14 10:01:56 +01:00
Girish Ramakrishnan
f49f2ecb6c
backups: show error if label is malformed
2026-01-14 09:36:04 +01:00
Girish Ramakrishnan
9647fb358b
show menu when avatar is clicked
2026-01-13 22:49:00 +01:00
Girish Ramakrishnan
e9e28ae26a
user dialog: update state of button
2026-01-13 22:30:20 +01:00
Girish Ramakrishnan
60032c186d
users: add default symbolic avatar
2026-01-13 22:14:53 +01:00
Girish Ramakrishnan
e7011ca0a5
diskusage: show used instead of free
...
we have to match watch is shown in the progressbar below
2026-01-13 21:53:28 +01:00
Girish Ramakrishnan
0382113567
diskusage: show last updated date when loading from cache
2026-01-13 21:51:44 +01:00
Girish Ramakrishnan
18fe633979
diskusage: add localStorage cache with 1 hour expiry
2026-01-13 19:41:27 +01:00
Girish Ramakrishnan
2d8b4d9c2a
more changes
2026-01-13 18:47:16 +01:00
Girish Ramakrishnan
d4d6050862
display cron errors
2026-01-13 18:46:36 +01:00
Girish Ramakrishnan
6bed5265e2
display csp and robotsTxt errors
2026-01-13 18:40:48 +01:00
Girish Ramakrishnan
a1b4fdf624
csp: allow multiple lines and add presets
2026-01-13 17:39:00 +01:00
Girish Ramakrishnan
b9ea1573ea
Add common robots.txt patterns
2026-01-13 17:05:54 +01:00
Girish Ramakrishnan
7a56545e9e
date -> created
2026-01-13 16:34:37 +01:00
Girish Ramakrishnan
2bf9b66af7
api tokens: move last used as last column
2026-01-13 16:29:32 +01:00
Girish Ramakrishnan
215a6faae9
app: make package version copyable
2026-01-13 16:27:55 +01:00
Girish Ramakrishnan
61f37e0260
mongodb: fix fcv update issue
2026-01-13 15:21:30 +01:00
Girish Ramakrishnan
b2c434a1fd
installer: make docker pull timeout if pull hangs
2026-01-13 10:37:14 +01:00
Girish Ramakrishnan
0d2bcbf25b
cloudron-support: add --disable-ipv6
2026-01-13 10:24:37 +01:00
Girish Ramakrishnan
a3d1838a8c
cloudron-support: remove --patch
2026-01-13 10:20:57 +01:00
Girish Ramakrishnan
692fb1a68c
domains: add debug to print the error
2026-01-12 18:35:18 +01:00
Girish Ramakrishnan
c71d915a4b
typo
2026-01-12 18:33:22 +01:00
Johannes Zellner
a0b5dec8b9
Update translations
2026-01-12 16:27:37 +01:00
Girish Ramakrishnan
e2f71b10ec
mail: update haraka to 3.1.2
2026-01-12 11:25:48 +01:00
Elias Hackradt
743e4fce0b
Fixed wrong URL for PTR doc issue url
2026-01-10 19:59:27 +01:00
Johannes Zellner
d97c608323
Do not use app.fqdn in href links and blindly prepend the protocol
2026-01-07 14:46:12 +01:00
Johannes Zellner
89baa3cabf
Set the default locale to C.UTF-8 in 2026
2026-01-07 13:46:10 +01:00
Johannes Zellner
d83712b093
Make filemanager the quickaction for volumes
2026-01-06 21:15:19 +01:00
Johannes Zellner
806309fc33
Apply mountoint vs mountpointS lsblk output fix also to mounts
2026-01-06 21:11:16 +01:00
Johannes Zellner
70f6343a2c
Use ActionBar in API tokens list
2026-01-06 17:37:55 +01:00
Johannes Zellner
03dca869c8
Fix tooltip bug in API token table
2026-01-06 17:33:14 +01:00
Girish Ramakrishnan
84a10d4eb1
backups: add synology c2
2026-01-06 16:42:54 +01:00
Johannes Zellner
554a77fbca
Use ActionBar for domain listing
2026-01-06 16:01:31 +01:00
Johannes Zellner
e12f5e41ff
Better error for invalid update versions
2026-01-06 15:54:55 +01:00
Johannes Zellner
79ad003bc6
Fix width of app archive action column to avoid jumping
2026-01-06 01:08:43 +01:00
Johannes Zellner
fc417022c9
Do not autofocus appstore search input when dialog closes
2026-01-05 17:31:15 +01:00
Johannes Zellner
f427d9f1c4
Use ActionBar in apps list
2026-01-05 17:22:53 +01:00
Girish Ramakrishnan
409f185f7e
cloudron-support: do not use nc
2026-01-05 09:30:43 +01:00
Girish Ramakrishnan
6b080455ff
add to changes
2026-01-05 09:30:38 +01:00
Girish Ramakrishnan
da726ecd15
dockerregistry: do not use auth with explicit registry for appstore images
2026-01-02 10:24:51 +01:00
Girish Ramakrishnan
a8f61878ca
docker: add comments
2026-01-01 11:18:40 +01:00
Girish Ramakrishnan
73e929f0cf
test: Happy new year!
2026-01-01 10:10:39 +01:00
Girish Ramakrishnan
60420c3e32
cloudron-support: make troubleshoot script work when not set up yet
2025-12-30 17:17:35 +01:00
Girish Ramakrishnan
a02e933375
Upgrade mongodb to mongobleed
2025-12-29 12:53:02 +01:00
Johannes Zellner
73df6519f0
Update translations
2025-12-28 15:37:39 +01:00
Johannes Zellner
ac3a34ff58
Clear formError in app install dialog
2025-12-28 13:16:32 +01:00
Johannes Zellner
8d85b521c8
Fix oidc profile avatar route
2025-12-24 10:51:38 +01:00
Johannes Zellner
6d89010a1f
Use ActionBar in remaining lists
2025-12-20 09:06:32 +01:00
Johannes Zellner
8c85fdd7b5
Use ActionBar for email related lists
2025-12-20 08:49:35 +01:00
Johannes Zellner
cc535b0d0a
Use ActionBar in oidc clients list
2025-12-20 08:39:37 +01:00
Johannes Zellner
d275b56dc1
Always show actionBar if device has no hover
2025-12-20 08:39:19 +01:00
Johannes Zellner
ad1fc9b9c7
Do not show ErrorDialog on network errors
2025-12-20 07:55:27 +01:00
Johannes Zellner
1ea6fb9300
Ensure ActionBar is in the middle of the row
2025-12-19 20:51:48 +01:00
Johannes Zellner
9d96ab8f6a
Show tooltips in ActionBar
2025-12-19 11:00:44 +01:00
Johannes Zellner
4f518d2315
Use ActionBar also for GroupsView
2025-12-19 10:45:29 +01:00
Johannes Zellner
7377476f97
Fix crash in GroupDialog when listing users for ldap groups
2025-12-19 10:43:48 +01:00
Johannes Zellner
a55bd4458c
Improve on the quick action bar
2025-12-19 10:25:40 +01:00
Girish Ramakrishnan
22cb7f7d8f
addons is optional
2025-12-18 18:30:30 +01:00
Johannes Zellner
7b46595503
Add missing ActionBar.vue
2025-12-18 17:04:01 +01:00
Johannes Zellner
aa30f6ef98
Add some quick actions in users listing
2025-12-18 16:56:27 +01:00
Girish Ramakrishnan
5107cd28c4
mail status: make the status text selectable
2025-12-18 16:51:19 +01:00
Girish Ramakrishnan
b537d73a55
app install: show any install error in the UI
2025-12-18 15:24:00 +01:00
Johannes Zellner
9a5c49bd08
Add tooltip for and translate sidebar collapse action
2025-12-18 13:12:23 +01:00
Johannes Zellner
19cf204dc4
Improve colors for submenus
2025-12-18 11:41:38 +01:00
Johannes Zellner
a75baba1f6
Show cloudron name in tooltip when sidebar is collapsed
2025-12-18 11:21:51 +01:00
Johannes Zellner
a2dd45fd69
Include label property again in app search
2025-12-18 10:27:24 +01:00
Johannes Zellner
b90cdb8686
Provide a globally injected isMobile state for reactivity
2025-12-17 16:44:01 +01:00
Johannes Zellner
16e79c6546
Add tooltips when sidebar is collapsed
2025-12-17 16:29:40 +01:00
Johannes Zellner
f3fbff291f
Show submenu headers
2025-12-17 15:40:49 +01:00
Girish Ramakrishnan
f994088d38
increase opacity of sidebar icons
2025-12-17 13:17:00 +01:00
Girish Ramakrishnan
091a49ff78
Adjust sidebar width to text
2025-12-17 13:17:00 +01:00
Johannes Zellner
357313b555
Flip the submenu vertically if we have no space for it to drop down
2025-12-17 12:16:43 +01:00
Johannes Zellner
3b64d8b0a5
Fix css selector for gap element in submenu
2025-12-17 01:06:39 +01:00
Johannes Zellner
6fa95d9f4f
Do not overlap the submenu with the main sidebar
2025-12-17 00:57:41 +01:00
Johannes Zellner
15ff5ede7e
Do not rely on pankow Menu for SideBar
2025-12-16 20:55:04 +01:00
Johannes Zellner
d89c826e18
Reduce padding for collapse action in SideBar
2025-12-16 19:17:43 +01:00
Johannes Zellner
5e485fb87e
Collapse all submenus if the main menu gets collapsed
2025-12-16 12:50:02 +01:00
Johannes Zellner
6b7e8bef1d
Fix main menu on mobile
2025-12-16 12:50:02 +01:00
Johannes Zellner
5cb2312806
Fix padding of logo in sidebar
2025-12-16 12:50:02 +01:00
Johannes Zellner
aa7543ad0c
Store sidebar collapse state in localstorage
2025-12-16 12:50:02 +01:00
Johannes Zellner
b6df80dcef
Use normal context menus for sidebar submenus
2025-12-16 12:50:02 +01:00
Girish Ramakrishnan
c0ad75cc4d
mailserver: typo where port was not used
2025-12-16 11:48:34 +01:00
Johannes Zellner
612002ec33
Fix mailbox owner select if username is not set
2025-12-16 10:52:23 +01:00
Johannes Zellner
bb96b96e24
Fallback to email for mailbox owner if no username nor display name is set
2025-12-16 08:38:05 +01:00
Johannes Zellner
49fc63d422
Fix crash if email eventlog got unmounted during initial fetch
2025-12-15 18:53:59 +01:00
Johannes Zellner
350315fa56
Define main menu as a js object structure
2025-12-15 18:52:03 +01:00
Johannes Zellner
fa859a3b5d
Use custom SideBar instead of Pankow component
2025-12-15 16:58:05 +01:00
Girish Ramakrishnan
b2f5110871
align the cloudron name to center
2025-12-14 11:08:40 +01:00
Girish Ramakrishnan
18d0cae6b0
9.0.15 changes
...
(cherry picked from commit 631333f48e )
2025-12-13 10:02:42 +01:00
Johannes Zellner
f09b03338e
Port LogViewer from vue object to composition style
2025-12-12 17:24:44 +01:00
Johannes Zellner
6e011ae70e
Fix crash in the LogsViewer accessing non-existing nodes
2025-12-12 16:02:38 +01:00
Johannes Zellner
854fbe53be
Use unique temporary ssh key file for each ssh remote operation
...
File operations may run in parallel so we cannot rely on a well defined
keyfilename
2025-12-12 15:50:32 +01:00
Johannes Zellner
1ef252fbc2
Revert "Rely on single private key file for optimized ssh remote fs operations"
...
This reverts commit aaebe01892 .
2025-12-12 15:26:56 +01:00
Johannes Zellner
aaebe01892
Rely on single private key file for optimized ssh remote fs operations
2025-12-12 14:44:19 +01:00
Johannes Zellner
83efffb7f9
Use new postgres addon for vectorchord 0.5.3
2025-12-12 12:00:46 +01:00
Girish Ramakrishnan
b89aa4488c
shell: add string fields for debugging
2025-12-12 11:59:41 +01:00
Girish Ramakrishnan
2029148e7c
update postgres vectorchord ext
2025-12-11 18:59:43 +01:00
Girish Ramakrishnan
8b33414c55
backup info: add default label
2025-12-11 09:53:24 +01:00
Girish Ramakrishnan
0e177a7a4c
volumes: set default port to 23 for sshfs
2025-12-11 09:34:47 +01:00
Girish Ramakrishnan
11fc6a61d5
relay: better wording for noop
2025-12-11 09:26:57 +01:00
Johannes Zellner
ca5ab6edf5
Show user avatar in user listing
...
Moving the role icon to the username and hiding
external directory flag. This is not too useful anyways
2025-12-10 20:21:37 +01:00
Girish Ramakrishnan
bbefca71e5
profile: add hasAvatar
2025-12-10 18:57:02 +01:00
Johannes Zellner
001adcee62
Fix sorting by username in users list
2025-12-10 18:50:11 +01:00
Girish Ramakrishnan
4870cdd76f
Update translations
2025-12-10 18:18:32 +01:00
Girish Ramakrishnan
3dc8e87a27
Update well-known translations
2025-12-10 18:04:36 +01:00
Johannes Zellner
1cd069df5e
Revert "Replace generic console.error handlers with window.cloudron.onError"
...
This reverts commit 7db5a48e35 .
2025-12-10 18:04:07 +01:00
Johannes Zellner
4dd1a960c1
Revert "Only do an early return instead of onError() when domain adding errors"
...
This reverts commit 49f8b3b7f6 .
2025-12-10 18:04:00 +01:00
Johannes Zellner
2c8dc3e6a7
Only wait in appstore view if this is the first time we open it
2025-12-10 17:29:02 +01:00
Johannes Zellner
49f8b3b7f6
Only do an early return instead of onError() when domain adding errors
2025-12-10 17:26:24 +01:00
Johannes Zellner
dd9dc34308
Remove dead function in appstore view
2025-12-10 16:16:01 +01:00
Johannes Zellner
a8b41945d0
Give app search focus on desktop
2025-12-10 16:14:52 +01:00
Johannes Zellner
fa776c34de
Update pankow
2025-12-10 15:53:48 +01:00
Johannes Zellner
a3a4bbbb83
Update pankow
2025-12-10 15:39:40 +01:00
Johannes Zellner
52e1276c8d
Improve reactivity if app install dialog should be opened
2025-12-10 14:21:01 +01:00
Johannes Zellner
241be5eaee
Improve volume form error display
2025-12-10 12:15:13 +01:00
Johannes Zellner
a32903218e
Fix button size for volume filemanager link in app config
2025-12-10 12:05:47 +01:00
Johannes Zellner
6620fc8570
Fetch more notifications to avoid required pagination
2025-12-10 11:57:51 +01:00
Johannes Zellner
388a4d93e4
Improve readability of graph tooltips
2025-12-10 11:21:07 +01:00
Girish Ramakrishnan
85898d3531
volumes: fix display of target
2025-12-10 11:02:45 +01:00
Girish Ramakrishnan
1f2e1691f9
add note that remoteDir is not required
2025-12-10 10:52:10 +01:00
Girish Ramakrishnan
2693f5f496
volumes: remove redundant form validation check
2025-12-10 10:49:35 +01:00
Girish Ramakrishnan
854f7d7f2e
cloudron-support: handle systemd-detect-virt error
2025-12-09 16:06:20 +01:00
Johannes Zellner
1cac67d4c5
Do not loose graph item colors after sorting
2025-12-09 16:03:52 +01:00
Johannes Zellner
72970720d2
Only show the first 5 graph lines in tooltip
2025-12-09 16:00:04 +01:00
Johannes Zellner
b5c75caea0
Sort the graph tooltip items according to the value at the given point in time
2025-12-09 15:38:28 +01:00
Johannes Zellner
f421fd771f
Prefix domain (un)register calls with the domain which failed
...
The info would also be in the extra error info, however we catch the
error in apptask and here we don't know if this is a domain error or
something else.
2025-12-09 14:36:38 +01:00
Johannes Zellner
748f3a3a4f
Do not console.log() activation state
2025-12-09 14:08:27 +01:00
Johannes Zellner
59ccf6181e
Separate subscription plan and status display
2025-12-09 14:07:43 +01:00
Girish Ramakrishnan
c7f5e6b5b0
typo
2025-12-09 13:01:13 +01:00
Girish Ramakrishnan
10f99673c5
oidc: filter oidc-provider module response instead
2025-12-09 12:52:37 +01:00
Girish Ramakrishnan
aff5e8f44d
oidc: add separate jwks key route for cloudflare access
2025-12-09 12:51:27 +01:00
Johannes Zellner
7db5a48e35
Replace generic console.error handlers with window.cloudron.onError
2025-12-08 20:11:13 +01:00
Johannes Zellner
fe73e76fe9
No need to clear error dialog content on close, just makes UI flicker
2025-12-08 19:47:45 +01:00
Johannes Zellner
faa22feebf
Disable create new backup or run cleanup task for site which has an active task
2025-12-08 19:21:40 +01:00
Girish Ramakrishnan
9773c02e7d
backupcleaner: remove integrity information
2025-12-08 19:19:23 +01:00
Johannes Zellner
628902bb70
request errors for 401 or >= 502 are handled in fetcher global error hook
2025-12-08 19:18:36 +01:00
Johannes Zellner
c2e981b35a
fetching the profile should error normally
2025-12-08 19:18:36 +01:00
Girish Ramakrishnan
2f40eeb49f
df: check if path exists
2025-12-08 18:57:41 +01:00
Johannes Zellner
cfb2501576
Reset page on email eventlog refresh
2025-12-08 16:51:26 +01:00
Girish Ramakrishnan
4057906b2c
do not disable hidden submit
...
this allows user to press enter and the user will report validity
2025-12-08 11:08:41 +01:00
Girish Ramakrishnan
93fe97b94d
setup: do not disable submit button with invalid form
2025-12-07 16:59:26 +01:00
Girish Ramakrishnan
aa2df465a0
Update changelog for 9.0.14
2025-12-07 16:25:58 +01:00
Girish Ramakrishnan
350438b2c4
Update lockfile
2025-12-07 16:20:14 +01:00
Girish Ramakrishnan
075499b695
Update pankow
2025-12-07 16:19:43 +01:00
Girish Ramakrishnan
b361adbe30
backupsite: fix form state
2025-12-06 11:33:18 +01:00
Girish Ramakrishnan
c448322367
backups: fix download
2025-12-06 11:19:05 +01:00
Girish Ramakrishnan
b6d4b58f86
Update pankow
2025-12-05 21:08:19 +01:00
Girish Ramakrishnan
bbb00ff36f
better defaults for rsync
2025-12-05 21:03:21 +01:00
Girish Ramakrishnan
07dc823528
better defaults for cifs and sshfs
2025-12-05 20:55:29 +01:00
Girish Ramakrishnan
b9ae97e5ec
volume: fix up form validation pattern
2025-12-05 20:47:49 +01:00
Girish Ramakrishnan
dfafbdd882
Use same pattern for form validation
2025-12-05 19:46:34 +01:00
Girish Ramakrishnan
35d0227862
setup: fix title and heading
2025-12-05 17:48:33 +01:00
Girish Ramakrishnan
c8842cc71f
fix access to form in checkValidity
2025-12-05 17:48:33 +01:00
Girish Ramakrishnan
620974217a
restore: teardown pseudo backup site
2025-12-05 16:12:59 +01:00
Girish Ramakrishnan
392d47852d
system: skip dataDir analysis if it is missing
2025-12-05 15:59:49 +01:00
Girish Ramakrishnan
f714cd66f7
rework mail domain stats
...
We can now show list count, alias count as well in the mail domains UI
2025-12-05 13:32:07 +01:00
Johannes Zellner
425e196dfc
add ESC key event handler in apps view to clear filter
2025-12-04 18:17:16 +01:00
Johannes Zellner
1ffe617287
Give better feedback when no include/exclude content is selected for a backup site's contents
2025-12-04 10:51:42 +01:00
Johannes Zellner
ea93d197ab
Ensure we reset the days and hours of the backup schedule when showing the dialog
2025-12-04 10:40:40 +01:00
Johannes Zellner
37c569a976
Reset include/exclude backup site content on dialog open
2025-12-04 10:15:53 +01:00
Girish Ramakrishnan
7a189bd5e5
readonly and required should only be assigned boolean values
2025-12-04 09:59:51 +01:00
Girish Ramakrishnan
d3876eb7b0
gcs: there is no endpoint
2025-12-04 09:22:06 +01:00
Girish Ramakrishnan
64cb848a37
sftp: give it a static ip
2025-12-04 09:09:19 +01:00
Girish Ramakrishnan
162e51a0af
restore: fix crash when trying to mount fs volumes
2025-12-04 00:14:37 +01:00
Girish Ramakrishnan
59b9991a2c
Fix form validation when credentials change
2025-12-04 00:03:06 +01:00
Girish Ramakrishnan
97128673ff
fix form validation in file upload buttons
2025-12-03 23:39:09 +01:00
Girish Ramakrishnan
fdac444aed
make readonly and required mutually exclusive
...
per https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/readonly
"Note: The required attribute is not permitted on inputs with the readonly attribute specified."
2025-12-03 23:33:24 +01:00
Girish Ramakrishnan
c656903772
Use the simpler file.save to verify
2025-12-03 21:02:53 +01:00
Girish Ramakrishnan
61b5ab8a49
gcs: ensure handlers are attached before write
2025-12-03 20:36:55 +01:00
Girish Ramakrishnan
550df1be89
import: explictly handle all the config keys
2025-12-03 20:33:23 +01:00
Girish Ramakrishnan
99c14533a5
gcs: fix copy operation
...
copy() is part of the interface and does not include the prefix.
2025-12-03 18:31:26 +01:00
Girish Ramakrishnan
b759fdb6e3
s3: remove leading slash in CopySource
2025-12-03 17:11:51 +01:00
Girish Ramakrishnan
374e1f65c6
typo. mountpoint is a command
2025-12-03 11:54:44 +01:00
Girish Ramakrishnan
3d6526de3e
backup site: fix placeholder strings
2025-12-03 11:52:27 +01:00
Girish Ramakrishnan
8f43c7d3d8
location: use the domain where app is installed as default
2025-12-03 11:02:42 +01:00
Girish Ramakrishnan
e5b7ad5be2
restore: remove unused fields
2025-12-03 10:42:00 +01:00
Girish Ramakrishnan
8227ce1158
restore: fix typo. error -> formError
2025-12-03 10:27:20 +01:00
Girish Ramakrishnan
35b80178ed
account: unlinking is not a settings item
2025-12-03 09:59:50 +01:00
Girish Ramakrishnan
80b0dba9fe
remove old changelog
2025-12-02 15:22:37 +01:00
Girish Ramakrishnan
a5497dc215
restore: validate ipv6 config
2025-12-02 15:19:59 +01:00
Girish Ramakrishnan
964fb5d251
typo
2025-12-02 15:16:26 +01:00
Johannes Zellner
e24ee05337
Ensure we also refetch the backup sites when reloading the system backups
2025-12-02 14:51:40 +01:00
Johannes Zellner
c6858d505f
Until we know better, just hide app backup size on mobile
2025-12-02 14:39:47 +01:00
Johannes Zellner
0ea1e47176
Hide backup size on mobile
2025-12-02 13:59:10 +01:00
Johannes Zellner
5355b91f37
Fix table layout for groups and bring back member usernames
2025-12-02 13:17:36 +01:00
Johannes Zellner
86e7eb1087
Bring back group labels in users view with constrained table columns
2025-12-02 13:13:00 +01:00
Johannes Zellner
043d89c03b
Ensure we purge the ssh backup key file in case it was left over by a
...
previous failed backup run
fs.writeFileSync() would fail to overwrite due to restricted file mode
for ssh
2025-12-02 12:14:33 +01:00
Girish Ramakrishnan
1cbad1057d
cloudron-support: with equal timestamps, order by name
2025-12-02 09:33:55 +01:00
Girish Ramakrishnan
d906771b18
Update translations
2025-12-02 09:12:07 +01:00
Johannes Zellner
76ef9c0388
Go back to mailbox alias column eliding
2025-12-01 22:21:02 +01:00
Girish Ramakrishnan
262d96f8d7
Fix welcome translation
2025-12-01 22:09:37 +01:00
Girish Ramakrishnan
41b7466325
profile: show 2fa button for local users (when ldap connector enabled)
2025-12-01 21:16:33 +01:00
Girish Ramakrishnan
76f2c5f9fc
mandatory 2fa: show undismissable dialog and warning
2025-12-01 20:56:21 +01:00
Johannes Zellner
e5a1fc9e2d
Ensure the restore progress message does not overflow the screen
2025-12-01 20:50:03 +01:00
Girish Ramakrishnan
11f9e260ed
2fa: fix hash parsing in router
2025-12-01 19:54:19 +01:00
Girish Ramakrishnan
e209bdec65
SetupAccount: fix set up button disable status
2025-12-01 19:28:41 +01:00
Girish Ramakrishnan
6432851a78
users: make remove 2fa separate dialog
2025-12-01 19:19:12 +01:00
Johannes Zellner
31fb22a7c3
Add window.cloudron.onRequestError()
2025-12-01 19:05:22 +01:00
Johannes Zellner
bc47e30ad3
Use storageQuota instead of quotaLimit in the mailbox list
2025-12-01 17:22:58 +01:00
Johannes Zellner
58cf7c720f
Same as users view, only show user count in groups view
2025-12-01 17:10:22 +01:00
Johannes Zellner
48bf73de80
replace line-height with max-height for logo to avoid squashing
2025-12-01 16:47:40 +01:00
Johannes Zellner
76a3f4e86c
Only show group count in users view and reduce horizontal view size
2025-12-01 16:38:49 +01:00
Johannes Zellner
3a760282f1
Only refresh changed email domains when mailboxes change
2025-12-01 16:04:14 +01:00
Girish Ramakrishnan
71affc0239
cloudron-support: add env type
2025-12-01 15:10:23 +01:00
Johannes Zellner
3b95d23d23
Increase logo line-height
2025-12-01 15:07:10 +01:00
Girish Ramakrishnan
8cd5345f8c
mailboxes: set size to 0 if missing in usage
2025-12-01 14:45:44 +01:00
Girish Ramakrishnan
fda393b5e1
alias: use mailbox domain as default and not dashboard
2025-12-01 14:26:36 +01:00
Girish Ramakrishnan
264f9f84ed
mailbox owner is required
2025-12-01 14:26:36 +01:00
Johannes Zellner
1d73760901
Limit cloudron name input to 64 chars
2025-12-01 11:50:30 +01:00
Johannes Zellner
03a13df47b
Add :maxlength property to EditableField component
2025-12-01 11:50:19 +01:00
Johannes Zellner
5160f22d91
Give cloudron logo in sidebar a sensible max-width
2025-12-01 11:49:15 +01:00
Girish Ramakrishnan
3bbc2bf986
9.0.14 changes
2025-12-01 10:47:19 +01:00
Johannes Zellner
90f68da42f
Reduce mailbox view width back to normal
2025-12-01 10:37:55 +01:00
Johannes Zellner
f37438b7a7
Update frontend dependencies
2025-12-01 10:20:02 +01:00
Girish Ramakrishnan
826d124a5f
Update translations
2025-12-01 09:48:35 +01:00
Girish Ramakrishnan
c162fd178b
Fix tests
2025-11-28 17:40:13 +01:00
Johannes Zellner
9b92e48a6e
Fixup some vue prop type warnings in repair view
2025-11-28 15:06:22 +01:00
Johannes Zellner
5b5c15b7f3
Show raw platform startup errors in dialog
2025-11-28 14:50:18 +01:00
Girish Ramakrishnan
6e9cd4c11b
platform: give feedback on service being started
2025-11-28 12:54:22 +01:00
Girish Ramakrishnan
8c03c73b28
platform: show any container upgrade errors in the UI
2025-11-28 12:16:27 +01:00
Girish Ramakrishnan
2c10ceba5b
mail status: fix rbl display
2025-11-28 12:01:50 +01:00
Girish Ramakrishnan
2a3110cd3d
network: detect default ipv6 interface when no ipv4 interface
2025-11-28 10:02:36 +01:00
Johannes Zellner
924ea435b1
Show error label if subscription is expired
2025-11-27 23:34:25 +01:00
Girish Ramakrishnan
0e4a389910
change restart button text
2025-11-27 18:48:15 +01:00
Girish Ramakrishnan
720dc14ecf
query root dns to detect udp 53 blockage
2025-11-27 18:42:11 +01:00
Girish Ramakrishnan
51f5f0b82d
typo
2025-11-27 18:18:15 +01:00
Girish Ramakrishnan
f380a6f8cf
cloudron-support: make nameserver list customizable
2025-11-27 18:15:32 +01:00
Girish Ramakrishnan
437a033739
Fix broken comment
2025-11-27 14:00:47 +01:00
Girish Ramakrishnan
2b77e4d292
Fix restart dialog buttons
2025-11-27 13:57:17 +01:00
Girish Ramakrishnan
0e104ee936
app search: title is optional manifest
2025-11-27 13:39:25 +01:00
Johannes Zellner
a820bf7bd0
Only show mailbox alias counts in main table to avoid too much overflow
2025-11-27 11:36:35 +01:00
Johannes Zellner
09fdec8fbd
Better indicator if no mailbox quota is set
2025-11-27 11:32:07 +01:00
Johannes Zellner
80f6d733b9
Show only the mailinglist member count in the table
2025-11-27 11:31:15 +01:00
Johannes Zellner
838345ba46
Accomodate for long translation strings in mailinglist dialog
2025-11-27 11:27:33 +01:00
Johannes Zellner
c2378d33b4
Also use a temporary SSH identity file for optimized ssh remote rm -rf
2025-11-27 10:04:06 +01:00
Johannes Zellner
95575bc040
Improve mailboxes list view if it would overflow
2025-11-27 09:49:35 +01:00
Girish Ramakrishnan
2926871eab
Update translations
2025-11-26 16:46:43 +01:00
Johannes Zellner
5b05ea285c
Update frontend dependencies
2025-11-26 16:45:41 +01:00
Girish Ramakrishnan
48a2e6881f
import/restore: check validity after prefill
2025-11-26 16:22:22 +01:00
Johannes Zellner
edbeaa2f77
check validity on app import form
2025-11-26 16:20:25 +01:00
Girish Ramakrishnan
48a85a620d
restore: remount sites in background
2025-11-26 15:36:33 +01:00
Girish Ramakrishnan
cc8db71ecf
apps: typo caused invalid backupId
2025-11-26 14:39:16 +01:00
Girish Ramakrishnan
e4573f74a4
import/restore: fix copying of various s3 options
2025-11-26 14:14:08 +01:00
Girish Ramakrishnan
8cff72cf59
use a real placeholder
2025-11-26 13:15:07 +01:00
Girish Ramakrishnan
73a9de7708
9.0.13 changes
2025-11-26 12:57:35 +01:00
Girish Ramakrishnan
104318ab8c
import/restore: automatically detect prefix from the full path
2025-11-26 12:57:32 +01:00
Girish Ramakrishnan
8ec4659949
move the code block down for readability
2025-11-26 11:37:16 +01:00
Girish Ramakrishnan
ffa8ff8427
add comment
2025-11-26 11:36:14 +01:00
Girish Ramakrishnan
4ef1339ba2
filesystem: handle non-existent prefix
2025-11-26 11:25:35 +01:00
Girish Ramakrishnan
3702efdcb3
import/restore: add any prefix from the config into the remotePath
2025-11-26 10:43:00 +01:00
Girish Ramakrishnan
bbdfbe1ab7
restore: when restoring apps, use the latest backup id
...
this ignores the user provided site information. the site contents may or may
not contain this app.
2025-11-25 18:12:54 +01:00
Johannes Zellner
cc1fc5c269
login.loginTo translation is gone
2025-11-25 17:05:26 +01:00
Johannes Zellner
bc32fa64bf
Disable service restart if a service is in recovery mode
2025-11-25 16:46:30 +01:00
Johannes Zellner
cfc7de9c77
Do not poll services if they are in recoveryMode
2025-11-25 16:37:23 +01:00
Girish Ramakrishnan
945ab30373
add utils.prettySiteLocation
2025-11-25 14:52:33 +01:00
Johannes Zellner
494125227f
Keep track of services poll timers and clear them on view unload
2025-11-25 14:15:58 +01:00
Girish Ramakrishnan
a4919b06f9
services: handle disabled state explicitly
2025-11-25 13:40:52 +01:00
Girish Ramakrishnan
790ba406bf
cloudron-support: remove cloudron from arg
...
'cloudron' is a bit redundant and matches our UI text 'services'
reorder the help to be alphabetical
change cli args to plural
2025-11-25 09:42:42 +01:00
Elias Hackradt
e0367056bd
cloudron-support: add --check-cloudron-services and add it to troubleshoot
2025-11-25 09:24:30 +01:00
Girish Ramakrishnan
4bf0dc192c
import: copy all config values (s3 was missing)
2025-11-25 09:23:25 +01:00
Johannes Zellner
4575a0ddce
Fetch mailbox usage in the background to not delay mailbox listing
2025-11-24 17:32:03 +01:00
Johannes Zellner
837cbff092
Only offer local groups in user config dialog
2025-11-24 16:22:45 +01:00
Johannes Zellner
4108047644
Dump ldap group search results on sync to help finding correct configs
2025-11-24 15:46:40 +01:00
Johannes Zellner
347cf4f67d
Remove early return leftover from debugging
2025-11-24 15:02:33 +01:00
Elias Hackradt
7f9344a556
Added --check- and --apply-db-migration and add --check-db-migration to troubleshoot
2025-11-24 14:28:03 +01:00
Girish Ramakrishnan
8907b692c1
nginx: do not log query params
2025-11-24 14:11:06 +01:00
Johannes Zellner
6c0d5cb601
Remove yesno node module
2025-11-24 13:58:03 +01:00
Girish Ramakrishnan
5c69a146f6
Only show no matches placeholder after domains are loaded
2025-11-24 13:50:07 +01:00
Girish Ramakrishnan
de75ae5b9e
collectd is gone
2025-11-24 13:50:07 +01:00
Johannes Zellner
9c9e2c6a62
Better name groupId variable to be more clear
2025-11-24 13:46:05 +01:00
Girish Ramakrishnan
917c18a423
s3: ensure endpoint has a scheme
2025-11-24 12:23:52 +01:00
Johannes Zellner
aac81c2fba
Update dashboard dependencies
2025-11-24 12:08:01 +01:00
Girish Ramakrishnan
9e82839fb7
rsync: bump empty dir limit to 80k
2025-11-24 12:06:52 +01:00
Girish Ramakrishnan
ae2f74777b
rename some variables for clarity
2025-11-23 15:35:18 +01:00
Girish Ramakrishnan
4c5d67606f
remove unused variable
2025-11-23 15:03:40 +01:00
Girish Ramakrishnan
0d2a0f91c7
Update translations
2025-11-23 11:34:46 +01:00
Girish Ramakrishnan
b65fa3e2c7
make logout button standout a bit
2025-11-23 11:32:33 +01:00
Girish Ramakrishnan
e87d2e1218
Fix issue where footer/name can break templates
...
stringify the template variables at render time
JSON.stringify - will escape out quotes
<%- renders as-is without any more escaping
2025-11-23 11:17:59 +01:00
Girish Ramakrishnan
00ae320b51
remove spurious comma
2025-11-22 08:18:18 +01:00
Girish Ramakrishnan
3d46d24038
9.0.12 changes
2025-11-21 14:09:53 +01:00
Girish Ramakrishnan
8b04484ff7
Update haraka
...
deferred information and inet_prefer setting
2025-11-20 23:32:01 +01:00
Girish Ramakrishnan
7f9f3f683b
Fix outbound port 25 relay warning (prefer ipv4)
2025-11-20 16:08:54 +01:00
Johannes Zellner
fb2ce06621
Replace table in eventlog with custom elements
2025-11-20 15:43:36 +01:00
Girish Ramakrishnan
89f5e87601
use placeholder text for zone name
2025-11-20 15:15:44 +01:00
Girish Ramakrishnan
e124755363
Fix dialog title
2025-11-20 14:19:02 +01:00
Johannes Zellner
d0ccbe2786
Do not use cached service object in service edit dialog
2025-11-20 14:13:13 +01:00
Johannes Zellner
25dec602b8
Add english labels for eventlog filtering
2025-11-20 02:08:08 +01:00
Johannes Zellner
bbf7007250
appId is part of eventlog.data not toplevel
2025-11-19 23:21:27 +01:00
Johannes Zellner
2b4f8ff00d
store actual appId not oidc clientId for log in events
2025-11-19 23:21:09 +01:00
Girish Ramakrishnan
b467b58ee7
disable directoryserver logs by default
2025-11-19 17:17:41 +01:00
Girish Ramakrishnan
facefeddae
mailbox dialog: error is displayed twice
2025-11-19 17:15:08 +01:00
Girish Ramakrishnan
141bdb1307
mail: check for outbound ipv6 connectivity
2025-11-19 16:31:31 +01:00
Johannes Zellner
b53da61e7c
Always fetch enough event logs to fill the screen
2025-11-19 16:08:22 +01:00
Girish Ramakrishnan
ede93323af
remove double fullstop
2025-11-19 13:39:04 +01:00
Girish Ramakrishnan
8ccf79175a
another casing fix
2025-11-19 09:30:46 +01:00
Girish Ramakrishnan
9fa330a0a0
activation: fix casing
2025-11-18 15:01:57 +01:00
Girish Ramakrishnan
3693857960
backup schedule: fix button state with 'never'
2025-11-18 10:37:42 +01:00
Girish Ramakrishnan
c5f97e8bb0
fix parsing of cron pattern
...
in some old instances, we had "00 00 * * *" (note double space
and only 5 components).
2025-11-18 09:58:38 +01:00
Girish Ramakrishnan
2cb7b4d1ea
9.0.11 changes
2025-11-17 09:08:51 +01:00
Girish Ramakrishnan
6247cece94
backup site: create info dir of the clone site
2025-11-17 09:08:46 +01:00
Girish Ramakrishnan
417f5c3610
backup site: fix migration with mixed formats
2025-11-16 12:07:44 +01:00
Girish Ramakrishnan
3e6f3bd807
mailinglist: fix search on name
2025-11-16 11:11:17 +01:00
Girish Ramakrishnan
6346c7fe9b
mail: fix count indicator when loading
2025-11-15 11:00:54 +01:00
Girish Ramakrishnan
11c5a3f050
9.0.10 changes
2025-11-14 14:20:17 +01:00
Girish Ramakrishnan
10645b1b94
Update translations
2025-11-14 14:18:08 +01:00
Girish Ramakrishnan
e106dcd76a
storage: pass limits object to backend
2025-11-14 13:18:21 +01:00
Girish Ramakrishnan
cb30a57a59
backupcleaner: backupSite -> site
2025-11-14 13:10:27 +01:00
Girish Ramakrishnan
98da4c0011
storage: apiConfig -> config
...
to keep this in sync with site.config
2025-11-14 13:03:14 +01:00
Girish Ramakrishnan
fc0c316ef2
s3: also pick region from the config
2025-11-14 09:37:03 +01:00
Elias Hackradt
eaf363635e
Remove collectd from send_diagnostics
2025-11-13 23:07:38 +01:00
Girish Ramakrishnan
b91aa0668f
access: fix spacing
2025-11-13 23:06:37 +01:00
Johannes Zellner
53c2f5885a
Only autofocus appstore search on desktop
2025-11-13 19:54:24 +01:00
Johannes Zellner
5717f77e00
Require display name to not be empty when changed from the profile view
2025-11-13 17:42:43 +01:00
Girish Ramakrishnan
3f8dfdd938
refactor backup info into separate component
...
app backups now have the size and duration information
2025-11-13 17:22:35 +01:00
Johannes Zellner
9e1fbedc4d
Only enable LdapServer input fields if feature is enabled
2025-11-13 17:00:58 +01:00
Girish Ramakrishnan
f9eb588d4c
move up all the dialog components
2025-11-13 16:12:19 +01:00
Johannes Zellner
181ee43107
Improve user add form validation
2025-11-13 16:09:40 +01:00
Johannes Zellner
cc30bc1897
class text-error does not exist
2025-11-13 16:09:40 +01:00
Girish Ramakrishnan
1232b30e29
More 9.0.9 changes
2025-11-13 15:31:27 +01:00
Girish Ramakrishnan
03aae46880
update: show update error
2025-11-13 15:05:59 +01:00
Girish Ramakrishnan
25ce947df5
access control: always show the user management section
2025-11-13 14:42:44 +01:00
Girish Ramakrishnan
b8f486d8e4
backuptask: fix crash when (old) stats object has no copy field
2025-11-13 14:42:44 +01:00
Girish Ramakrishnan
6305ff7410
incoming mail: remove cloudflare warning, will make this a check
2025-11-13 13:19:33 +01:00
Girish Ramakrishnan
b2941894cd
Fix amdinDomain not passed to the MailRelaySettingsItem
2025-11-13 12:59:02 +01:00
Johannes Zellner
83056519ec
fs.existsSync always returns a boolean and does not throw
2025-11-13 12:26:51 +01:00
Johannes Zellner
3cdfbbac56
Fix volume dialog form validation
2025-11-13 12:11:35 +01:00
Girish Ramakrishnan
f61e85c2d6
Fix ldap server translations
2025-11-13 11:55:28 +01:00
Girish Ramakrishnan
217ebf8c33
i18n: show which string is bombing
2025-11-13 11:33:40 +01:00
Girish Ramakrishnan
b32114f2f2
backup site: fix translations
2025-11-13 11:33:40 +01:00
Johannes Zellner
6209cdbe0e
Add api token dialog can only be submitted if name is given
2025-11-13 11:26:59 +01:00
Johannes Zellner
afde81ef3e
Use a temporary identity file for remote ssh copy
2025-11-13 10:27:33 +01:00
Johannes Zellner
fbbd71e7f2
validate functions are not async
2025-11-13 10:09:34 +01:00
Johannes Zellner
54cf168b4d
Remove removeCacheFiles() backup sites are immutable now
2025-11-13 10:08:33 +01:00
Girish Ramakrishnan
c25b14976c
Fix title of uninstall and archive dialog
2025-11-13 09:23:30 +01:00
Girish Ramakrishnan
39c68075fb
Use sentence case whenever possible
2025-11-13 09:12:42 +01:00
Girish Ramakrishnan
ce15958a9a
minio: fix issue with accepting selfsigned certs
2025-11-12 14:18:34 +01:00
Girish Ramakrishnan
8d06defbcb
update dialog: fix translations
2025-11-12 12:50:53 +01:00
Girish Ramakrishnan
0d807a37d6
applink: fix button text in edit mode
2025-11-12 12:14:44 +01:00
Girish Ramakrishnan
9a0a2d84da
Fix test of unlink account dialog
2025-11-12 12:08:21 +01:00
Girish Ramakrishnan
29e2be47d0
password reset: show error message if any
2025-11-12 11:55:29 +01:00
Johannes Zellner
b2e1f66dbb
Fix opening app link edit dialog in app list view
2025-11-12 10:22:33 +01:00
Girish Ramakrishnan
bfe9ee457d
Fix formatting for plural
2025-11-12 09:00:16 +01:00
Girish Ramakrishnan
a034b70449
More translation updates
2025-11-11 23:44:42 +01:00
Johannes Zellner
4226654772
Fixup access control component to cover all cases
2025-11-11 19:40:07 +01:00
Johannes Zellner
4ea8ab08a3
Only allow service configuration once we have fetched all service states
2025-11-11 18:18:50 +01:00
Johannes Zellner
702fc120af
Actually setr the defaultMemoryLimit from the service
2025-11-11 18:01:04 +01:00
Johannes Zellner
9453084481
Update translations
2025-11-11 17:45:51 +01:00
Girish Ramakrishnan
c6dbbc4135
services: edit -> configure
2025-11-11 17:09:10 +01:00
Girish Ramakrishnan
ddc53bcb6f
app: set eventlog header style like in other views
2025-11-11 16:48:17 +01:00
Girish Ramakrishnan
e50509ac45
Translation updates
2025-11-11 16:39:13 +01:00
Girish Ramakrishnan
2ddba469b2
9.0.8 changelog
2025-11-11 09:21:39 +01:00
Girish Ramakrishnan
4e1b2ccbaa
dashboard module updates
2025-11-11 09:01:28 +01:00
Girish Ramakrishnan
e0b8a2400a
Update marked
2025-11-11 08:59:57 +01:00
Girish Ramakrishnan
151ba569a7
Update pankow and friends
2025-11-11 08:59:12 +01:00
Johannes Zellner
2cb755fe44
Format ssh private key on input
2025-11-10 17:25:38 +01:00
Girish Ramakrishnan
eeef49fd19
email: fix masquerade toggle
2025-11-10 17:13:58 +01:00
Girish Ramakrishnan
6b2626120c
Translation fixes
2025-11-10 16:19:06 +01:00
Johannes Zellner
e77ab26516
Update pankow
2025-11-10 15:52:03 +01:00
Johannes Zellner
dbaf6c6ce2
Use full URLs for page preview icons and favicon
2025-11-10 15:21:22 +01:00
Johannes Zellner
5e295f9f1e
Cloudron avatar URL comes from the meta header
2025-11-10 15:21:22 +01:00
Girish Ramakrishnan
8d3b655517
Fix incorrect padding
2025-11-10 13:30:39 +01:00
Girish Ramakrishnan
64cefd52c8
search: fix domain search to include redirect/alias/secondary domains
2025-11-10 13:30:39 +01:00
Johannes Zellner
edb92ed0a5
ImagePicker should always return a png data url
2025-11-10 11:53:40 +01:00
Girish Ramakrishnan
a8513cc0fa
search: also search in manifest title
2025-11-10 11:26:51 +01:00
Girish Ramakrishnan
20d4ce6632
add fsused to block_devices output
2025-11-10 11:01:19 +01:00
Girish Ramakrishnan
d8c3ce30ca
lint
2025-11-10 10:27:24 +01:00
Girish Ramakrishnan
d894de0784
cloudflare: ensure defaultProxyStatus in older configs
...
in Cloudron 9, we introduced an automated domain credentials check.
when checking with older cloudflare configs, this fails.
2025-11-10 10:18:32 +01:00
Girish Ramakrishnan
572bd19df6
Yet more translation fixes
2025-11-07 19:03:07 +01:00
Girish Ramakrishnan
4fd399eae9
Fix dialog titles
2025-11-07 17:49:51 +01:00
Johannes Zellner
f7f55710d1
Do not share relay provider setting with view and form
...
Fixes #866
2025-11-07 13:11:07 +01:00
Johannes Zellner
18815b97ce
Explicitly define busy ref in EmailDomainsView
2025-11-07 12:46:04 +01:00
Johannes Zellner
c4fce32a6a
Fix warning as ClipboardAction needs a string as value
2025-11-07 12:11:01 +01:00
Girish Ramakrishnan
9ed5f43ea1
More translation fixes
2025-11-07 12:09:38 +01:00
Johannes Zellner
232bce0a2d
Fix size props in ImagePicker
2025-11-07 12:04:48 +01:00
Johannes Zellner
27f975f3c5
Ensure we pass users and groups to the AccessControl component
2025-11-07 11:03:02 +01:00
Girish Ramakrishnan
5b834b4396
user add: hide active checkbox
2025-11-07 10:15:22 +01:00
Girish Ramakrishnan
52b46e2b3e
Fix typo that allowed primary domain to be deleted
2025-11-07 09:44:06 +01:00
Girish Ramakrishnan
044fb72da9
change placeholder as helper-text
2025-11-07 09:41:04 +01:00
Girish Ramakrishnan
0cf911bcdd
more translation fixes
2025-11-07 09:08:56 +01:00
Girish Ramakrishnan
829512dd13
Fix tests
2025-11-06 18:01:35 +01:00
Johannes Zellner
fa886c71b8
Avoid overflowing when textarea does not fit but also don't break lines
2025-11-06 16:50:45 +01:00
Johannes Zellner
21191bdc50
Give sshfs identity files unique filenames across mounts
...
If the same host was mounted as volume and backup or as a temporary
backup import, sharing the filename of the identify file would mean it
will get removed while still in use
2025-11-06 16:25:06 +01:00
Johannes Zellner
1bf2fe16a2
Fix AppImport dialog prefill from config to match BackupProviderForm inputs
2025-11-06 14:35:12 +01:00
Johannes Zellner
c35543af92
Fix mailbox usage and quota sorting
2025-11-06 13:51:39 +01:00
Johannes Zellner
9bb71bd066
helpPopover is not notificationPopover
2025-11-06 12:30:16 +01:00
Girish Ramakrishnan
f24e4f291d
remove fullstops in some phrases
2025-11-06 11:37:29 +01:00
Girish Ramakrishnan
32ab9a9d32
location: fix various spacing issues
2025-11-06 11:36:58 +01:00
Girish Ramakrishnan
8b520dec48
portbindings: only show portCount when > 1
2025-11-06 10:31:42 +01:00
Girish Ramakrishnan
70c539ac4d
mounts: remove loopback type
...
this is left over code from trying to implement size restricted data dir
2025-11-05 18:29:47 +01:00
Johannes Zellner
610651066a
Fix tgz app backup download
...
Fixes #868
2025-11-05 18:14:48 +01:00
Johannes Zellner
aaa750dbbc
email eventlog only has 5 columns
2025-11-05 17:55:11 +01:00
Girish Ramakrishnan
a518ee83cc
backups: show same filesystem warning
...
fixes #867
2025-11-05 16:58:22 +01:00
Girish Ramakrishnan
de84b5113c
mounts: always return message when getting status
2025-11-05 16:52:32 +01:00
Girish Ramakrishnan
2ea7847d4f
Add explicit option to disable automatic backups
...
Fixes #869
2025-11-05 15:51:15 +01:00
Girish Ramakrishnan
0650fca1cf
Add description tag
2025-11-05 15:39:07 +01:00
Girish Ramakrishnan
1b5bd0d379
Enclose form in FormGroup
2025-11-05 15:36:55 +01:00
Girish Ramakrishnan
5b6f796606
Rename BackupScheduleDialog.vue to BackupSiteScheduleDialog.vue
2025-11-05 13:41:13 +01:00
Girish Ramakrishnan
9d6a755486
backup site: make config the first option
2025-11-05 13:37:59 +01:00
Girish Ramakrishnan
9470654394
9.0.7 changes
2025-11-04 09:22:15 +01:00
Girish Ramakrishnan
28feadd6c5
typo: forgot to amend previous commit
2025-11-04 09:20:12 +01:00
Girish Ramakrishnan
af3ed04b7f
externalldap: only set group members if they changed
2025-11-04 09:12:25 +01:00
Girish Ramakrishnan
2da99673cd
do not store "null" as string in database
...
in other news, JSON.parse('null') returns null.
2025-11-04 09:02:58 +01:00
Girish Ramakrishnan
476adcb029
show upstreamVersion and not package version
2025-11-03 17:04:03 +01:00
Johannes Zellner
b2c8f87276
Auto-dismiss notifications popover if no unread notifications exist
2025-11-03 15:32:01 +01:00
Girish Ramakrishnan
bd4e132709
More changes
2025-11-03 13:24:15 +01:00
Johannes Zellner
fa8fcf8761
Support wildcard domain aliases in app location form
...
fixes #870
2025-11-03 12:00:00 +01:00
Johannes Zellner
8e92b53d9f
Show app icons in the grid in grayscale if app is stopped
2025-11-03 11:28:54 +01:00
Girish Ramakrishnan
6f90bd3db0
9.0.6 changes
2025-11-03 10:45:52 +01:00
Johannes Zellner
a261d8b754
Do not allow unlinking from cloudron.io account in demo mode
2025-10-31 08:47:05 +01:00
Johannes Zellner
9643b7ed1b
Filter dropdowns are searchable with more than 10 entries
2025-10-30 16:06:47 +01:00
Johannes Zellner
ec191d51bc
Sort apps in the grid by label
2025-10-30 16:01:03 +01:00
Johannes Zellner
a5452e4b15
Fix filemanager for custom apps
2025-10-27 16:29:31 +01:00
Johannes Zellner
8522802f85
Update translations
2025-10-27 08:48:24 +01:00
Girish Ramakrishnan
6f2e3afe07
email: Fix display of inbound domains
2025-10-22 19:31:59 +02:00
Girish Ramakrishnan
70dfb41d95
email domains: fix display of stats
2025-10-22 19:23:15 +02:00
Girish Ramakrishnan
34f04828c5
Fix casing in translations
...
dashboard/README.md has information of the casing style
2025-10-22 18:40:20 +02:00
Girish Ramakrishnan
a78799973d
translation string typo
2025-10-22 18:33:12 +02:00
Girish Ramakrishnan
1797148951
warning label should appear above advanced
2025-10-22 16:43:33 +02:00
Girish Ramakrishnan
67caa89591
Treescale is gone
2025-10-22 14:53:24 +02:00
Girish Ramakrishnan
e3a88e9f5b
change default dns provider to digitalocean
...
hetzner provider is getting obsoleted and hetznercloud provider is in beta
2025-10-22 13:30:34 +02:00
Girish Ramakrishnan
e9910c9b95
fix casing in a few places
2025-10-22 12:37:50 +02:00
Johannes Zellner
45e058bdc1
Use translated string for outbound in email domains view
2025-10-22 12:17:05 +02:00
Girish Ramakrishnan
9af5404921
add translation text notes
2025-10-22 11:34:08 +02:00
Johannes Zellner
5c4ca1b699
Make backup content list a TableView so we can sort it by size and fileCount
2025-10-21 23:56:16 +02:00
Johannes Zellner
b6827736db
All settings in sidebar should be same icon
2025-10-21 22:53:37 +02:00
Johannes Zellner
aada3f3979
Autofocus search in appstore view
2025-10-21 22:33:37 +02:00
Girish Ramakrishnan
dc07078fd4
set label for alias
2025-10-21 17:00:57 +02:00
Girish Ramakrishnan
ae8278bdb3
Use dashboard domain as default and not [0]
2025-10-21 16:44:38 +02:00
Girish Ramakrishnan
286de8cdcb
Update manifest format
2025-10-21 14:19:45 +02:00
Girish Ramakrishnan
ca11d5af94
9.0.5 changes
2025-10-21 13:57:15 +02:00
Girish Ramakrishnan
fb04f78112
backupcleaner: fix listing of backups by site
2025-10-21 13:56:08 +02:00
Girish Ramakrishnan
75fa2dfd67
remove unused import
2025-10-21 13:41:12 +02:00
Johannes Zellner
137267e604
Update pankow
2025-10-21 12:44:21 +02:00
Johannes Zellner
642487f4c5
Handle validitiy state in backup site adding dialog
2025-10-21 12:44:04 +02:00
Girish Ramakrishnan
783ad9ecda
Fix hourly display
2025-10-21 11:11:40 +02:00
Johannes Zellner
0213a368b9
Use normal buttons for app start/stop
2025-10-21 10:10:26 +02:00
Girish Ramakrishnan
f1e7594b79
Remove deleted users and groups in operators and access control
...
Fixes #857
2025-10-20 21:18:35 +02:00
Girish Ramakrishnan
02fd52e366
Remove any deleted group and user from operators and accessRestriction
...
part of #857
2025-10-20 16:51:23 +02:00
Girish Ramakrishnan
2d5e0a51bd
add more to changelog
2025-10-20 15:23:57 +02:00
Johannes Zellner
1cd82dcd4c
Revert old hetzner dns api file
2025-10-20 15:17:02 +02:00
Johannes Zellner
5ba30d0236
add hetznercloud DNS provider
2025-10-20 15:05:19 +02:00
Girish Ramakrishnan
c0ea5c31eb
Fix typo in app count
2025-10-20 15:03:15 +02:00
Johannes Zellner
adee5fa25f
Allow fonts loaded as inline data URI for the dashboard
...
Fixes #859
2025-10-20 15:01:16 +02:00
Girish Ramakrishnan
f9af84fd85
9.0.4 changes
2025-10-20 14:58:44 +02:00
Girish Ramakrishnan
41cb381a2e
backups: display the size and duration in info
2025-10-20 14:58:06 +02:00
Johannes Zellner
50ca07bfb8
login.signInAction is actually called login.loginAction
2025-10-20 14:53:57 +02:00
Girish Ramakrishnan
07732310c1
backuptask: track copy and upload statistics
2025-10-20 14:09:12 +02:00
Girish Ramakrishnan
854661e2d4
backuptask: print the upload statistics
2025-10-20 11:22:28 +02:00
Johannes Zellner
8cac83ed98
Add script to find and purge unused translations
2025-10-20 09:55:19 +02:00
Johannes Zellner
5ee8e9da80
Bring back filemanager translations
2025-10-20 09:53:49 +02:00
Johannes Zellner
f5c81f5882
Use browser locales API to generate language labels
2025-10-20 09:04:29 +02:00
Girish Ramakrishnan
a415b70adf
Use marked.parseInline to not generate top level <p>
2025-10-18 11:00:46 +02:00
Johannes Zellner
800a7e26e9
Move update checker button back down
2025-10-18 09:47:36 +02:00
Johannes Zellner
1bc9dc30f6
Render oidc error page instead of showing a httperror if interaction is invalid
...
Fixes #862
2025-10-17 23:43:21 +02:00
Johannes Zellner
7d538ee1b8
wait for next eventloop to focus on login error
2025-10-17 23:18:02 +02:00
Johannes Zellner
ac5f4cca19
Update frontend dependencies
2025-10-17 23:13:53 +02:00
Johannes Zellner
54a5d5b9aa
Improve the app list a bit
2025-10-17 21:13:10 +02:00
Girish Ramakrishnan
5c4ec5afc0
More 9.0.3 changes
2025-10-17 20:44:07 +02:00
Girish Ramakrishnan
5bd6001f95
boxerror: details is not a subobject
2025-10-17 20:42:19 +02:00
Johannes Zellner
0fb8914b67
App list is for pro-users they need config action without extra click
2025-10-17 20:25:17 +02:00
Johannes Zellner
1f6ac49686
Fix spacing on location domain error
2025-10-17 19:50:27 +02:00
Johannes Zellner
42887fb1d9
app.error.details is gone, should have never happened
...
Check BoxError.toPlainObject() for more
2025-10-17 19:46:08 +02:00
Girish Ramakrishnan
f14a7808cb
move update notification and eventlog after the task update
2025-10-17 19:11:02 +02:00
Johannes Zellner
a781a46f13
Do not sort dashboard domain first in the REST api
2025-10-17 18:55:22 +02:00
Johannes Zellner
6941a12314
Give domains list a larger max-height
2025-10-17 18:45:43 +02:00
Johannes Zellner
f0e70a97bc
Move configure action to the top of the app list menu
2025-10-17 18:32:31 +02:00
Johannes Zellner
c59e3ef4ae
Fix app list label sorting
2025-10-17 18:30:55 +02:00
Girish Ramakrishnan
2bfdc7c1ac
Add "Cloudron Dashboard" in index.html
...
cloudron-support --troubleshoot relies on this
2025-10-17 18:18:52 +02:00
Johannes Zellner
d831e7d765
Purge all unused translations
2025-10-17 18:02:13 +02:00
Johannes Zellner
fe8ef5b922
Only show the section filter-bar container div if used
2025-10-17 17:41:38 +02:00
Girish Ramakrishnan
2c150eee33
9.0.3 changes
2025-10-17 17:15:13 +02:00
Girish Ramakrishnan
a4d6bafe1a
Change default footer to not have the forum link
...
it looks better without it
2025-10-17 17:04:34 +02:00
Johannes Zellner
78017b8adb
Update translations
2025-10-17 16:46:56 +02:00
Girish Ramakrishnan
ea822f66ca
reload: fix issue where the version is null on first visit
2025-10-17 16:41:33 +02:00
Girish Ramakrishnan
a55adf12db
More robust root disk detection
2025-10-17 16:34:51 +02:00
Johannes Zellner
84c016490c
Link apps and volumes in disk usage listing
2025-10-17 14:30:16 +02:00
Johannes Zellner
bb7056d614
Revert "Add dynamic app grid spacing to always fill full width"
...
This reverts commit f37dd03e4b .
2025-10-17 13:22:54 +02:00
Johannes Zellner
462b490d05
Revert "css styles need units..."
...
This reverts commit 15c8f84960 .
2025-10-17 13:22:44 +02:00
Girish Ramakrishnan
084050bb2f
network: fix ip caching bug
...
when the promise request errors, it is not cleared. this means that
future requests always fail.
2025-10-17 12:40:28 +02:00
Girish Ramakrishnan
8d2ea7e736
Fix styling in public page
...
make the cloudron name bolder
on mobile, form fields must be aligned left. make logo smaller to
not make the left aligned form fields better.
2025-10-17 11:45:42 +02:00
Girish Ramakrishnan
fe8d5b0d3e
Login -> Log in
2025-10-17 11:13:10 +02:00
Johannes Zellner
de724319aa
Move logo and cloudron name slightly up in login page
2025-10-17 09:17:17 +02:00
Johannes Zellner
ac91b417c3
Attempt to improve public view layout
2025-10-17 00:10:09 +02:00
Johannes Zellner
229863d7ff
Make eventlog and email eventlog table layouts a lot more predictable
2025-10-16 23:26:58 +02:00
Johannes Zellner
8dcb3f2f85
Fix update schedule configuration
2025-10-16 23:17:05 +02:00
Johannes Zellner
15c8f84960
css styles need units...
2025-10-16 22:49:04 +02:00
Johannes Zellner
f37dd03e4b
Add dynamic app grid spacing to always fill full width
2025-10-16 22:42:11 +02:00
Johannes Zellner
82c97f7e1c
Move app start/stop back to the main toolbar
2025-10-16 22:26:26 +02:00
Johannes Zellner
91078f7a7e
Uninstall close is only a secondary button
2025-10-16 22:07:39 +02:00
Johannes Zellner
d2775956e0
Hide non-owner actions for backup sites
2025-10-16 21:50:43 +02:00
Johannes Zellner
00b52fa3af
Fix diskusage item margins
2025-10-16 21:37:36 +02:00
Girish Ramakrishnan
1ac0ed3c18
Use util.getColor to generate colors
2025-10-16 17:39:52 +02:00
Johannes Zellner
6ec8246b46
Add missing autocomplete attributes on forms
2025-10-16 16:09:22 +02:00
Johannes Zellner
f5978a524d
Refresh backup site status and task in the background
2025-10-16 15:41:52 +02:00
Girish Ramakrishnan
72030ee8fc
backups: display mail backup stats
2025-10-16 14:51:33 +02:00
Girish Ramakrishnan
d6a4dd6965
backup sites: fix listing when status call errors
...
* fix backend to not retry in status call
* fix frontend to continue loading view if status errors
* fix connect-lastmile to show the exact path that is timing out
2025-10-16 14:13:31 +02:00
Johannes Zellner
8aa5dc85af
Move ip settings buttons into the Section for consistency
2025-10-16 13:19:00 +02:00
Johannes Zellner
5c7f99c0ee
Show current Cloudron version and if on latest in update view
2025-10-16 12:48:49 +02:00
Girish Ramakrishnan
847cb91759
backuptask: fix crash when accessing stats of old backups
2025-10-16 12:32:32 +02:00
Johannes Zellner
9e92d08261
Avoid flickering of SystemUpdate view when update is busy
2025-10-16 12:12:59 +02:00
Johannes Zellner
bf8e03aa0c
Indicate app title in configure view is a link
2025-10-15 23:38:09 +02:00
Johannes Zellner
fcd05f3bb4
Fix submit state for login form
2025-10-15 23:38:09 +02:00
Girish Ramakrishnan
a14dfc171d
add current release file
2025-10-15 23:00:31 +02:00
Girish Ramakrishnan
b8b445eb24
Update lock file
2025-10-15 22:49:18 +02:00
Girish Ramakrishnan
fbf4a53a1b
Add 9.0.2 changes
2025-10-15 22:47:51 +02:00
Girish Ramakrishnan
0c7e810bd3
graphs: set x-axis using absolute time in advance()
...
setInterval() won't be reliably fired by the browser when the tab
is backgrounded!
2025-10-15 22:43:58 +02:00
Johannes Zellner
0502779a29
Ensure the email size range slider fits the screen on mobile
2025-10-15 22:23:27 +02:00
Johannes Zellner
576d9ca894
Add getColor() to utils
2025-10-15 21:51:17 +02:00
Johannes Zellner
d8771509cd
Fix diskusage colors
2025-10-15 21:47:29 +02:00
Girish Ramakrishnan
b139749198
graphs: rebuild container on combo box close
2025-10-15 20:56:21 +02:00
Johannes Zellner
bdcb5c502c
Add new filter bar slot for Section component which teleports on mobile
2025-10-15 20:33:37 +02:00
Johannes Zellner
dc72df1dbd
Show error dialog if manual cloudron update failed
2025-10-15 18:02:07 +02:00
Johannes Zellner
8be834d0c8
Always start with a fresh domains list for the apps filter
2025-10-15 15:52:25 +02:00
Johannes Zellner
c995454f69
Make sure the no apps placeholder does not take up layout space
2025-10-15 15:44:24 +02:00
Girish Ramakrishnan
854e0ebe3f
sidebar: email domains, eventlog, settings is only for admins
2025-10-15 14:56:55 +02:00
Girish Ramakrishnan
f01d2631dd
sidebar: ldap/openid/directory should not be visible to non-admins
2025-10-15 14:37:27 +02:00
Girish Ramakrishnan
60f8cdf3b4
email settings: fix description spacing
2025-10-15 14:17:55 +02:00
Girish Ramakrishnan
8e5bf14623
login: fix spacing around the demo note
2025-10-15 14:02:41 +02:00
Girish Ramakrishnan
b063ebd6d7
reload dashboard on version change
2025-10-15 13:46:52 +02:00
Johannes Zellner
eb7d7a2d1b
Show disk usage content name delivered from the backend
2025-10-15 12:19:15 +02:00
Girish Ramakrishnan
f9ee088592
Add 9.1.0 changes
2025-10-15 12:08:39 +02:00
Girish Ramakrishnan
1f32d4b4dd
sysinfo: if product name is empty use product family
2025-10-15 12:06:32 +02:00
Girish Ramakrishnan
d3b4c2f394
add note on confusing naming
2025-10-15 11:59:35 +02:00
Girish Ramakrishnan
41c00eda74
metrics: fix root device detection
...
the existing logic does not work for device like /dev/md1 (on the dedis)
2025-10-15 11:32:09 +02:00
Johannes Zellner
155af33b0c
Revert to not use a 2 column grid for disk items
2025-10-15 11:12:10 +02:00
Johannes Zellner
b289146aeb
Only check once for the default backup location for metrics
2025-10-15 11:06:42 +02:00
Johannes Zellner
d2e32a4fd0
Only allow to submit apppassword dialog if valid
2025-10-15 10:19:16 +02:00
Johannes Zellner
6631c95166
backup.stats may be null
2025-10-14 20:33:47 +02:00
Johannes Zellner
7adabcc203
Avoid much flickering on disk graph item hover
2025-10-14 17:23:45 +02:00
Johannes Zellner
de35a935a6
Ensure mail server location does not overflow the view
2025-10-14 16:54:52 +02:00
Girish Ramakrishnan
d3d668d930
archive: display the site name of latest backup
2025-10-14 16:54:42 +02:00
Girish Ramakrishnan
1f60c6dd21
Remove max-height from the users view and groups view tables
2025-10-14 16:20:34 +02:00
Johannes Zellner
1431700642
Improve mailbox owner type detection for showing the icon in the multiselect
2025-10-14 15:48:27 +02:00
Girish Ramakrishnan
12a1de56fd
backupsite: only owner can add a site
2025-10-14 15:46:47 +02:00
Girish Ramakrishnan
4267208f28
Revert "move dnsExists error below location field"
...
This reverts commit b2fc7df06d .
This doens't always work because we can have multiple location fields
2025-10-14 15:23:25 +02:00
Johannes Zellner
25d6ec157f
Check for statsLine not blockDevice
2025-10-14 15:22:57 +02:00
Girish Ramakrishnan
b2fc7df06d
move dnsExists error below location field
2025-10-14 14:48:52 +02:00
Girish Ramakrishnan
c875371db9
Update pankow
2025-10-14 14:41:19 +02:00
Girish Ramakrishnan
dd7818b960
hide separator if not admin
2025-10-14 14:29:16 +02:00
Girish Ramakrishnan
0dd6446f3e
apps: add route to list sites for operators
...
the main backup listing route is only available for admins
2025-10-14 14:22:41 +02:00
Johannes Zellner
579dc4959b
Move ephemeral port help link out of the translation
2025-10-14 10:23:34 +02:00
Johannes Zellner
27c3170c80
Hide attempt to show favorite actions in users view for now
2025-10-14 10:12:14 +02:00
Girish Ramakrishnan
7b275008b5
Just say "Copied"
2025-10-14 09:12:13 +02:00
Girish Ramakrishnan
2cfea229fd
Make app installation dialog smaller
2025-10-13 14:34:37 +02:00
Girish Ramakrishnan
e349193745
Fix tests
2025-10-13 13:14:50 +02:00
Girish Ramakrishnan
45d68c4da8
shell: set utf8 encoding explicity for spawn and as the default for sudo
2025-10-13 13:14:50 +02:00
Girish Ramakrishnan
36d443fa36
9.0.1 changes
2025-10-13 09:45:29 +02:00
Girish Ramakrishnan
8549663ed0
backupsites: do not mutate caller's config object
2025-10-13 09:39:06 +02:00
Johannes Zellner
73b2feae59
Refresh backup list view when backup site is removed
2025-10-10 17:23:28 +02:00
Johannes Zellner
0871b416a7
Center login view elements on mobile
2025-10-10 17:16:50 +02:00
Johannes Zellner
767bfba670
Calculate apps view item width early to avoid flickering
2025-10-10 16:51:15 +02:00
Johannes Zellner
019cbeb617
Use css grid for DiskItems to avoid reordering
2025-10-10 16:50:14 +02:00
Girish Ramakrishnan
a7d8a8fd1f
godaddy: add missing customNameservers check
2025-10-10 16:31:01 +02:00
Johannes Zellner
f7e073c857
Move custom nameserver checkbox into the shared domain config component
2025-10-10 16:30:47 +02:00
Girish Ramakrishnan
2fdb3668e2
Fix misleading comment
2025-10-10 16:26:40 +02:00
Johannes Zellner
f1aee1d9a4
Support custom certificates for domains again
2025-10-10 16:10:16 +02:00
Johannes Zellner
057f75ca5f
Move domain zoneName into common advanced component
2025-10-10 14:47:15 +02:00
Johannes Zellner
314654f319
Fix system update link, which curiously had /docker
2025-10-10 14:28:02 +02:00
Girish Ramakrishnan
961959d361
add aggregated size to system backups
2025-10-10 13:14:49 +02:00
Girish Ramakrishnan
d603ea50e2
Fix email incoming enable translation
2025-10-10 11:16:04 +02:00
Johannes Zellner
3b7bc6beba
Calculate better app grid item widths based on view width
2025-10-10 10:55:26 +02:00
Johannes Zellner
e437168e87
Add invisible button to location input to align the domain input widths
2025-10-10 09:53:19 +02:00
Johannes Zellner
cf7d735c56
Fix table flickering in services view
2025-10-09 17:43:51 +02:00
Girish Ramakrishnan
b2a41cc4d5
Add site name for backup events
2025-10-09 17:30:02 +02:00
Johannes Zellner
5bc3cb6353
Only update the backup site name if changed
2025-10-09 17:25:26 +02:00
Girish Ramakrishnan
e6024ac85b
eventlog: rename backup site logs and fix eventlog summar
2025-10-09 17:24:33 +02:00
Johannes Zellner
4f6fac2336
Show link to task logsviewer from eventlog if event has a taskId
2025-10-09 16:59:31 +02:00
Johannes Zellner
12feb68bf0
Show explicit logs button for backup task logs
2025-10-09 16:45:03 +02:00
Johannes Zellner
d5d325bf4e
Show email relay info in mail domain listing
2025-10-09 16:16:28 +02:00
Johannes Zellner
47ae1443d1
Make email relay provider info more usable in other components
2025-10-09 15:56:00 +02:00
Johannes Zellner
63b51d2fca
Rework dashboard domain component to not depend on external domains list prop
2025-10-09 15:18:00 +02:00
Girish Ramakrishnan
3547be3401
Update redis to 8.2.2
...
https://redis.io/blog/security-advisory-cve-2025-49844/
2025-10-09 14:35:52 +02:00
Johannes Zellner
a038028c3b
Move app backup listing below the backup create button
2025-10-09 14:22:00 +02:00
Johannes Zellner
40cc12e568
Make app backup progress message a link to the logsviewer
2025-10-09 14:14:27 +02:00
Johannes Zellner
4a1a915add
Show explicit label for backup and filename encryption if enabled
2025-10-09 13:26:20 +02:00
Girish Ramakrishnan
3096b67b76
init dialog with correct tls config
2025-10-09 13:08:52 +02:00
Johannes Zellner
3acceca32f
Add support to configure preserveAttributes and chown for backup sites
2025-10-09 13:07:04 +02:00
Johannes Zellner
e8e05159d8
Support changing hardlinks if applicable
2025-10-09 12:44:25 +02:00
Johannes Zellner
ae0c7390f2
Remove handling of non-ediable fields in backupsite config dialog
2025-10-09 12:31:31 +02:00
Girish Ramakrishnan
11f2acd702
init data with initial config and only mutate what we allow editing
2025-10-09 12:20:59 +02:00
Johannes Zellner
1759e257c4
Handle backup site name error
2025-10-09 12:09:13 +02:00
Johannes Zellner
3e86c59607
Always submit S3 config even if nothing has changed
2025-10-09 12:05:10 +02:00
Johannes Zellner
dfe5b6b1f2
Fixup backup site config dialog to handle S3
2025-10-09 11:58:20 +02:00
Girish Ramakrishnan
b0026eafb5
remove various ng-
2025-10-09 10:58:58 +02:00
Johannes Zellner
67519fb203
Add missing backup site translations
2025-10-09 10:33:56 +02:00
Johannes Zellner
7f4a9d6016
Split backup site config and contents
2025-10-09 10:26:54 +02:00
Girish Ramakrishnan
317f6e77d4
Add space between description and port count
2025-10-09 09:43:14 +02:00
Girish Ramakrishnan
5fcfd32f6c
add ephemeral port warning
2025-10-09 09:31:35 +02:00
Girish Ramakrishnan
0fd056dff9
add note why the backupinfo is unencrypted
2025-10-09 09:04:22 +02:00
Girish Ramakrishnan
10cf8f1d0e
rsync: integrity fixes
2025-10-09 00:23:44 +02:00
Girish Ramakrishnan
67d95cda76
store integrity signature in hex
2025-10-08 22:35:39 +02:00
Johannes Zellner
3ac66f9dd4
Make backup task progress message a link to the task logs
2025-10-08 21:52:55 +02:00
Girish Ramakrishnan
43e426ab9f
Revert "Add no-use-before-define linter rule"
...
This reverts commit fdcc5d68a2 .
Unfortunately, this requires us to move exports to the bottom.
This in turn causes circular dep issues and also access of
exports.GLOBAL_VAR in the global context
2025-10-08 21:17:52 +02:00
Johannes Zellner
a5224258c3
Allow to change backup provider secrets pending error feedback
2025-10-08 20:40:40 +02:00
Girish Ramakrishnan
ab3a2911c3
do not attach v-if to the form since we cannot find it by ref anymore
2025-10-08 20:06:05 +02:00
Girish Ramakrishnan
1cdcab6047
SECRET_PLACEHOLDER is not used anymore
2025-10-08 20:01:31 +02:00
Girish Ramakrishnan
2ad8ed5550
relay: remove usage of secret placeholder
2025-10-08 20:01:18 +02:00
Girish Ramakrishnan
9226baa63c
externalldap: remove usage of secret placeholder
2025-10-08 19:42:35 +02:00
Girish Ramakrishnan
b790d085bb
volumes: remove usage of secret placeholder
2025-10-08 18:05:30 +02:00
Johannes Zellner
933d5c9139
Use consistent style to only disable dialog close button if dialog submission is busy
2025-10-08 16:49:05 +02:00
Girish Ramakrishnan
2c5fd7effa
Fix test
2025-10-08 16:47:30 +02:00
Girish Ramakrishnan
f5a5bebae6
dockerregistries: remove usage of secret placeholder
2025-10-08 16:40:43 +02:00
Girish Ramakrishnan
f2316ec84e
storage: remove usage of secret placeholder
2025-10-08 15:49:56 +02:00
Girish Ramakrishnan
84165e5342
Add required to SingleSelect but pankow does not support this
2025-10-08 15:28:34 +02:00
Johannes Zellner
f65dab114e
Reduce Package Version to Version for apps backups
2025-10-08 15:23:30 +02:00
Girish Ramakrishnan
4ad7504be6
remove inline style in Checkbox
2025-10-08 14:59:15 +02:00
Girish Ramakrishnan
e9318d7f11
cloudflare: when proxying is enabled, use a valid IP
2025-10-08 14:50:00 +02:00
Girish Ramakrishnan
01d7d41c17
domains: remove SECRET_PLACEHOLDER from responses
2025-10-08 14:32:24 +02:00
Girish Ramakrishnan
f1fb5f2530
pass a copy when opening dialog
...
otherwise, any changes the dialog makes will reflect in the calling
view's object
2025-10-08 14:06:32 +02:00
Johannes Zellner
ea28c10a39
Ensure SystemBackupList is refreshed and tracks new backup or cleanup tasks
2025-10-08 13:45:18 +02:00
Johannes Zellner
6c84681f35
Show list instead of table for app eventlogs on mobile
2025-10-08 12:06:30 +02:00
Johannes Zellner
edb3aea880
Rename platform backups to system backups
2025-10-08 11:21:12 +02:00
Girish Ramakrishnan
f898925bc0
tasks: update the state of crashed tasks
2025-10-08 11:16:26 +02:00
Girish Ramakrishnan
f3be7aa763
lint
2025-10-08 11:06:24 +02:00
Johannes Zellner
71c52a87ec
Add backup task cancel button if task is active
2025-10-08 11:01:59 +02:00
Johannes Zellner
8c786f38ab
Translate last backup run for sites
2025-10-08 11:01:59 +02:00
Girish Ramakrishnan
6bc5826c86
use prettyLongDate in the eventlog timestamps
2025-10-08 10:54:11 +02:00
Girish Ramakrishnan
90e36c4552
add more description tags
2025-10-08 10:43:38 +02:00
Johannes Zellner
f83bd2e3b7
No need to show extra error label in backup site last run on error
2025-10-08 10:34:30 +02:00
Girish Ramakrishnan
367eb1b1e1
checkbox has the needed spacing now
2025-10-08 10:32:08 +02:00
Johannes Zellner
91e21d69db
Remove toplevel backup list view
2025-10-08 09:10:04 +02:00
Johannes Zellner
5bcfea161f
Move platform backup listing to backup sites view
2025-10-08 09:07:54 +02:00
Girish Ramakrishnan
a9e0ee81ce
backup site: init prefix on open
2025-10-07 22:22:57 +02:00
Girish Ramakrishnan
c37c513067
Update pankow
2025-10-07 21:18:33 +02:00
Girish Ramakrishnan
c0972b3e14
restore: add ... animation
2025-10-07 21:07:30 +02:00
Girish Ramakrishnan
1b91ae1ab3
restore: display error on top
2025-10-07 20:51:57 +02:00
Girish Ramakrishnan
4a462597fd
restore: fix display of error
2025-10-07 20:42:14 +02:00
Girish Ramakrishnan
505c71855e
retry download only 3 times
2025-10-07 20:42:04 +02:00
Girish Ramakrishnan
2ba0d716d1
do not validate password when restoring
2025-10-07 19:57:20 +02:00
Girish Ramakrishnan
35ab03c392
restore: do not hide encryption in advanced section
2025-10-07 19:54:20 +02:00
Girish Ramakrishnan
ddb7551b92
integrity: store signature as base64
2025-10-07 18:42:51 +02:00
Johannes Zellner
fdcc5d68a2
Add no-use-before-define linter rule
2025-10-07 17:43:35 +02:00
Girish Ramakrishnan
ac7c32ad4c
backups: log encryption and format in upload
2025-10-07 17:42:51 +02:00
Girish Ramakrishnan
e93898d2ec
typo that broke encryption
2025-10-07 17:42:51 +02:00
Johannes Zellner
22fe27da9c
Avoid table column width jumping when table-actions have favorites
2025-10-07 17:34:21 +02:00
Johannes Zellner
e31164140c
Revert "Improve showing favorites on desktop"
...
This reverts commit d3731ff339 .
2025-10-07 17:26:57 +02:00
Johannes Zellner
7d53eeb7f5
Add better grouping to mailbox owner select
2025-10-07 17:20:03 +02:00
Johannes Zellner
d3731ff339
Improve showing favorites on desktop
2025-10-07 17:20:03 +02:00
Girish Ramakrishnan
02ba2fe59b
encryption: do not allow password and hint to be the same
2025-10-07 16:52:39 +02:00
Johannes Zellner
55091cfe8d
Attempt to add table row action favorites in users view
2025-10-07 14:54:25 +02:00
Johannes Zellner
f6e14a5420
Support overwrite DNS in app install dialog
2025-10-07 14:54:25 +02:00
Johannes Zellner
b38371400c
Avoid annoying crash with hotreload
2025-10-07 14:54:25 +02:00
Girish Ramakrishnan
0458fee326
Fix SingleSelect usage for configureRetention
2025-10-07 14:53:44 +02:00
Girish Ramakrishnan
15256ebbdf
sort the days and hours
2025-10-07 14:44:47 +02:00
Girish Ramakrishnan
773435fb7f
move helper functions out of the model and into the view
2025-10-07 14:41:10 +02:00
Girish Ramakrishnan
1a674a30ac
move cronDays, cronHours to utils
2025-10-07 14:37:53 +02:00
Girish Ramakrishnan
491617e41c
replace select with Select to have consistent style
2025-10-07 14:09:07 +02:00
Girish Ramakrishnan
24fc480f7b
Use ClipboardButton everywhere
2025-10-07 13:57:16 +02:00
Girish Ramakrishnan
677f11ba1a
add description field in various FormGroups
2025-10-07 13:42:06 +02:00
Girish Ramakrishnan
aa7e307205
use the description style of FormGroup
2025-10-07 13:32:39 +02:00
Girish Ramakrishnan
6ac914904e
backups: make listing by site only return box backups
2025-10-07 12:13:14 +02:00
Girish Ramakrishnan
68dd1fbedb
rename function to listByTypePaged
2025-10-07 12:07:46 +02:00
Girish Ramakrishnan
6869380500
Fix tests
2025-10-07 10:01:35 +02:00
Girish Ramakrishnan
3a0febe760
convert console.log to debug
2025-10-07 09:36:07 +02:00
Girish Ramakrishnan
46d195557b
app graphs: push 0 when stopped
2025-10-06 23:15:35 +02:00
Girish Ramakrishnan
548418ecfe
graphs: show correct metrics when container stops
2025-10-06 23:05:49 +02:00
Girish Ramakrishnan
28c0d63f89
app archive: fix download config
2025-10-06 22:34:28 +02:00
Girish Ramakrishnan
b3eb6ccde3
x
2025-10-06 21:47:25 +02:00
Girish Ramakrishnan
0e09df797b
provision: fix issues when refreshing
2025-10-06 21:47:25 +02:00
Girish Ramakrishnan
7fae0751b9
add whirpool to restore view
2025-10-06 21:29:12 +02:00
Girish Ramakrishnan
e6cdd1ed7a
remove double error in restore view
2025-10-06 21:07:32 +02:00
Girish Ramakrishnan
9d8c079d37
restore: send siteId
2025-10-06 20:03:38 +02:00
Girish Ramakrishnan
9bb58b1649
typo
2025-10-06 19:54:19 +02:00
Girish Ramakrishnan
d732adf34b
restore: complete the latest full backup task of site id
...
when creating a full backup, the task is still running and the database
dump which is part of the backup, still says it is still running.
during restore, we mark the taskId as completed. detection of the task
is using the siteId in config (when restoring via backup config) or
just blindly setting the last backup task as completed (in manual form fill).
2025-10-06 19:50:58 +02:00
Girish Ramakrishnan
8718e7efd2
tasks: list by prefix
2025-10-06 19:32:06 +02:00
Girish Ramakrishnan
b21d29098b
tasks: refactor listByTypePaged into list with options
...
this way we can list by prefix (coming commit)
2025-10-06 19:28:51 +02:00
Girish Ramakrishnan
d010330b58
Use task type enum
2025-10-06 18:25:21 +02:00
Girish Ramakrishnan
4562024e72
remove unused function
2025-10-06 18:20:38 +02:00
Girish Ramakrishnan
34043d5c97
backupsites: reinit sites after restore
2025-10-06 18:20:38 +02:00
Johannes Zellner
a468b6ff39
Do not call graph.update() on every new dataset
2025-10-06 16:38:37 +02:00
Girish Ramakrishnan
534aa7423e
setup: default to hetzner dns
2025-10-06 15:52:44 +02:00
Johannes Zellner
be416fd335
Only wrap app configure titlebar on mobile
2025-10-06 15:44:09 +02:00
Girish Ramakrishnan
43962c4a5a
add route to list backups by site
2025-10-06 14:52:29 +02:00
Girish Ramakrishnan
1b33b2c48c
migrate old backup tasks to new type
2025-10-06 14:52:29 +02:00
Johannes Zellner
efa4c09306
At least make backuptarget.add event known for eventlogs
2025-10-06 12:59:49 +02:00
Johannes Zellner
181b9cdee6
Fix vertical layout for Section headers
2025-10-06 12:49:48 +02:00
Johannes Zellner
a1c3cd272b
Fix indentation
2025-10-06 12:40:15 +02:00
Johannes Zellner
c67b4a4e51
Do not give focus to appstore search input if subscription required
...
dialog is shown
2025-10-06 12:38:09 +02:00
Johannes Zellner
72c97ba224
remount() needs a backupSite object
2025-10-06 11:10:18 +02:00
Girish Ramakrishnan
ca96e40397
Use text-warning when showing warning below input elements
2025-10-06 11:09:35 +02:00
Johannes Zellner
758daee0c9
Better layout app install dialog on mobile to avoid overflow
2025-10-05 18:21:49 +02:00
Johannes Zellner
37b6a2568d
Show X close button in app install dialog
2025-10-05 18:14:30 +02:00
Johannes Zellner
4ee2fd8b14
Set absolute URL when appinstall dialog is closing
2025-10-05 17:41:28 +02:00
Johannes Zellner
7706be3e2f
Set location.href instead of hash for the fallback view
2025-10-05 17:40:42 +02:00
Johannes Zellner
16c2316183
Only fetch apps for backup info when info dialog is opened
2025-10-05 17:30:37 +02:00
Johannes Zellner
ce22100b02
Align mobile menu drawer open/close with header bar
2025-10-05 17:01:59 +02:00
Johannes Zellner
d2cc38c8ec
Instead of app status label show static external link label for app links
2025-10-05 16:53:39 +02:00
Johannes Zellner
c0a31ccb55
Use VITE_CACHE_ID to bust translation file cache for new versions
2025-10-05 12:14:02 +02:00
Girish Ramakrishnan
8ddc9e3138
Fix ldap view href
2025-10-05 11:34:48 +02:00
Girish Ramakrishnan
7a24c23bdd
Make LDAP view that contains the server and external ldap
2025-10-05 11:16:23 +02:00
Girish Ramakrishnan
32f4b72d68
rename views
2025-10-05 10:45:38 +02:00
Girish Ramakrishnan
282df5c2e6
Fix the LDAP and OpenID views
2025-10-05 10:39:40 +02:00
Girish Ramakrishnan
6713ba3798
refactor Appearance into two components - Applinks and Branding
2025-10-05 10:30:34 +02:00
Girish Ramakrishnan
355edda058
More menu reordering
2025-10-05 10:14:26 +02:00
Girish Ramakrishnan
b1141f8cbb
More reordering
2025-10-04 23:45:12 +02:00
Girish Ramakrishnan
eaad527e32
rework the sidebar ordering and grouping
2025-10-04 23:22:34 +02:00
Girish Ramakrishnan
810922de5e
friendlier hash/urls
2025-10-04 23:11:30 +02:00
Girish Ramakrishnan
da3414e3bc
make enum for the sidebar groups
2025-10-04 23:07:00 +02:00
Girish Ramakrishnan
99a0c78fe4
Use href as the view value to simplify logic
2025-10-04 22:58:50 +02:00
Girish Ramakrishnan
444d3eeb7c
remove duplicate error message
2025-10-04 10:38:46 +02:00
Girish Ramakrishnan
a3c00c5f75
Update lock file
2025-10-03 18:38:20 +02:00
Girish Ramakrishnan
dfb465ef77
Fix date formatting in system graphs
2025-10-03 18:38:09 +02:00
Girish Ramakrishnan
b20107ad2a
Fix date formatting in graph tooltips
2025-10-03 18:25:32 +02:00
Girish Ramakrishnan
6977556984
Fix graph tooltip rendering
2025-10-03 17:50:49 +02:00
Girish Ramakrishnan
676f25962d
add annotation label for the high marks
2025-10-03 17:27:23 +02:00
Girish Ramakrishnan
02fe971f0b
Remove graph subtext and move to footer
2025-10-03 17:14:40 +02:00
Girish Ramakrishnan
0b310f849a
rename Metrics to SystemInfo , Graphs
2025-10-03 17:04:48 +02:00
Girish Ramakrishnan
c9c00d2b9f
Make search by app id work
2025-10-03 12:58:13 +02:00
Johannes Zellner
910087e37a
Improve spacing in DiskUsageItems
2025-10-03 12:37:21 +02:00
Johannes Zellner
9d99794242
Also show queued icon in email event log for outgoing mails
2025-10-03 12:02:27 +02:00
Johannes Zellner
3218d7c64d
Reverse color fade in public pages left pane in dark mode
2025-10-03 11:55:56 +02:00
Girish Ramakrishnan
3364e5c876
ldapserver: fix crash when app not found
2025-10-03 11:55:20 +02:00
Girish Ramakrishnan
a6355e1945
remove spammy log
2025-10-03 11:49:40 +02:00
Girish Ramakrishnan
a3a8e67ce2
add some spacing between warning and changelog
2025-10-03 11:22:19 +02:00
Girish Ramakrishnan
ac388e1daf
Split the ubuntu version and cloudron version
2025-10-03 10:41:48 +02:00
Johannes Zellner
625a55ddeb
Fix typo in appstore link
2025-10-02 11:54:44 +02:00
Girish Ramakrishnan
6c1b07a7f1
add comment on why checkSubscription
2025-10-02 11:37:26 +02:00
Girish Ramakrishnan
b511b0c39a
restore: get subscription info after a restore
2025-10-02 11:20:00 +02:00
Girish Ramakrishnan
5b43de944d
activation: update features after registering cloudron
2025-10-02 11:18:42 +02:00
Girish Ramakrishnan
e255f4158f
match the button style in robots.txt form
2025-10-02 10:55:19 +02:00
Girish Ramakrishnan
e0740f89d9
make setup text bigger
2025-10-02 10:50:25 +02:00
Girish Ramakrishnan
a4605238aa
Fix spacing between form group and checkbox
2025-10-02 10:50:22 +02:00
Girish Ramakrishnan
a4e680ee01
setup: add "Cloudron" to the heading
2025-10-02 10:33:30 +02:00
Girish Ramakrishnan
edf7d80678
activation: add missing label
2025-10-02 10:32:31 +02:00
Girish Ramakrishnan
92e6e99bb0
Update packages
2025-10-02 08:34:32 +02:00
Girish Ramakrishnan
73ed60059f
Update node to 22.20.0
2025-10-02 08:31:19 +02:00
Girish Ramakrishnan
78d8e0b5aa
Update translation
2025-10-01 17:44:18 +02:00
Girish Ramakrishnan
832eca2d9c
backup size: display stats correctly
2025-10-01 17:43:27 +02:00
Johannes Zellner
f69bdd1ac4
This aint the real superagent
2025-10-01 17:16:21 +02:00
Johannes Zellner
01f10baa18
subscription POST api is /subscription3
2025-10-01 16:46:30 +02:00
Johannes Zellner
23178b24c6
Send cloudron state along with fetching subscription state
2025-10-01 16:44:53 +02:00
Johannes Zellner
295aafddf0
Use appUpdates feature flag
2025-10-01 14:35:14 +02:00
Johannes Zellner
398b978a5f
code cleanup
2025-10-01 13:49:06 +02:00
Johannes Zellner
f59999f35f
Directly show setup subscription action for app updates if required
2025-10-01 13:46:25 +02:00
Johannes Zellner
e078bf2d2f
Better layout errors in app update view
2025-10-01 13:33:03 +02:00
Johannes Zellner
bab1da1ea5
Open cloudron account view if app update requires subscription
2025-10-01 13:30:58 +02:00
Girish Ramakrishnan
593c9f133d
Update translations
2025-10-01 13:19:43 +02:00
Johannes Zellner
8071eb2d93
decrease max-width of profile view
2025-10-01 13:01:56 +02:00
Girish Ramakrishnan
f44ff12a5f
Fix ordering of columns
2025-10-01 12:49:09 +02:00
Johannes Zellner
70953333d2
Move no app matches placeholder above the list and grid to avoid jumping
2025-10-01 12:04:03 +02:00
Johannes Zellner
e453be1c04
Update pankow
2025-10-01 11:57:49 +02:00
Johannes Zellner
6ac2f8d9c3
Add icons to mailbox owner select
2025-10-01 11:51:41 +02:00
Johannes Zellner
06ca87e041
Missing a const
2025-10-01 11:51:31 +02:00
Johannes Zellner
15d1521564
Better show backup errors and link to logsviewer
2025-10-01 11:00:25 +02:00
Johannes Zellner
4e1396e7a7
Hide backup integrity menu action for the moment
2025-10-01 10:43:53 +02:00
Girish Ramakrishnan
ab0f8fc081
backupsite: remove bc- prefix from id
2025-10-01 10:27:20 +02:00
Johannes Zellner
0f29652b96
Update pankow
2025-10-01 10:19:12 +02:00
Girish Ramakrishnan
53de61330f
remove debug
2025-10-01 10:09:32 +02:00
Girish Ramakrishnan
2c52190966
always show storage slider
2025-10-01 03:47:49 +02:00
Girish Ramakrishnan
df66a0ff38
add no matching apps placeholder
2025-10-01 03:12:17 +02:00
Girish Ramakrishnan
33ced1c16e
add no match placeholder for apps
2025-10-01 03:02:50 +02:00
Girish Ramakrishnan
0b3d3ceb48
add no match placeholder for email domains
2025-10-01 02:45:27 +02:00
Girish Ramakrishnan
d385edf348
Fix translation
2025-09-30 19:58:05 +02:00
Girish Ramakrishnan
54cd9c7afa
Use JSON query to remove the app id from site
...
the original regexp does not work for leading comma like [ "box", "appid" ]
2025-09-30 19:43:08 +02:00
Girish Ramakrishnan
1ccb24018f
Typo
2025-09-30 19:05:23 +02:00
Girish Ramakrishnan
6bd8e81eae
Fix include case
2025-09-30 19:02:07 +02:00
Girish Ramakrishnan
edcffd3417
Remove app from backup sites when uninstalled
2025-09-30 18:22:22 +02:00
Johannes Zellner
1e599731b8
Show warning if a mailbox domain does not have incoming enabled
2025-09-30 17:27:53 +02:00
Girish Ramakrishnan
f7c85d8aa2
mail: add api to list domains
2025-09-30 17:11:10 +02:00
Johannes Zellner
75e6c8fad6
If no usage for a mailbox is known but status is fetched, fallback to 0 bytes
2025-09-30 16:47:50 +02:00
Johannes Zellner
f16170e0b5
Improve app configure titlebar for mobile
2025-09-30 16:28:43 +02:00
Johannes Zellner
74c1e71fe5
Add . and @ for domain selection labels
2025-09-30 16:01:11 +02:00
Johannes Zellner
471dd08016
Increase max normal content width to 900px
2025-09-30 15:35:35 +02:00
Girish Ramakrishnan
f8e15acf89
no matches placeholders
2025-09-30 15:34:25 +02:00
Johannes Zellner
703621d84e
Move save button into the v-if for recvmail
2025-09-30 15:28:40 +02:00
Johannes Zellner
0893bf4aa0
Ensure we refetch features if potentially plan changes via claiming the cloudron
2025-09-30 15:20:15 +02:00
Girish Ramakrishnan
e44e9f4cf0
Fix various spacing issues with recvmail
2025-09-30 15:03:17 +02:00
Girish Ramakrishnan
6cdbebf0d3
sync the changelog sizes in app and system update
2025-09-30 14:46:39 +02:00
Girish Ramakrishnan
7b85106792
Add changelog to app update dialog
2025-09-30 14:42:27 +02:00
Girish Ramakrishnan
cf2a90845b
Fix translations
2025-09-30 14:24:58 +02:00
Girish Ramakrishnan
647209cf6d
Fix description of auto update switch
...
It should be some description and not describe the current state of
the switch.
2025-09-30 14:10:07 +02:00
Johannes Zellner
5c0d53b52c
Pass down domain list to dashbaord domain component as a prop
2025-09-30 12:14:41 +02:00
Johannes Zellner
56c2b8798c
Speed up app install dialog opening by not refetching domain list
2025-09-30 12:04:58 +02:00
Johannes Zellner
d4262e9fdc
Prevent vue crash on hotreload
2025-09-30 11:53:39 +02:00
Girish Ramakrishnan
1902e8206d
Spacing fixes in forms
...
form - helps with capturing the submit top level. no styling
fieldset - helps with disabling elements in single place. no styling.
in html, this does have a default border which we remove in style.css.
FormGroup - pankow element. This defines the spacing between adjacent
FormGroups as 6px.
2025-09-30 11:11:14 +02:00
Girish Ramakrishnan
5918952afb
Fix source IP display in the app eventlog (like in main eventlog)
2025-09-30 10:32:26 +02:00
Johannes Zellner
55cd323159
Clear filter states in onDeactivated() instead of onActivated() to ber fresh on view
2025-09-30 10:24:58 +02:00
Johannes Zellner
249734f52a
Fixup more state issues within the appstore view
2025-09-30 10:19:50 +02:00
Girish Ramakrishnan
8530a62421
add domain count to header
2025-09-30 10:18:35 +02:00
Johannes Zellner
65f1260839
Also clear search and category if appstore view is activated
2025-09-29 22:50:38 +02:00
Johannes Zellner
fc8a679367
Ensure we only add extra newline if checklist has any item
2025-09-29 22:48:25 +02:00
Johannes Zellner
cafacf4748
Ensure the app install dialog is properly reset now that we keep the components alive
2025-09-29 22:46:05 +02:00
Johannes Zellner
5c6ceb2307
Keep both apps and appstore views alive in vue to avoid frequent reloading
2025-09-29 20:17:32 +02:00
Johannes Zellner
e05fef18a0
Only check subscription once a day again
2025-09-29 16:26:01 +02:00
Johannes Zellner
9c8aab6e29
checklist is actually no array but an object
2025-09-29 16:23:21 +02:00
Johannes Zellner
38267a26c1
Send some metrics
2025-09-29 16:16:22 +02:00
Johannes Zellner
9e99dae864
Remove debug log
2025-09-29 16:16:07 +02:00
Johannes Zellner
f9747fd1eb
Only allow to submit group dialog if group name is valid
2025-09-29 13:57:02 +02:00
Johannes Zellner
bf47368f25
Better busy states for user dialog
2025-09-29 13:53:45 +02:00
Johannes Zellner
7b82950495
Update translation for Storage -> Backup Site
2025-09-29 13:50:08 +02:00
Girish Ramakrishnan
5dd5a20fc1
code -> sqlCode
2025-09-29 12:18:26 +02:00
Johannes Zellner
906e3f8cea
Update pankow
2025-09-29 11:43:29 +02:00
Johannes Zellner
44ee3c92b7
Do not include helper links in form labels in tabindex
2025-09-29 11:13:51 +02:00
Johannes Zellner
ae55912176
gcs backup site needs a default credentials object
2025-09-29 11:07:57 +02:00
Johannes Zellner
703b47d916
Uppercase string representation of backup pattern
2025-09-29 11:07:31 +02:00
Johannes Zellner
a1816896ca
move backup sites status up
2025-09-29 10:37:09 +02:00
Johannes Zellner
e522b4c7f3
Relayout backup sites view items
2025-09-29 10:31:08 +02:00
Johannes Zellner
daa4f7dfb1
Only update UI with sites once all info is fetched
2025-09-29 10:05:25 +02:00
Johannes Zellner
39e6463d19
Fix backupsite view when schedule is never
2025-09-29 10:02:02 +02:00
Girish Ramakrishnan
f30bc948c3
add translations
2025-09-26 16:15:21 +02:00
Girish Ramakrishnan
2b0422b2cb
hide advanced options like memory/concurrency at add time
2025-09-26 15:58:49 +02:00
Girish Ramakrishnan
70149846df
Text changes to backup site add
...
the edit also has to be fixed later
2025-09-26 12:20:39 +02:00
Girish Ramakrishnan
a8f88d7c4d
Fix up backup contents UI
2025-09-26 11:51:10 +02:00
Girish Ramakrishnan
73ddf48d12
Do not put sensitive config into the eventlog
2025-09-26 11:14:47 +02:00
Girish Ramakrishnan
a9a65fe1f1
do not throw the ip to the right
2025-09-26 11:13:32 +02:00
Girish Ramakrishnan
70eb5c1053
display retention policy and schedule in sites view
2025-09-26 11:05:49 +02:00
Girish Ramakrishnan
defcf7d220
show the friendly region name
2025-09-26 10:17:03 +02:00
Girish Ramakrishnan
1f78253b38
Show sites ordered by name
2025-09-26 09:50:05 +02:00
Girish Ramakrishnan
40fcdb0fc0
Move location summary of backup site to top level
2025-09-26 09:46:07 +02:00
Girish Ramakrishnan
9a3a78c96c
Split recovery mode into repair and restart
...
recovery mode is not a 'setting'
2025-09-25 16:00:03 +02:00
Girish Ramakrishnan
7701b41af4
Fix more spacing and layout issues
2025-09-25 15:26:01 +02:00
Girish Ramakrishnan
9304d02d78
add copy button to app id
2025-09-25 13:55:28 +02:00
Girish Ramakrishnan
932b9c0966
Fix site add translation
2025-09-25 12:30:39 +02:00
Girish Ramakrishnan
edb33e1f2c
Fix placeholder text of various empty tables and lists
2025-09-25 12:20:45 +02:00
Girish Ramakrishnan
fc83306d72
remove extra-padding, ununsed
2025-09-25 12:04:12 +02:00
Girish Ramakrishnan
5bdfe23435
Fix padding
2025-09-25 11:46:35 +02:00
Girish Ramakrishnan
503b17acd6
Update translations
2025-09-25 11:33:01 +02:00
Girish Ramakrishnan
ef8c088127
reorder actions, edit is always first
2025-09-25 11:24:42 +02:00
Girish Ramakrishnan
151f15fa15
add search to email domains
2025-09-25 11:13:44 +02:00
Girish Ramakrishnan
35db862d12
keep sidebar groups expanded
2025-09-25 11:01:15 +02:00
Girish Ramakrishnan
7948e04ca7
Use help-url in Checkbox
2025-09-25 10:16:00 +02:00
Girish Ramakrishnan
b6b9c2a843
Hide the list table when no apps
2025-09-25 10:08:44 +02:00
Girish Ramakrishnan
95109ef9b0
add ....
2025-09-25 10:00:14 +02:00
Johannes Zellner
7fd49be682
Show apps for mailboxowners, which have recvmail addon
2025-09-25 08:56:35 +02:00
Johannes Zellner
f16662bcc0
If device has no hover, never hide notification dismiss
2025-09-25 08:36:30 +02:00
Girish Ramakrishnan
4962597f58
Remove forum message from installation notification
2025-09-25 08:31:16 +02:00
Johannes Zellner
19597bb40b
injected variables are Proxies
2025-09-25 08:25:36 +02:00
Johannes Zellner
80bc526401
Fix Storage Provider case
2025-09-24 22:47:46 +02:00
Johannes Zellner
67f1b968bb
Fix boolean logic bug with privateDockerRegistry feature
2025-09-24 22:37:25 +02:00
Johannes Zellner
ae0ed07447
Fix padding and layout of backup site contents
2025-09-24 22:27:03 +02:00
Girish Ramakrishnan
f5f415e851
add copy button for cloudronId
2025-09-24 22:15:03 +02:00
Girish Ramakrishnan
8a20c1812f
Fix cloudron appstore link
2025-09-24 22:11:43 +02:00
Girish Ramakrishnan
98d4d99c1b
appstore: add unlink account route
2025-09-24 21:49:24 +02:00
Girish Ramakrishnan
a38ef2b6f5
We don't have a premium plan anymore
2025-09-24 21:04:36 +02:00
Girish Ramakrishnan
5723717576
appstore: add note on token check
2025-09-24 20:56:54 +02:00
Girish Ramakrishnan
b8f097ff94
Fix cloudron account translations
2025-09-24 20:56:54 +02:00
Johannes Zellner
dcab038020
Whirlpool instead of blob
2025-09-24 20:37:57 +02:00
Girish Ramakrishnan
234c192429
translate wildcard flag correctly into tls provider
2025-09-24 20:30:14 +02:00
Johannes Zellner
15af5396f8
Remove unused import
2025-09-24 20:17:50 +02:00
Johannes Zellner
3fc6da34e8
Improve license helper text link
2025-09-24 20:14:43 +02:00
Johannes Zellner
b1dce01b49
Improve helper-text color in dark-mode
2025-09-24 20:13:51 +02:00
Johannes Zellner
885dc48a50
Update pankow
2025-09-24 18:44:11 +02:00
Johannes Zellner
30962c4c7b
Ensure app info is too wide
2025-09-24 18:34:09 +02:00
Johannes Zellner
b993cfd294
Align count indicators in Section headers along the baseline
2025-09-24 18:20:42 +02:00
Johannes Zellner
c8c5862b47
Make backupSite contents configurable
2025-09-24 18:11:48 +02:00
Johannes Zellner
0dfd8b9f53
Remove double memory setting
2025-09-24 17:30:13 +02:00
Johannes Zellner
0d3450ceed
Add checkbox to configure backup site backup for update behavior
2025-09-24 17:22:10 +02:00
Johannes Zellner
073ece0527
Allow to search after certain threshold in mailbox owner select
2025-09-24 16:57:22 +02:00
Johannes Zellner
8020bbd806
Make backup site name input id more unique
2025-09-24 16:57:22 +02:00
Girish Ramakrishnan
1ebd4dbda6
Always display the email field
2025-09-24 15:01:55 +02:00
Girish Ramakrishnan
beebbf54ad
Put site name in logs dropdown
2025-09-24 14:51:53 +02:00
Girish Ramakrishnan
f8e5a65f95
Fix test
2025-09-24 14:09:06 +02:00
Girish Ramakrishnan
379066c782
eventlog: remove private fields from site
2025-09-24 14:04:49 +02:00
Johannes Zellner
e96ada8c2e
Do not leak eventlog through the section body padding
2025-09-24 14:02:14 +02:00
Johannes Zellner
0a7d903dd6
Open and collapse email status checks
2025-09-24 13:13:05 +02:00
Johannes Zellner
0afc671763
Merge email domain status into the domain view
2025-09-24 12:46:15 +02:00
Johannes Zellner
dd183cbca0
Show more info in the email domains view
2025-09-24 11:59:10 +02:00
Johannes Zellner
cc17373166
Add missing email lists empty placeholders
2025-09-24 11:59:10 +02:00
Girish Ramakrishnan
19df2e0baa
ER_DUP_ENTRY is passed as code and not in message
2025-09-24 10:50:25 +02:00
Girish Ramakrishnan
045b4db246
add search to Groups view
2025-09-24 07:47:40 +02:00
Girish Ramakrishnan
59ccf845b5
show filtered user count
2025-09-24 07:39:10 +02:00
Girish Ramakrishnan
814a48c55f
Hide the schedule daya/hours when disabled
...
this is the pattern in other places
2025-09-24 07:37:20 +02:00
Girish Ramakrishnan
4c6cc4abd6
Fix spacing in mail aliases
2025-09-24 07:34:14 +02:00
Girish Ramakrishnan
34f47fcfd7
add "@" to email aliases
2025-09-24 07:30:03 +02:00
Girish Ramakrishnan
87e64da0d9
add search and count to mailing lists
2025-09-24 07:14:48 +02:00
Girish Ramakrishnan
730de02874
move mailbox count and size to header
2025-09-24 07:03:55 +02:00
Johannes Zellner
e0fef1da42
Do not show empty placeholder when backupSite are still loading
2025-09-23 21:24:51 +02:00
Johannes Zellner
3bfa7b1cdd
Column is called enableForUpdates
2025-09-23 21:23:33 +02:00
Johannes Zellner
fcb59091d2
Make Email eventlog behave like eventlog
2025-09-23 21:19:20 +02:00
Johannes Zellner
9146e2a318
Add initial placeholder page for email domains list
2025-09-23 21:08:48 +02:00
Girish Ramakrishnan
aefe69c4b5
Fix test
2025-09-23 19:07:45 +02:00
Girish Ramakrishnan
d1ee3d5688
Fix display of prefix
2025-09-23 18:54:20 +02:00
Girish Ramakrishnan
f92cdf36f5
system: return the mounted and unmounted block devices (as long as xfs or ext4)
2025-09-23 18:51:23 +02:00
Johannes Zellner
8668ff8939
Add @ in mailbox and mailinglist input
2025-09-23 17:58:17 +02:00
Girish Ramakrishnan
50d37ad752
Fix consistent use of enabledForUpdates -> enableForUpdates
2025-09-23 16:43:17 +02:00
Johannes Zellner
c6afe4fd4e
Remove custom padding in mail domain change progress
2025-09-23 14:48:27 +02:00
Johannes Zellner
03be4a22d4
Use correct error-label class
2025-09-23 14:44:41 +02:00
Johannes Zellner
85f18f5991
Fix fetch on scroll in email eventlog
2025-09-23 14:36:02 +02:00
Johannes Zellner
0d237a8f55
Fix email event log name
2025-09-23 14:31:52 +02:00
Johannes Zellner
7522ac1eaf
Improve error feedback for spam filter dialog
2025-09-23 14:21:50 +02:00
Johannes Zellner
4704c2a178
Render footer preview in markdown
2025-09-23 14:09:55 +02:00
Johannes Zellner
da818ff577
Support multiple backup sites for manual app backups
2025-09-23 13:53:01 +02:00
Johannes Zellner
2660f673db
Support backup schedule never
2025-09-23 12:44:36 +02:00
Johannes Zellner
fec1a1c0ee
Fix backup schedule dialog layout
2025-09-23 12:32:11 +02:00
Johannes Zellner
537d0203e1
Fixup busy states in backup site dialogs
2025-09-23 12:15:27 +02:00
Johannes Zellner
7e00fbfe2d
Ensure backup sites get cleared on refresh
2025-09-23 12:02:15 +02:00
Johannes Zellner
b54cfd76dd
Trigger cleanup job for a site
2025-09-23 11:53:29 +02:00
Johannes Zellner
74783eee0e
Provider default contens for backup sites including all
2025-09-23 11:38:21 +02:00
Johannes Zellner
3994d5bf75
Add empty backup site placeholder
2025-09-23 11:22:33 +02:00
Girish Ramakrishnan
08f7685ca3
backupSite: enableForUpdates in add
2025-09-23 10:21:43 +02:00
Johannes Zellner
d08d4962a5
Give appstore loading progress bar more space
2025-09-22 21:16:40 +02:00
Johannes Zellner
42c9166df2
Update translation
2025-09-22 20:56:31 +02:00
Johannes Zellner
4d70a0c5bd
Fix badge layout in Sections
2025-09-22 20:47:40 +02:00
Johannes Zellner
1202be4686
Remove some more icons and consolidate further on Add
2025-09-22 20:42:02 +02:00
Johannes Zellner
14f93a91e3
Remove primary backup site UI
2025-09-22 20:32:10 +02:00
Johannes Zellner
49de124fc0
Fix typo
2025-09-22 20:24:29 +02:00
Girish Ramakrishnan
cc939de641
Fixup tests
2025-09-22 20:17:34 +02:00
Johannes Zellner
fd6c77c73e
Update frontend dependencies
2025-09-22 19:11:15 +02:00
Johannes Zellner
5c213d31cf
Fix backup task state for sites
2025-09-22 19:09:30 +02:00
Johannes Zellner
d8ab1c3a67
Fix typo in enabling backup button for only one site
2025-09-22 18:08:01 +02:00
Girish Ramakrishnan
5157789774
backups: add per site enabledForUpdates flag
...
previously, we had a singleton 'main' flag to indicate a site can
be used for updates. with this new approach, we can get rid of the
'primary' concept. each site can be used for updates or not.
2025-09-22 18:03:01 +02:00
Johannes Zellner
69d92ba0a8
Better handle backup progress in site item
2025-09-22 17:26:55 +02:00
Girish Ramakrishnan
4686e38a5e
schema: add contentsJson to backupSites
2025-09-22 17:05:01 +02:00
Johannes Zellner
cab3f60e06
Refresh of mail eventlog is also secondary only
2025-09-22 16:56:29 +02:00
Johannes Zellner
f59907d9d7
Agree on 'Add' for add buttons and icon for refresh buttons
2025-09-22 16:52:51 +02:00
Girish Ramakrishnan
305441ea28
backups: remove noop backend
...
the noop backend is migrated into 0 sites config.
when the updater code sees that there is no site to backup, it will
just fail. user has to manually update with skipBackup flag.
2025-09-22 16:44:12 +02:00
Johannes Zellner
807094c829
Better size buttons in ImagePicker
2025-09-22 16:21:39 +02:00
Johannes Zellner
cae1b3f47a
Remove cleanup from backup listing
2025-09-22 15:47:56 +02:00
Girish Ramakrishnan
4c3a8e1fd7
backup site: add contents
...
it is a json that can be one of the three:
* null - include everything
* include - only include these ids
* exclude - everything except these ids
2025-09-22 13:28:16 +02:00
Johannes Zellner
0d5c1b99df
Use appearance translation string in appearance title section to match menu
2025-09-22 12:28:01 +02:00
Johannes Zellner
656faacc76
Use Pankow ProgressBar for DiskUsageItem
2025-09-22 12:22:32 +02:00
Johannes Zellner
b8919f8c11
Do not set align-items in Section header toolbar
2025-09-22 12:16:13 +02:00
Johannes Zellner
b0c042e9dc
Individual BackupSchedule.vue is gone
2025-09-22 11:14:13 +02:00
Johannes Zellner
455116c86f
Log buttons are just secondary actions
2025-09-22 11:09:41 +02:00
Johannes Zellner
4202452e70
Increase max-width on normal content views to 800px
2025-09-22 10:35:26 +02:00
Johannes Zellner
7df7fd635b
Allow any format for noop backup site
2025-09-21 18:06:32 +02:00
Johannes Zellner
b4fa2d7ce6
Rework create backup now button backup listing view
2025-09-21 18:01:27 +02:00
Johannes Zellner
8ac3089e0b
Remove unused code
2025-09-21 17:37:27 +02:00
Johannes Zellner
e2f1f3029f
Fix clickable region for app configure menu items
2025-09-21 14:59:10 +02:00
Johannes Zellner
dd5c438597
More layout fixes to the app configure view
2025-09-21 14:57:58 +02:00
Johannes Zellner
60982cc276
Calculate better appstore item width based on screen
2025-09-21 14:42:21 +02:00
Johannes Zellner
d23ea29bef
More padding fixes for app configure views
2025-09-19 20:50:01 +02:00
Johannes Zellner
5246ea3537
Fix spacing for checklist and set 800px max-width for appconfigure
2025-09-19 19:08:26 +02:00
Johannes Zellner
5ad217bd18
More header margin fixes
2025-09-19 19:02:10 +02:00
Johannes Zellner
5d1c6d35f7
Fix appstore view layout
2025-09-19 18:55:43 +02:00
Johannes Zellner
1d49af144c
Condense view horizontally and fix settings item spacings
2025-09-19 18:43:41 +02:00
Johannes Zellner
9bdbd49de0
Rework postinstall admin notes edit behavior
2025-09-19 15:34:30 +02:00
Girish Ramakrishnan
e0821d264e
backups: make primary as an action
2025-09-19 12:29:52 +02:00
Johannes Zellner
5cf94ae35b
Update pankow
2025-09-19 11:37:29 +02:00
Johannes Zellner
c5fbb73fea
Use ClipboardAction for inline text elements
2025-09-19 11:31:38 +02:00
Johannes Zellner
c30b8942e7
Improve eventlog table layout and colors
2025-09-19 10:52:38 +02:00
Johannes Zellner
e21c1bbc59
Show new OpenID credentials in a separate dialog
2025-09-18 20:52:45 +02:00
Girish Ramakrishnan
87178985f9
move edit action to the top
2025-09-18 19:29:57 +02:00
Girish Ramakrishnan
0a23332766
rename backup storage to sites
2025-09-18 19:23:18 +02:00
Girish Ramakrishnan
9a752ac3a2
Fix title
2025-09-18 18:55:16 +02:00
Girish Ramakrishnan
aaed5a47d7
Create two sections in appearance
...
Branding and External Links
2025-09-18 18:45:47 +02:00
Girish Ramakrishnan
6e19a7e862
Remove plural usage of 'App Archive'
2025-09-18 18:32:23 +02:00
Johannes Zellner
5cd9fe860f
Update pankow for ClipboardButton use
2025-09-18 17:27:25 +02:00
Girish Ramakrishnan
498e77c46e
Update translations
2025-09-18 15:01:23 +02:00
Johannes Zellner
da69644771
Show app backup info in separate dialog
2025-09-18 14:47:40 +02:00
Girish Ramakrishnan
7c0f4ad255
Use EditableField for notes editor
2025-09-17 17:28:36 +02:00
Johannes Zellner
76ec0b6d74
Sync UI for eventlogs in both system and app views
2025-09-17 16:33:56 +02:00
Johannes Zellner
c3e604ba49
Refactor app configure view selector to cover mobile better
2025-09-17 16:19:58 +02:00
Johannes Zellner
15848d399c
Immediately show the new OpenID client credentials after adding
2025-09-17 15:17:47 +02:00
Johannes Zellner
0c791ec52c
Ensure graph tooltips do not overflow the graph
2025-09-17 15:08:50 +02:00
Girish Ramakrishnan
6938b6e9ac
Fix translations and add separator in backup actions
2025-09-17 14:00:07 +02:00
Girish Ramakrishnan
a9fe3e1b12
domains: Edit should be first action
2025-09-17 13:50:28 +02:00
Girish Ramakrishnan
c23234d1d8
Make the upload config button inline like in restore view
2025-09-17 13:37:59 +02:00
Girish Ramakrishnan
3855beccce
Update translations
2025-09-17 13:10:09 +02:00
Girish Ramakrishnan
41932c9127
app update: use the props.app directly instead of local copy
...
this way if the app auto updates in the background, we are showing
the correct state in the view
2025-09-17 12:14:21 +02:00
Johannes Zellner
91840904b6
Fix padding and margins on app configure links
2025-09-17 12:10:10 +02:00
Johannes Zellner
9ba4ac9956
Update view language if system language is changed and the user has no profile language set
2025-09-17 12:06:55 +02:00
Girish Ramakrishnan
753092db30
Move hide/show checklist to left
2025-09-17 11:24:05 +02:00
Johannes Zellner
f0b07f1155
Update pankow
2025-09-17 11:15:30 +02:00
Johannes Zellner
3429060a7b
Use a tags for app configure views to allow middleclick
2025-09-17 11:14:25 +02:00
Girish Ramakrishnan
8a6016376c
Fix initial value of iconFile
2025-09-17 11:12:00 +02:00
Girish Ramakrishnan
51d0658bdb
do not save immediately when image is part of a form
2025-09-17 11:08:27 +02:00
Girish Ramakrishnan
1cac2f6170
add timestamp to the log
2025-09-16 17:58:30 +02:00
Girish Ramakrishnan
88e209d65b
Fix icon of users&groups
2025-09-16 15:06:41 +02:00
Girish Ramakrishnan
67103e7113
only show hr for admins
2025-09-16 13:16:16 +02:00
Girish Ramakrishnan
496ada3647
Make Groups a separate view
2025-09-16 13:13:57 +02:00
Girish Ramakrishnan
405302e2f0
users: fix avatar handling and various translations
2025-09-16 12:05:47 +02:00
Girish Ramakrishnan
0530a58530
move the user count to the Section header
2025-09-15 17:26:52 +02:00
Girish Ramakrishnan
8ccae822fe
update changelog
2025-09-15 15:50:54 +02:00
Girish Ramakrishnan
e45af9b611
sqlite: disable docker logging when backing up
...
The redirection > ${outputFile} applies to the docker run client process, not to the container itself.
The Docker daemon is still collecting the container’s stdout and logging it.
https://forum.cloudron.io/topic/13361/after-ubuntu-22-24-upgrade-syslog-getting-spammed-and-grows-way-to-much-clogging-up-the-diskspace/
2025-09-15 15:46:27 +02:00
Girish Ramakrishnan
e8a9bd83d3
add comment from 063b102461
2025-09-15 14:01:47 +02:00
Girish Ramakrishnan
8d32c853d5
syslog: use named captures and better logging
2025-09-15 13:33:41 +02:00
Girish Ramakrishnan
9137fb2b31
start with noop provider for better async loading
2025-09-13 15:50:10 +02:00
Girish Ramakrishnan
d2eeb19f06
make copy button a tool button
2025-09-13 15:43:08 +02:00
Girish Ramakrishnan
43cc91aca2
fix tests
2025-09-13 15:22:01 +02:00
Girish Ramakrishnan
045187fe2d
reorder fields in app install dialog a bit
2025-09-12 19:18:59 +02:00
Girish Ramakrishnan
834e908edd
reduce width of app install dialog a bit
2025-09-12 19:12:52 +02:00
Girish Ramakrishnan
98ba60a51c
Fix layout of the totp dialog
2025-09-12 19:00:35 +02:00
Girish Ramakrishnan
9bcca0a791
return the body
2025-09-12 19:00:19 +02:00
Girish Ramakrishnan
1a588b34fa
oidc: call the correct route when adding new client
2025-09-12 16:56:56 +02:00
Girish Ramakrishnan
b3398a09ba
Make separate section for OIDC Clients
2025-09-12 16:38:20 +02:00
Girish Ramakrishnan
8fed7034bf
Display discoverUrl as copyable input
2025-09-12 16:07:39 +02:00
Girish Ramakrishnan
cfe933c368
Use the InputGroup pattern instead
2025-09-12 15:56:23 +02:00
Girish Ramakrishnan
79968af8ed
make it clear LDAP URL is readonly
2025-09-12 15:48:38 +02:00
Girish Ramakrishnan
bd58e02a18
make input take the full width
2025-09-12 15:43:20 +02:00
Girish Ramakrishnan
d5e82110c3
LDAP Provider -> LDAP Server
...
There is no such thing as LDAP Provider. Only OIDC Provider but LDAP Server.
2025-09-12 15:36:58 +02:00
Girish Ramakrishnan
da6be5c490
dashboard: rename backupTargets to backupSites
2025-09-12 10:49:43 +02:00
Girish Ramakrishnan
c5b7264f1a
rename backupTargets to backupSites
2025-09-12 10:32:37 +02:00
Girish Ramakrishnan
f8015c156e
Fix app links icon upload
2025-09-11 21:06:53 +02:00
Girish Ramakrishnan
23012fbb5c
ImagePicker: introduce 'mode' - simple/editable
...
We have two cases for the picker:
* in normal pages: here the image upload/reset happens automatically. this is
the editable mode with action buttons.
* in dialogs: here you just upload images . this is simple mode.
2025-09-11 16:22:01 +02:00
Girish Ramakrishnan
f3c0e8a835
defineProps with types
2025-09-11 16:03:35 +02:00
Girish Ramakrishnan
808428e947
hide unset button if we are showing the fallback
2025-09-11 15:44:05 +02:00
Girish Ramakrishnan
60d3eba712
Convert footer editing to EditableField
2025-09-11 14:59:00 +02:00
Girish Ramakrishnan
817b0f8167
Use EditableField for appearance name change
2025-09-11 14:28:22 +02:00
Girish Ramakrishnan
116673630a
Fix title of password dialog
2025-09-11 12:55:39 +02:00
Girish Ramakrishnan
82c8fa2640
Revert "Add generic 412 http response handler to ask for dashboard refresh"
...
This reverts commit 11a6cf8236 .
It's unclear in what situations a 412 handler that refreshes the dashboard will help.
We use BoxError.INVALID_CREDENTIALS to be 412.
* Used as internal error code for failed password, app password and totp check
* When password is wrong in external ldap syncing
* appstore token is invalid
In all cases, a dashboard refresh will do nothing afaict. For good measure, I have
converted appstore token case into LICENSE_ERROR which is a 402.
2025-09-11 12:42:12 +02:00
Girish Ramakrishnan
14b51c0c74
Add inline EditableField
2025-09-11 11:24:28 +02:00
Girish Ramakrishnan
3c99ccc67b
Update pankow
2025-09-11 09:41:17 +02:00
Girish Ramakrishnan
c69bc77a7a
cloudron-support: fix docker version script
2025-09-11 09:18:01 +02:00
Girish Ramakrishnan
7ff07804d0
Fix various display issues in metrics view
2025-09-10 22:28:31 +02:00
Girish Ramakrishnan
2f4766af9d
Fix update progress display
2025-09-10 21:46:03 +02:00
Girish Ramakrishnan
c2e5f19226
very possible code path
2025-09-10 21:10:56 +02:00
Girish Ramakrishnan
ac1bd650ce
make changelog alone scrollable
2025-09-10 20:07:29 +02:00
Girish Ramakrishnan
c845b63578
Display any update check error
2025-09-10 18:54:04 +02:00
Girish Ramakrishnan
4c278a8da5
Everyday -> Every day . And add a space between times
2025-09-10 18:41:34 +02:00
Girish Ramakrishnan
7b48bc1ef6
schedule text translation
2025-09-10 18:19:38 +02:00
Girish Ramakrishnan
2179f199b7
Locale Settings -> Locale
2025-09-10 18:13:28 +02:00
Girish Ramakrishnan
60a3ea0cea
docker registry: fix typo in eventlog
2025-09-10 17:45:52 +02:00
Girish Ramakrishnan
acaf7cd934
Fix translations in docker registry UI
2025-09-10 17:38:14 +02:00
Girish Ramakrishnan
38a2fdff39
Fix translations in the local settings
2025-09-10 17:08:30 +02:00
Girish Ramakrishnan
14907849cc
remove unused variables in locale view
2025-09-10 16:57:45 +02:00
Girish Ramakrishnan
45ba89c89a
keep list alphabetical
2025-09-10 16:53:44 +02:00
Girish Ramakrishnan
9d235fa838
Fix broken link in update view
2025-09-10 16:52:44 +02:00
Girish Ramakrishnan
5ea481409f
Fix display of user count in group delete
2025-09-10 16:31:01 +02:00
Girish Ramakrishnan
603c2fdc68
user cannot remove self
2025-09-10 16:17:40 +02:00
Girish Ramakrishnan
e384995b63
add separator and show service names sorted
2025-09-10 12:27:00 +02:00
Girish Ramakrishnan
92444c05aa
Fix translation and sidebar width
2025-09-10 12:07:08 +02:00
Girish Ramakrishnan
5831bb49f1
rename to DockerRegistries
2025-09-10 12:00:49 +02:00
Girish Ramakrishnan
ba14d1e846
block devices: filter the root disk
2025-09-10 11:52:05 +02:00
Girish Ramakrishnan
c8e34ac522
hide separator for non-editable volume types
2025-09-10 11:12:22 +02:00
Girish Ramakrishnan
d41c20f06c
convert VolumesModel to use [error, result] pattern
2025-09-10 10:48:52 +02:00
Girish Ramakrishnan
30b09856a5
set default seal encryption to true
2025-09-10 10:33:29 +02:00
Girish Ramakrishnan
3307c0c183
Fix volume remount status notification
2025-09-10 10:28:46 +02:00
Girish Ramakrishnan
fb1af04b55
reorder volumes menu and fix translation
2025-09-09 22:11:21 +02:00
Girish Ramakrishnan
fda439cb38
make volumes dialog large enough for ssh private key
2025-09-09 22:06:06 +02:00
Girish Ramakrishnan
eb8044e3d4
add place holder for well-known locations
2025-09-09 21:27:28 +02:00
Girish Ramakrishnan
842177a0aa
default footer is too small
2025-09-09 17:21:57 +02:00
Girish Ramakrishnan
6913fe1f08
fix layout in login page and password reset
2025-09-09 17:21:47 +02:00
Girish Ramakrishnan
aaf2c7f58a
fix layout in activation view
2025-09-09 16:39:33 +02:00
Girish Ramakrishnan
8c9ed4907b
More style fixes to Restore and Setup view
2025-09-09 16:30:10 +02:00
Girish Ramakrishnan
d7c1a8f7ae
setup/restore: fix alignment
2025-09-09 16:07:20 +02:00
Girish Ramakrishnan
f3855b6548
Update lock file
2025-09-09 14:14:55 +02:00
Girish Ramakrishnan
82096b67a5
Update translations
2025-09-09 14:14:09 +02:00
Girish Ramakrishnan
a560c9c1ee
Make width of TextInput 100% here instead of pankow
2025-09-09 09:36:56 +02:00
Girish Ramakrishnan
2a089eab08
Use a scope style instead
2025-09-09 09:30:16 +02:00
Girish Ramakrishnan
ab4607bf0e
Fix display of token/password
2025-09-09 09:20:41 +02:00
Girish Ramakrishnan
c9e839f1fd
Fix alignment of section header and body
2025-09-08 19:32:45 +02:00
Girish Ramakrishnan
33c75076da
quote the value in error message
2025-09-08 18:59:47 +02:00
Girish Ramakrishnan
8d9fe13490
set token scope default to rw
2025-09-08 16:45:49 +02:00
Girish Ramakrishnan
1752579f9d
unset -> No email address set
2025-09-08 16:31:55 +02:00
Girish Ramakrishnan
a525104dac
Fix header links
2025-09-08 16:06:27 +02:00
Girish Ramakrishnan
375fd7a6aa
style: remove hover on settings item
...
hover for non-clickable elements is distracting
2025-09-08 11:57:02 +02:00
Girish Ramakrishnan
cd79191d7a
activate: center the headers
2025-09-07 13:12:37 +02:00
Girish Ramakrishnan
904994ae24
setup: fix provider pre-selection and ip detection
2025-09-07 13:01:51 +02:00
Girish Ramakrishnan
0a1870d862
setup: if dns setup errors, reset busy
2025-09-07 12:46:33 +02:00
Girish Ramakrishnan
d1ab79a9e7
Setup view: style fixes
2025-09-07 12:37:13 +02:00
Girish Ramakrishnan
b37769b935
Fix wasabi region names and add region field
2025-09-04 16:07:23 +02:00
Girish Ramakrishnan
ac7001b96e
reverseproxy: remove OCSP support
...
OCSP is getting deprecated in favor CRLs. Lets Encrypt has already
removed the OCSP URL in the certs and the OCSP validation server
is being decommissioned .
https://letsencrypt.org/2024/12/05/ending-ocsp/
2025-09-04 09:43:49 +02:00
Johannes Zellner
8c0b88d69a
Update frontend dependencies
2025-08-27 18:09:21 +02:00
Girish Ramakrishnan
4381809959
docker: container id cannot be null
2025-08-27 08:33:25 +02:00
Johannes Zellner
54d3cd86b9
Replace backup target listing with a more detailed list view to track progress
2025-08-26 20:15:31 +02:00
Girish Ramakrishnan
1720feeeee
add note on docker version
2025-08-26 10:26:03 +02:00
Girish Ramakrishnan
f7b40d5f92
backupTargets: increase name length
2025-08-26 07:40:58 +02:00
Girish Ramakrishnan
31df40a841
storage: add copyDir
...
we changed listDir in c44863a9bb to list
a directory . this broke copy for files since a '/' is added when listing
the file.
2025-08-26 00:01:14 +02:00
Girish Ramakrishnan
cdda8649fc
backuptask: log the target id
2025-08-25 23:04:56 +02:00
Girish Ramakrishnan
c44863a9bb
s3: ensure we list directory
...
<timestamp>/box_v9.0.0.backupinfo ends up getting listed
when trying to list <timestamp>/box_v9.0.0 !
2025-08-25 19:15:21 +02:00
Girish Ramakrishnan
1e4df539b7
improve the logs
2025-08-25 19:15:08 +02:00
Girish Ramakrishnan
823599fd78
eventlog: add event when backuptarget name changes
2025-08-25 11:08:36 +02:00
Girish Ramakrishnan
94852460c1
backuptarget: update the schedule in the target object
2025-08-25 11:06:18 +02:00
Girish Ramakrishnan
900a789b69
rootPath is not used anymore
2025-08-23 09:35:24 +02:00
Girish Ramakrishnan
013c181aaa
typo
2025-08-23 08:16:19 +02:00
Girish Ramakrishnan
3b38440385
apptask: delete app dir files when restoring
...
also, better deleteAppDir logs
2025-08-22 19:37:50 +02:00
Johannes Zellner
074977c58e
Update pankow
2025-08-22 16:57:48 +02:00
Johannes Zellner
3625eb01e2
Also special case backup schedule with * for hours
2025-08-22 16:54:49 +02:00
Johannes Zellner
bbc5217c81
Remove unused variable
2025-08-22 16:46:45 +02:00
Johannes Zellner
a5515ad08b
Be more explicit on what a backupTarget needs
2025-08-21 11:27:03 +02:00
Johannes Zellner
12e4441227
BoxError always needs a second argument
2025-08-21 11:20:18 +02:00
Johannes Zellner
fdc4ddf316
disk usage update cron job is no more
2025-08-21 11:17:01 +02:00
Johannes Zellner
eb2ebead28
Get the primary backup target during box update
2025-08-21 11:15:42 +02:00
Johannes Zellner
a8ed7eb914
backuptarget.list() needs arguments
2025-08-21 11:10:27 +02:00
Johannes Zellner
fd509a9099
Fix variable shadowing
2025-08-21 11:07:37 +02:00
Johannes Zellner
7bf4b23ee5
Add test to filter out /boot
2025-08-21 10:55:05 +02:00
Johannes Zellner
937dd2be5e
Do not list /boot partition for blockdevices routes
2025-08-21 10:26:46 +02:00
Johannes Zellner
5f9789f99f
Enforce app count limit during installation
2025-08-20 20:03:09 +02:00
Johannes Zellner
d6d70163d5
Do not reregister during activation if already registerd by setupToken
2025-08-20 17:50:43 +02:00
Johannes Zellner
f4c830e671
Make backup integrity task known to dashboard
2025-08-19 15:03:39 +02:00
Johannes Zellner
950bdb5b76
Show storage target in backup listings
2025-08-19 14:32:27 +02:00
Johannes Zellner
3068ed75ee
Add all missing translations for now
2025-08-19 10:49:27 +02:00
Johannes Zellner
42945e1b42
Remove all usage of old table action pattern
2025-08-18 19:12:38 +02:00
Johannes Zellner
faef230d85
Use new table action pattern in main applist
2025-08-18 18:25:11 +02:00
Johannes Zellner
a7f0dfdff7
Remove unnecessary link to specific appstore version in postinstall dialog
2025-08-18 18:00:43 +02:00
Johannes Zellner
da28516a98
Reduce text in postinstall dialog
2025-08-18 17:57:05 +02:00
Johannes Zellner
44e27bf9ab
Update pankow
2025-08-18 17:26:40 +02:00
Johannes Zellner
72fdc707ee
Move most all table views to new action menu pattern
2025-08-18 17:25:50 +02:00
Johannes Zellner
4d8b6c5ea7
Update translations
2025-08-18 15:59:40 +02:00
Johannes Zellner
fafa299ae1
Port domainsview to new action pattern
2025-08-18 15:51:56 +02:00
Johannes Zellner
f779957145
Pass only hostPath as string to mounts.remount()
2025-08-18 14:19:55 +02:00
Johannes Zellner
ce6a26976c
Fixup some vuejs type warnings
2025-08-18 14:08:00 +02:00
Johannes Zellner
b53a6da24a
Add backup stats in backup listing
2025-08-18 13:04:54 +02:00
Johannes Zellner
438fdaa1b1
Remove old reference for starfall.css
2025-08-18 10:37:59 +02:00
Johannes Zellner
eb10d0d8d0
Fix muted text in postinstall dialog
2025-08-18 09:57:03 +02:00
Johannes Zellner
e1a7056ef8
Add some colorshift blob animation to dns setup
2025-08-17 17:22:50 +02:00
Johannes Zellner
20fa49f8e4
Fix leftovers
2025-08-16 19:28:41 +02:00
Johannes Zellner
4ff90029b1
Fix BackupProviderForm usage in restore view
2025-08-16 19:26:19 +02:00
Girish Ramakrishnan
20b75b4065
rsync: integrity check
2025-08-16 19:29:59 +05:30
Girish Ramakrishnan
832a25601d
storage: make listDir return paths relative to the root
...
this seems more natural to work with
2025-08-16 18:13:02 +05:30
Girish Ramakrishnan
19682ec21b
tgz: integrity check
2025-08-15 21:23:39 +05:30
Girish Ramakrishnan
b71e2957d3
backuptask: add progress message for backupinfo
2025-08-15 16:01:59 +05:30
Girish Ramakrishnan
e7fb444bb3
backuptask: save backupinfo in one place
2025-08-15 14:33:31 +05:30
Girish Ramakrishnan
fd2705a49d
schema: more missing fields
2025-08-14 20:28:34 +05:30
Girish Ramakrishnan
935c9a50ab
schema: add missing fields
2025-08-14 19:58:30 +05:30
Girish Ramakrishnan
08c2e989fa
syncer: fix test
2025-08-14 16:16:58 +05:30
Girish Ramakrishnan
942e595444
Fix profile test
2025-08-14 16:02:54 +05:30
Girish Ramakrishnan
f2225ff6b6
fs.rmdirSync { recursive: true } is deprecated
2025-08-14 13:43:41 +05:30
Girish Ramakrishnan
12e073e8cf
use node: prefix for requires
...
mostly because code is being autogenerated by all the AI stuff using
this prefix. it's also used in the stack trace.
2025-08-14 12:55:35 +05:30
Girish Ramakrishnan
d3b77c3be1
rsync: delete any existing rsync cache files
2025-08-14 10:40:36 +05:30
Girish Ramakrishnan
2607ad2e24
rsync: add fileCount to stats and fix integrity collection
2025-08-14 10:05:13 +05:30
Johannes Zellner
67f0801453
Add optional encryption settings to app import dialog
2025-08-13 20:33:24 +02:00
Johannes Zellner
eebd36ccc8
Fix sorting by backup target
2025-08-13 20:02:28 +02:00
Johannes Zellner
55d401c098
Avoid flicking of backup target list if default changes
2025-08-13 19:58:16 +02:00
Johannes Zellner
0c1c5ae9e5
Show backup storage for each backup
2025-08-13 19:51:42 +02:00
Girish Ramakrishnan
d7b5d1f947
rename .checksum to .backupinfo
2025-08-13 21:29:41 +05:30
Johannes Zellner
80f253e67c
Fix overflow issues for info-row values in the dialogs
2025-08-13 16:54:44 +02:00
Girish Ramakrishnan
39cad02e0d
backup: add a dummy removePrivateFields
2025-08-13 19:56:21 +05:30
Girish Ramakrishnan
0c79dcdf1b
tgz: add fileCount to integrity
2025-08-13 19:56:21 +05:30
Girish Ramakrishnan
cb1bc6cfdf
tgz: add fileCount to stats
2025-08-13 19:56:21 +05:30
Johannes Zellner
a7094de40f
Do not display backup target format in the app backup details
2025-08-13 15:38:17 +02:00
Girish Ramakrishnan
b5c9f034ca
Use hash stream instead of crypto.createHash
...
crypto.createHash is a write stream but not a PassThrough stream!
2025-08-13 18:48:22 +05:30
Johannes Zellner
d875ed5cf5
Update pankow
2025-08-13 14:20:13 +02:00
Johannes Zellner
53e4b347de
Fixup typo
2025-08-13 13:57:39 +02:00
Johannes Zellner
fafdf88442
Disable backup button if app is stopped
2025-08-13 13:52:55 +02:00
Girish Ramakrishnan
0911de205f
stringify the Map correctly
2025-08-13 17:21:46 +05:30
Johannes Zellner
26fc03ee19
Fixup another vue type check
2025-08-13 13:39:45 +02:00
Johannes Zellner
f406de3089
Fix vue prop type check
2025-08-13 13:34:45 +02:00
Johannes Zellner
b62f7a7497
Fixup system timezone link
2025-08-13 13:27:53 +02:00
Girish Ramakrishnan
59b428f24b
decrease the JSON indent
2025-08-13 15:55:00 +05:30
Girish Ramakrishnan
54e8395789
add missing require
2025-08-13 15:25:23 +05:30
Girish Ramakrishnan
2fabfbe8f6
rsync: add integrity information
2025-08-13 14:43:05 +05:30
Girish Ramakrishnan
28ac9e153e
rsync: make processSyncerChange a local function
2025-08-13 09:09:48 +05:30
Girish Ramakrishnan
dadbf1de90
tgz: save integrity information as a Map
...
just for consistency because rsync will use a Map
2025-08-13 08:39:03 +05:30
Girish Ramakrishnan
2e16dd983f
backups: stash the stats to the backups table
2025-08-12 20:21:54 +05:30
Girish Ramakrishnan
847f57855c
Fix test
2025-08-12 20:21:54 +05:30
Girish Ramakrishnan
2d412c019c
Use # for private fields
2025-08-12 19:24:03 +05:30
Girish Ramakrishnan
47fc9561ab
backups (tgz): save integrity information
...
we generate a signing key pair for each target. Initially, I had this
as global. We needed a route to return the public key and putting it
under backup target seemed natural. Since we delete the backups when
we delete a target, we lose all the signing hashes. So, it's fine to lose
the key pair on target delete.
2025-08-12 19:00:29 +05:30
Johannes Zellner
25fa999259
Fixup various vuejs warnings
2025-08-11 19:07:02 +02:00
Johannes Zellner
f40145412b
Fix app link icon reset handling
2025-08-11 16:45:40 +02:00
Johannes Zellner
cec15dbfc0
Suppress warnings when translation string has html
2025-08-11 16:45:24 +02:00
Johannes Zellner
69d0790484
Add some missing translations and make backup target name editable
2025-08-10 19:36:37 +02:00
Johannes Zellner
537a904a49
Use new table action pattern for backup listing
2025-08-10 18:54:26 +02:00
Johannes Zellner
939643c307
Refresh backup target listing if default changes
2025-08-10 18:36:55 +02:00
Johannes Zellner
2ce208854f
Show app task error in state label
2025-08-10 18:28:17 +02:00
Johannes Zellner
6883b91f8a
Move app task progress indicator between logo and toolbar
2025-08-10 18:17:09 +02:00
Johannes Zellner
dccdef99c1
Add missing empty list placeholder in app backups
2025-08-10 18:06:18 +02:00
Johannes Zellner
76ab99bca6
redirectTo is not a const
2025-08-10 15:53:05 +02:00
Johannes Zellner
fed0c7a330
Only log error to console if not handled
2025-08-10 15:52:53 +02:00
Johannes Zellner
f179d92c9c
Sync email template button colors with pankow colors
2025-08-10 15:30:01 +02:00
Johannes Zellner
907c6dec47
Update pankow
2025-08-10 12:09:33 +02:00
Johannes Zellner
3ea9192f79
Validate user account input during account setup
2025-08-08 10:07:14 +02:00
Johannes Zellner
6a5cd698a4
Remove unused requires
2025-08-08 09:58:55 +02:00
Johannes Zellner
179dd0e4d8
Move update backup target selector into backup target view
2025-08-08 09:45:20 +02:00
Johannes Zellner
4c5763b125
More vue warning fixes
2025-08-07 21:05:40 +02:00
Johannes Zellner
37ed1f750e
Fixup some vue warnings
2025-08-07 20:03:03 +02:00
Johannes Zellner
9528e26487
Update vite
2025-08-07 20:02:53 +02:00
Johannes Zellner
8143ef1057
Fix autologin after account creation
2025-08-07 17:16:46 +02:00
Johannes Zellner
2056015fa2
Add a unified setup view stylesheet
2025-08-07 16:30:33 +02:00
Johannes Zellner
1d98c76c90
Fix appstore account polling
2025-08-07 14:10:06 +02:00
Johannes Zellner
bddc65e072
Protect against accessing invalid DOM elements when metricstream callbacks occur for delete views
2025-08-07 14:09:48 +02:00
Johannes Zellner
1b7a06aaf1
Clear password error on change in setup account
2025-08-07 14:09:09 +02:00
Johannes Zellner
fbf12dc764
Improve invitation dialog
2025-08-07 13:41:53 +02:00
Girish Ramakrishnan
e390a56f05
users: ensure all user objects have groupIds
...
this prevents ldap/sftp code from detecting user groups
and thus fails to detect membership of a user via operator groups.
2025-08-07 12:32:21 +02:00
Johannes Zellner
063c272aea
Add language for the setupaccount rendering
2025-08-07 12:15:26 +02:00
Johannes Zellner
c00fd0480c
Add operator setting in app acl configure
2025-08-07 11:58:38 +02:00
Johannes Zellner
ca732f9b8b
Fallback to email if user does not yet have a username set
2025-08-07 11:38:25 +02:00
Johannes Zellner
d3a0fe64e7
Fix typo
2025-08-07 10:42:37 +02:00
Johannes Zellner
90256ba68a
Show form errors for group dialog
2025-08-07 10:40:53 +02:00
Johannes Zellner
8b30762f03
Add some missing translations
2025-08-06 20:39:10 +02:00
Johannes Zellner
77436877ef
Give some indicator in the backup target list which is used for updates
2025-08-06 20:25:14 +02:00
Johannes Zellner
840e1c5c5b
Improve the wording
2025-08-06 20:23:27 +02:00
Johannes Zellner
ee179a0bd8
Add section to set the primary backup target for updates
2025-08-06 20:08:53 +02:00
Johannes Zellner
2a3ab0ecb2
Avoid some flickering in the Updates UI
2025-08-06 19:43:43 +02:00
Johannes Zellner
841c7730e7
Allow to edit backup target limits
2025-08-06 16:40:06 +02:00
Johannes Zellner
bf8f8d32a9
Add backup target edit dialog
2025-08-06 16:26:00 +02:00
Johannes Zellner
8ba56f8b66
Remove unused code
2025-08-06 15:29:35 +02:00
Johannes Zellner
dc5e7ab98d
Allow to dismiss the backup target add dialog
2025-08-06 14:37:10 +02:00
Johannes Zellner
ca7effe0c0
Remove options to set and display the 'primary' backup target
2025-08-06 14:15:11 +02:00
Johannes Zellner
7e543a64e4
Only rsync format supports hardlinks, chown and preserving of fs
...
attributes
2025-08-06 13:54:42 +02:00
Johannes Zellner
98ea5a7b70
Setup backup encryption in extra step
2025-08-06 13:53:06 +02:00
Johannes Zellner
7883839871
Use backup storage instead of targets in UI
2025-08-06 11:42:29 +02:00
Girish Ramakrishnan
f8d74bbb6d
backuptarget: add default at provisioning time (again)
...
we clear the db in the tests. the tests run the setup again and again.
so, it's easier to add default values in provision time instead of
migration.
2025-08-06 11:11:11 +02:00
Johannes Zellner
387c399078
Make active ProgressBars busy
2025-08-06 10:28:34 +02:00
Girish Ramakrishnan
c184f1e42e
mailer: handle error at the caller instead
...
the send test email logic breaks if we disable throwing error in send
2025-08-06 10:18:09 +02:00
Girish Ramakrishnan
5c7d19ce13
mailer: set timeouts
2025-08-06 10:00:56 +02:00
Girish Ramakrishnan
3d4b3edc3a
mailer: log error and do not throw
...
this suppresses eventlog exceptions when mail is down or the
mail is rejected because outbound is disabled.
in apphealthmonitor, we hit a case where eventlog entries are
continuously added since mailer was not sending emails. the health
state of the app is never switched because mail sending failed.
2025-08-06 09:59:40 +02:00
Girish Ramakrishnan
a7ffc8a172
mailer: node-mailer supports async natively
2025-08-06 08:26:57 +02:00
Girish Ramakrishnan
618d2b993a
apphealth: print healthcheck exceptions
2025-08-06 08:26:08 +02:00
Johannes Zellner
2458b6b388
Use pankow progress indicator for apps view
2025-08-05 18:52:59 +02:00
Johannes Zellner
be933b8b78
Update pankow
2025-08-05 18:29:28 +02:00
Johannes Zellner
38dcb7bd3e
Make backuptarget actions a dropdown menu
2025-08-05 18:07:18 +02:00
Johannes Zellner
a001126704
primary flag for backup targets is set outside of the edit dialog
2025-08-05 17:02:51 +02:00
Johannes Zellner
fe513b1a07
Set normal text color for directory view entries
2025-08-05 16:57:36 +02:00
Johannes Zellner
0825d0511a
Move from noto sans to inter
2025-08-05 16:39:57 +02:00
Johannes Zellner
c1ec42a812
Fix backup edit dialog submission
2025-08-05 16:12:43 +02:00
Johannes Zellner
ae747aa426
Add backup cleanup job tracking and triggering to backup listing
2025-08-05 16:07:41 +02:00
Girish Ramakrishnan
70cf212178
promise-retry: only print stack on last attempt
2025-08-05 14:38:12 +02:00
Girish Ramakrishnan
5992658164
restore: fix restore
2025-08-05 14:38:12 +02:00
Johannes Zellner
6e79927bc0
Merge BackupList component into the main list view
2025-08-05 14:21:05 +02:00
Johannes Zellner
8dffd6181d
Track platform backup tasks in the backup list view
2025-08-05 14:11:30 +02:00
Girish Ramakrishnan
c4ee21bdb0
Revert "provision: add default backup target after setup"
...
This reverts commit 1a0d1f7d79 .
20171205124434-settings-default-backupConfig.js already adds the default
2025-08-05 13:41:26 +02:00
Girish Ramakrishnan
1d1197e18a
restore: use PENDING_RESTORE instead of PENDING_IMPORT
2025-08-05 12:46:50 +02:00
Johannes Zellner
cc1ff369a7
Trigger backups for primary targets in backup listing
2025-08-05 12:44:22 +02:00
Girish Ramakrishnan
c89030beee
add encryptionPasswordHint to config
2025-08-05 12:39:48 +02:00
Johannes Zellner
4fa65099f9
Add multipleBackupTargets and encryptedBackups to features
2025-08-05 12:03:32 +02:00
Girish Ramakrishnan
2a90a0a278
backup target: add password hint and encryption route
2025-08-05 11:26:02 +02:00
Girish Ramakrishnan
36ab052dda
restore: import with the latest backup on cloudron restore
...
in previous versions, the single backup target was replaced during
restore. we cannot do this anymore with multiple backup targets.
during cloudron restore, a pseudo target is created and all the apps
are restored using this backup target.
2025-08-04 23:24:06 +02:00
Girish Ramakrishnan
fddbe6a574
Fixup tests
2025-08-04 23:11:50 +02:00
Johannes Zellner
a887be432b
Create correct mount objects for mountpoint validation
2025-08-04 15:25:27 +02:00
Johannes Zellner
cf86645bb5
Remove backup list from backup targets view
2025-08-04 15:17:46 +02:00
Johannes Zellner
705311f01f
Fix typo
2025-08-04 15:17:27 +02:00
Johannes Zellner
81429bfa85
Adjust backup listing icon
2025-08-04 15:08:12 +02:00
Johannes Zellner
1016d41d7a
Rename backup label to name and separate backup listing into new view
2025-08-04 15:00:24 +02:00
Johannes Zellner
0ff760fe4a
Ensure we pass mount object also from volumes code
2025-08-04 14:40:35 +02:00
Johannes Zellner
f48b1d066e
fix backup target edit form filling
2025-08-04 14:40:35 +02:00
Johannes Zellner
90c82ab1e7
make sure we only use mount objects with the mounts api
2025-08-04 14:40:35 +02:00
Girish Ramakrishnan
1a0d1f7d79
provision: add default backup target after setup
2025-08-04 14:33:12 +02:00
Girish Ramakrishnan
132132307f
backuptarget: rename label to name
2025-08-04 14:28:37 +02:00
Johannes Zellner
2a6e6a671e
Fix remount tooltip
2025-08-04 13:43:50 +02:00
Johannes Zellner
c073f2a15b
Add backup target remount action
2025-08-04 13:35:30 +02:00
Johannes Zellner
cf1e1aac77
Fixup some refactoring issues in mounting ext4
2025-08-04 13:32:12 +02:00
Johannes Zellner
19893601f2
Show backup target status
2025-08-04 11:48:00 +02:00
Johannes Zellner
034d35b8a7
Add primary target tooltip
2025-08-04 11:10:49 +02:00
Girish Ramakrishnan
7ef9e7eb51
storage: add getStatus hook
2025-08-04 11:01:20 +02:00
Girish Ramakrishnan
28e23dfdab
backuptargets: add test that archives/backups are removed when target is deleted
2025-08-04 10:21:29 +02:00
Girish Ramakrishnan
2c80c4a7d5
backuptargets: fix del to delete archives as well
2025-08-04 10:16:19 +02:00
Girish Ramakrishnan
5c1147bfa4
backupTargets: id is not used in config
2025-08-04 09:49:06 +02:00
Johannes Zellner
ee79744735
Add action to make a backup target the primary one
2025-08-04 09:40:55 +02:00
Johannes Zellner
410d4a47ed
Fix typo
2025-08-03 21:05:46 +02:00
Girish Ramakrishnan
ead6d9c7d3
Fix app import
2025-08-02 20:42:12 +02:00
Girish Ramakrishnan
4c74908789
targets ui: backupFolder -> backupDir
2025-08-02 11:20:48 +02:00
Girish Ramakrishnan
547d8ae113
filesystem: rename backupFolder to backupDir
2025-08-02 10:37:37 +02:00
Girish Ramakrishnan
4fcaae8053
backup: fix listDir to return path instead of fullPath
2025-08-02 10:24:51 +02:00
Girish Ramakrishnan
c935744f4c
backups: root ~~canal~~ path surgery
...
remove rootPath and getBackupFilePath from the backup target and
make this backend specific.
2025-08-02 10:15:34 +02:00
Girish Ramakrishnan
a01e1bad0f
backuptarget: pseudo target for import and restore
2025-08-02 00:06:47 +02:00
Girish Ramakrishnan
3cabbc1328
backupformat: getFileExtension
2025-08-01 22:58:26 +02:00
Girish Ramakrishnan
7192439b2c
no need for format specific getBackupFilePath
2025-08-01 20:49:11 +02:00
Girish Ramakrishnan
ff6cbf6628
backups: encode extension into the remotePath
2025-08-01 20:42:12 +02:00
Girish Ramakrishnan
53e9925880
backups: make id, provider a backend specific setting
...
the backend can stash whatever values it wants in the config.
just like the DNS backends, we make verifyConfig return a sanitized config.
added benefit is that extra user fields (via API) are also not dumped into the db.
2025-08-01 18:55:04 +02:00
Girish Ramakrishnan
9dfe6242b9
mounts: rename name to description
...
this makes it clear that the field is not important
2025-08-01 15:48:11 +02:00
Girish Ramakrishnan
ea419509f1
backups: add setup/teardown
...
1. add setup, teardown hooks
2. move the managed mount setup and teardown to filesystem backend
3. remove this vague storage.js
we should convert storageApi into a real object, so we don't have to
keep passing apiConfig around
2025-08-01 15:36:25 +02:00
Girish Ramakrishnan
a1a683ec56
import: use inPlace flag
2025-08-01 13:22:12 +02:00
Girish Ramakrishnan
dbe3b6a427
Update package lock
2025-08-01 12:58:36 +02:00
Girish Ramakrishnan
e8bd4d05b5
Update dashboard packages
2025-08-01 12:54:42 +02:00
Girish Ramakrishnan
1fb0ed9545
port bindings: use enabledByDefault
2025-08-01 12:20:45 +02:00
Girish Ramakrishnan
ea464bdc7d
update modules
2025-08-01 12:14:32 +02:00
Johannes Zellner
d1c2d0b907
Move schedule and retention settings back to a separate dialog
2025-07-31 18:18:27 +02:00
Johannes Zellner
175b2914b6
Make basic backup target add and edit work
2025-07-31 17:25:31 +02:00
Johannes Zellner
a2c86daef6
Remove now unused AppArchive component
2025-07-31 14:37:32 +02:00
Johannes Zellner
b40248a1d5
Create separate views for backup targets and archives
2025-07-31 11:51:45 +02:00
Girish Ramakrishnan
ae3a34287a
backup target: create snapshot and cache files per target
...
snapshot file tracks the snapshot directory. when app gets deleted,
the cleaner will remove the upstream snapshot directory when it runs.
cache files are used in rsync logic to track what was uploading into
snapshot in the previous run without needing to rescan upstream.
2025-07-30 11:44:42 +02:00
Girish Ramakrishnan
b971f2ab22
Fix tests
2025-07-28 13:11:57 +02:00
Girish Ramakrishnan
cbc73f5c9a
remove uuid module
...
built into node.js now
2025-07-28 12:54:09 +02:00
Girish Ramakrishnan
373ef5b7e1
import: make the ui work again
2025-07-28 12:12:43 +02:00
Girish Ramakrishnan
89388940ed
backups: make backup download config work
2025-07-28 11:18:02 +02:00
Girish Ramakrishnan
b2c94adabf
cron: fix cleanup task
2025-07-25 14:54:51 +02:00
Girish Ramakrishnan
3904f50c1b
locks: make full backup use a prefix
2025-07-25 14:46:55 +02:00
Girish Ramakrishnan
d81fa897ad
apptask: use primary target during update
2025-07-25 14:32:22 +02:00
Girish Ramakrishnan
a0792aa469
backups: make sure reused error backup is in same target
2025-07-25 14:06:35 +02:00
Girish Ramakrishnan
5be03c7ab5
backups: fix app restore with rsync
2025-07-25 13:49:37 +02:00
Girish Ramakrishnan
fc4da4408c
backups: fix app restore with tgz
2025-07-25 13:39:09 +02:00
Girish Ramakrishnan
83ab701d02
eventlog: add backup target eventlog
2025-07-25 12:23:41 +02:00
Girish Ramakrishnan
59aaabecc7
backups: the get route was accidentally removed
2025-07-25 11:56:31 +02:00
Girish Ramakrishnan
3f07bb5c3a
backup targets: add test for all routes
2025-07-25 11:29:00 +02:00
Girish Ramakrishnan
94dd1eb0c2
backups: add setPrimary route
2025-07-25 09:43:26 +02:00
Girish Ramakrishnan
07ab079715
test: fix the archives test
2025-07-25 09:14:17 +02:00
Girish Ramakrishnan
d559df3ee3
system: take multiple backup targets into account
2025-07-25 08:45:11 +02:00
Girish Ramakrishnan
69cd766f88
backups: run cron schedule per target
2025-07-25 08:36:09 +02:00
Girish Ramakrishnan
276db17f0c
backups: use a real targetId
2025-07-25 08:12:27 +02:00
Girish Ramakrishnan
cfce39c1de
backups: no need to track taskId, we track it in task.type+prefix
2025-07-25 07:41:48 +02:00
Girish Ramakrishnan
ef5631bff4
backups: setPolicy is gone
2025-07-25 01:42:25 +02:00
Girish Ramakrishnan
62017b3ff5
backup: rename back backuplisting.js to backups.js
...
this was a transitional rename till I figured out how to split
it in backuptargets.js
2025-07-25 01:37:19 +02:00
Girish Ramakrishnan
3aafbd2ccb
backups: add backup multiple targets
2025-07-25 01:30:27 +02:00
Girish Ramakrishnan
100bea981d
constants: rename AUTOUPDATE_PATTERN_NEVER to CRON_PATTERN_NEVER
2025-07-24 21:47:46 +02:00
Girish Ramakrishnan
931311f11f
rename backups to backuptargets
2025-07-24 18:54:10 +02:00
Girish Ramakrishnan
5e456f378b
backups: split listing and targets
2025-07-24 18:21:48 +02:00
Girish Ramakrishnan
bf315258c5
backups: add target foreign key to backups table
...
format is part of the backup target
in the future, if we want per-app format or schedule, we can add this
separately to the apps table itself. the full box backup can ignore
apps with a set backup target and use the latest backup (like an errored app).
the nice thing is restore will work correctly.
2025-07-24 17:32:16 +02:00
Girish Ramakrishnan
9780db6fa0
add backup targets table
2025-07-24 17:32:16 +02:00
Johannes Zellner
6d0a24cc95
Update postgres addon to support vectorchord 0.3.0
2025-07-24 16:45:08 +02:00
Girish Ramakrishnan
1a3d6e86a8
sudo: alway run in non-interactive
2025-07-24 14:42:31 +02:00
Johannes Zellner
4f5efef922
Remove the app repair dialog in favor of just a simple button to trigger repair
2025-07-24 11:49:26 +02:00
Johannes Zellner
ff269d414e
Allow configuring volumes if we got a task error there
2025-07-24 11:44:29 +02:00
Johannes Zellner
c3e746aa74
Allow to redo the update if the app task failed
2025-07-24 11:35:50 +02:00
Johannes Zellner
511047874e
Disable app backup on app task error
2025-07-24 10:49:27 +02:00
Johannes Zellner
47e40fc762
Allow to toggle debug mode on debug task failure
2025-07-24 10:09:24 +02:00
Johannes Zellner
27c113d8ae
Allow to reconfigure app data dir if task failed
2025-07-23 17:39:44 +02:00
Johannes Zellner
c082f2a1b1
If app clone fails only uninstall is possible
2025-07-23 17:33:42 +02:00
Johannes Zellner
12f7a3fca0
Allow to resubmit app email settings if service task failed
2025-07-23 17:31:56 +02:00
Johannes Zellner
88d66dee6e
Hide help popover on mobile
2025-07-23 17:22:25 +02:00
Johannes Zellner
3460e6d513
Allow to reconfigure services if task fails
2025-07-23 17:18:26 +02:00
Johannes Zellner
1831caea08
Also prevent accessing graph tooltip DOM elements if they are gone
2025-07-23 17:07:49 +02:00
Johannes Zellner
b88885582d
Do not access graph DOM elements if view was already destroyed
2025-07-23 17:05:59 +02:00
Johannes Zellner
66650d6dd9
Handle resubmission state for app devices errors
2025-07-23 16:51:04 +02:00
Johannes Zellner
0b65f07960
Allow resubmission of memory and cpu resources on resource task error
2025-07-23 16:40:06 +02:00
Johannes Zellner
b14e6a7860
Do not use repair route to fixup start/stop errors
2025-07-23 16:07:32 +02:00
Johannes Zellner
68a8c964ea
If we have app.error we always have an app.error.details object
2025-07-23 15:40:25 +02:00
Johannes Zellner
f03ac0133f
Allow to resubmit location info on pending location change task failure
2025-07-23 15:38:02 +02:00
Johannes Zellner
6c1045c545
error installationState is in the error details
2025-07-23 15:31:25 +02:00
Johannes Zellner
0cdfd5e62b
Remove stray console.log
2025-07-23 13:31:17 +02:00
Johannes Zellner
a839638478
Remove app start/stop button from toolbar
2025-07-23 13:16:13 +02:00
Johannes Zellner
1063dbea02
Fix repair state when installation or uinstallation fails
2025-07-23 12:09:29 +02:00
Johannes Zellner
c173db69a9
Give graph legend text an outline instead of background blur for readabilitiy
2025-07-23 11:36:39 +02:00
Johannes Zellner
bbbab1b2e5
j
2025-07-22 21:01:49 +02:00
Johannes Zellner
c9b6b5b8e1
Fix eventlog to always load initially
2025-07-22 21:00:19 +02:00
Johannes Zellner
2386124089
Upcloud S3 does not return a Contents property if no keys are found
2025-07-22 18:55:44 +02:00
Johannes Zellner
9e907f10b1
Fix the redirection pre-setup
2025-07-22 18:36:37 +02:00
Johannes Zellner
2ec6e47086
Use the new indeterminate spinner in the restore view
2025-07-22 16:48:51 +02:00
Johannes Zellner
504e18d9a7
Set busy state to false when restore fails
2025-07-22 16:24:46 +02:00
Johannes Zellner
b021ff4e21
on import/restore do not show s3 livecycle rules hint
2025-07-22 15:52:51 +02:00
Johannes Zellner
32c50a9793
Update pankow
2025-07-21 18:59:41 +02:00
Johannes Zellner
44ae48baf5
Draw custom graphs tooltips so we are not limited to the canvas size when many apps are selected
2025-07-21 18:56:02 +02:00
Johannes Zellner
cc3dc1636b
Ensure proxyauth has a fallback icon for apps without icons
2025-07-21 16:26:22 +02:00
Johannes Zellner
545ac689b1
Remove unused require
2025-07-21 16:22:20 +02:00
Girish Ramakrishnan
e7799fef1c
appstore: fail properly for non-200 when downloading icon
2025-07-21 12:11:26 +02:00
Girish Ramakrishnan
d857ca46e0
test: add more system tests
2025-07-20 10:25:33 +02:00
Girish Ramakrishnan
0e3cc97ee6
system: use last mountpoint like before
2025-07-20 10:18:06 +02:00
Girish Ramakrishnan
66107cf7a4
system: make filesystem return value an array
...
Filesystem of df output is not unique
2025-07-20 10:06:01 +02:00
Girish Ramakrishnan
1e8df5c9d0
system: check if mountpoint is array
2025-07-19 13:06:50 +02:00
Girish Ramakrishnan
4f608bdc5f
Fix tasks test
2025-07-18 20:55:54 +02:00
Johannes Zellner
3da1bae826
Add a way to disable/enable app configure views based on task error
2025-07-18 20:50:10 +02:00
Girish Ramakrishnan
48559d3358
tasks: distinguish runtime crash vs task error in worker
2025-07-18 20:02:06 +02:00
Girish Ramakrishnan
5d8871a044
boxerror: remove usage of Object.assign
2025-07-18 19:33:34 +02:00
Girish Ramakrishnan
a684fadf43
metrics: fix crash
2025-07-18 19:32:04 +02:00
Johannes Zellner
8c858c6b1e
First check for app updates on the backend then fetch updates
2025-07-18 18:13:42 +02:00
Girish Ramakrishnan
7e0803c4b4
clean up task locks
2025-07-18 18:12:07 +02:00
Johannes Zellner
697b42c70f
Set max-height for app backup listing
2025-07-18 17:58:33 +02:00
Girish Ramakrishnan
cb52dfdd0f
backups.backupApp was used by the app update logic
2025-07-18 17:44:22 +02:00
Johannes Zellner
db203a5ad8
Pickup app backup progress
2025-07-18 17:40:38 +02:00
Johannes Zellner
3f4df35a3e
app backup logs is a secondary action
2025-07-18 16:32:32 +02:00
Johannes Zellner
4661576c8a
Add app backup task logs dropdown and improve task tracking
2025-07-18 16:22:41 +02:00
Johannes Zellner
b03bb5a3d7
Track app backup tasks in app backup view
2025-07-18 15:53:45 +02:00
Girish Ramakrishnan
f7d4f9d94e
Add to changelog
2025-07-18 14:41:03 +02:00
Girish Ramakrishnan
c10593e4ac
tasks: remove the prefix for invokation lookup
2025-07-18 14:33:26 +02:00
Girish Ramakrishnan
47580c6976
tasks: make type field longer
2025-07-18 14:24:24 +02:00
Girish Ramakrishnan
0fa281083e
apps: backup is not a state anymore
...
this is launched as a separate task
2025-07-18 14:14:54 +02:00
Girish Ramakrishnan
0aca6c2588
locks: rename lock types to make it clearer
2025-07-18 13:40:15 +02:00
Johannes Zellner
e181abe797
Polish disk usage
2025-07-18 13:36:48 +02:00
Girish Ramakrishnan
7818219763
system: query docker size lazily
2025-07-18 13:05:33 +02:00
Girish Ramakrishnan
25d20266b8
diskusage: emit other entry
2025-07-18 13:02:53 +02:00
Johannes Zellner
330505faaf
Also close eventsource on unmounted
2025-07-17 21:16:04 +02:00
Johannes Zellner
f7dd10bc08
Add an explicit button to load disk usage details
2025-07-17 21:03:36 +02:00
Johannes Zellner
20cc82e210
slightly better disk usage styling
2025-07-17 19:44:55 +02:00
Johannes Zellner
585885e6a2
Add detailed disk usage view on click
2025-07-17 19:27:09 +02:00
Johannes Zellner
149af003d4
Show filesystem overview in disk usage
2025-07-17 17:06:37 +02:00
Johannes Zellner
50a5b9861a
Fix meta tag injection
2025-07-17 17:03:44 +02:00
Girish Ramakrishnan
17ce6f7291
apptaskmanager: release lock and clear active task on task failure
2025-07-17 14:54:47 +02:00
Girish Ramakrishnan
7047ee9391
shell: add timeout logic and rework error handling
...
what's important:
* if task code ran, it exits with 0. this code is regardless of (error, result)
* when it exited cleanly, we will get the values from the database
* if task timed out, the box code kills it and it has a flag tracking timedOut. we can
ignore exit code in this case.
* if task code was stopped, box code will send SIGTERM which ideally it will handle and end with 70.
* if task code crashed and it caught the exception, it will return 50
* if task code crashed and node nuked us, it will exit with 1
* if task code was killed with some unhandleabe signal, taskworker.sh will return the signal (9=SIGKILL)
2025-07-17 12:44:24 +02:00
Girish Ramakrishnan
5e1c32b606
shell: rename signal to abortSignal
...
this prevents accidental typos with child_process signal handling
2025-07-17 09:50:43 +02:00
Girish Ramakrishnan
38032f0b77
remove the ignored debug
2025-07-17 09:47:26 +02:00
Girish Ramakrishnan
6364ea8e57
grammar
2025-07-17 08:30:51 +02:00
Girish Ramakrishnan
c796e724aa
shell/task: better logs
2025-07-17 02:04:50 +02:00
Girish Ramakrishnan
63053f46a8
shell: remove sudoCallback
2025-07-17 01:54:39 +02:00
Girish Ramakrishnan
8bf8c278f0
system: add tests for fs usage route
2025-07-17 01:42:28 +02:00
Girish Ramakrishnan
aa0c186c8c
logStream is not used anymore
2025-07-17 00:37:29 +02:00
Girish Ramakrishnan
5539f74bea
system: add disk usage task
2025-07-17 00:09:50 +02:00
Johannes Zellner
11a6cf8236
Add generic 412 http response handler to ask for dashboard refresh
2025-07-16 22:43:16 +02:00
Johannes Zellner
ce63dbde1b
Check current subscription status once a day
2025-07-16 22:11:11 +02:00
Girish Ramakrishnan
989d843fcb
shell: make shell.sudo promise based and waitable
2025-07-16 22:04:24 +02:00
Girish Ramakrishnan
32d07e7959
add spurious log
2025-07-16 21:37:30 +02:00
Girish Ramakrishnan
50b585c1dd
shell: merge some options
2025-07-16 21:32:27 +02:00
Girish Ramakrishnan
e03beba9bc
sudo: add kill-child.sh
...
ultimately, a non-previlieged child cannot kill previlieged parent.
all the notes and research in shell.js are not useful.
2025-07-16 21:26:57 +02:00
Girish Ramakrishnan
e4ceedcac6
logs: use child_process.spawn directly for sudo
...
shell.sudo will move to a promise based API shortly
2025-07-16 20:23:57 +02:00
Johannes Zellner
80edfffc3f
Update pankow
2025-07-16 19:58:21 +02:00
Johannes Zellner
7a734ebf29
Also remove all task log button tooltips
2025-07-16 19:55:22 +02:00
Johannes Zellner
197e159b48
Replace logs icon with actual text in task logs button
2025-07-16 19:48:52 +02:00
Johannes Zellner
696632e551
Enable clearing of user avatar
2025-07-16 18:56:00 +02:00
Johannes Zellner
b1752de36f
Ensure HeaderBar and Profile view use the same profile object so avatar gets synced
2025-07-16 18:32:06 +02:00
Johannes Zellner
5967907f86
Remove console.log
2025-07-16 18:24:18 +02:00
Johannes Zellner
ed288317c4
Use the same app label in login and app grid
2025-07-16 18:21:34 +02:00
Johannes Zellner
3754021ae8
Make the proxyauth login visually distinctive from oidc login
2025-07-16 18:20:43 +02:00
Girish Ramakrishnan
7214ce2ede
support: remove ssh manipulation routes
...
this is now moved entirely to cloudron-support --enable-remote-access.
this emphasizes more that users have to get ssh access to the server before
we can do anything about it. it's far too simple for people to click this
button.
we have now also added clear terms to understand what remote access entails.
(what happens if support personnel makes a mistake. who is liable? etc)
2025-07-16 17:53:19 +02:00
Johannes Zellner
d1dcbd97b7
Build proxyauth entrypoint as a single inlined html file
2025-07-16 17:45:33 +02:00
Johannes Zellner
30c0690e90
Bring back proxyauth proceed-to-login view
2025-07-16 17:45:33 +02:00
Girish Ramakrishnan
4b79881472
system: route to get filesystem
2025-07-16 17:20:28 +02:00
Girish Ramakrishnan
b42be9899e
tasks: add completed flag
...
in some cases, the tasks are setting percent to 100 and crashing later
2025-07-16 15:40:46 +02:00
Johannes Zellner
54c2e670e1
Fix appstore grid margin on search
2025-07-16 14:35:56 +02:00
Johannes Zellner
e35dbba57d
Disable app label submit button if value haven't changed
2025-07-16 13:39:40 +02:00
Johannes Zellner
e632f07708
Allow direct search links into the eventlog
2025-07-16 13:28:30 +02:00
Johannes Zellner
7f0201b552
Add copy-to-clipboard button for backup id
2025-07-16 13:01:34 +02:00
Johannes Zellner
70de7ffe69
Never open edit dialogs on row-click
2025-07-16 12:49:22 +02:00
Johannes Zellner
7a421205e9
Sync up app backup listing columns with system backups
2025-07-16 12:47:59 +02:00
Girish Ramakrishnan
3dcc9ad844
print the region
2025-07-16 09:15:05 +02:00
Girish Ramakrishnan
5548ed1b57
s3: fix malformed endpoint URL from older versions
...
this is specifically for linode, but may apply for other storages too
2025-07-16 09:12:57 +02:00
Johannes Zellner
32bc082a9f
Update pankow
2025-07-15 23:38:49 +02:00
Johannes Zellner
4eed77e123
Do not crash in gcs if remote path has zero objects
2025-07-15 20:39:38 +02:00
Johannes Zellner
8564105ee3
Show backup preserved icon in the beginning of the row
2025-07-15 19:01:21 +02:00
Johannes Zellner
4a537dde1a
No more modal for dialogs
2025-07-15 18:51:39 +02:00
Johannes Zellner
2f4d89f32a
Set correct close label for backup info dialog
2025-07-15 18:47:52 +02:00
Johannes Zellner
10d74d3b34
Show mailbox quota in a separate column and fix usage value
2025-07-15 15:57:38 +02:00
Johannes Zellner
e1ba78ff61
Do not open mailbox/mailing list edit on row click
2025-07-15 15:40:49 +02:00
Johannes Zellner
31ee456962
Ensure app task and status info does not overflow the header toolbar
2025-07-15 14:42:58 +02:00
Johannes Zellner
717607807a
Fix dialog width to 600px or 95% max for mobile
2025-07-15 14:00:19 +02:00
Girish Ramakrishnan
56e4af58d3
fix comment
2025-07-15 11:20:05 +02:00
Girish Ramakrishnan
622aecfd6d
users: add unset route for avatar
...
also add missing tests for avatar and profile locking
2025-07-15 10:06:26 +02:00
Girish Ramakrishnan
be9adb64bb
fix tests
2025-07-15 09:07:23 +02:00
Girish Ramakrishnan
bb257f2bf2
s3: make delete objects work again again
2025-07-15 01:11:23 +02:00
Girish Ramakrishnan
76f365f7e8
s3: make delete objects work again
2025-07-15 00:13:40 +02:00
Girish Ramakrishnan
499336e752
s3: fix debug
2025-07-14 22:24:23 +02:00
Girish Ramakrishnan
e53ec3e43c
s3: add debugging code
2025-07-14 21:59:56 +02:00
Girish Ramakrishnan
8b5fe714e1
rsync: throw on del error
2025-07-14 21:59:56 +02:00
Johannes Zellner
27c5721e2b
Show rsync backup format advanced sliders
2025-07-14 17:50:47 +02:00
Johannes Zellner
f3534288f1
Move encryption password info up
2025-07-14 17:48:14 +02:00
Johannes Zellner
87a5829f9e
Only disable filter elements in appstore view until ready
2025-07-14 17:40:46 +02:00
Girish Ramakrishnan
11e9f0eaf2
progress-stream: handle destroy
2025-07-14 16:29:18 +02:00
Girish Ramakrishnan
6f653a603b
rsync: first try with one file. if that works, go faster
...
this works better if encryption fails. intead of downloading many files
and erroring non-stop
2025-07-14 16:29:18 +02:00
Johannes Zellner
a7bba61b6a
Better error message if hostPath is already used in a volume
2025-07-14 16:15:01 +02:00
Girish Ramakrishnan
15ac81c1cd
s3: format errors with .Code
2025-07-14 15:54:31 +02:00
Johannes Zellner
6b839c8cdc
Do not offer the default app data for volume mounts
2025-07-14 15:41:32 +02:00
Johannes Zellner
15c25329b6
Stripe potential sso/nosso section when saving postinstall notes
2025-07-14 15:31:34 +02:00
Girish Ramakrishnan
aca85b63ae
restore: do not redirect back to setup view
2025-07-14 15:16:28 +02:00
Girish Ramakrishnan
26637c0f1c
backuptask: improve the debugs
2025-07-14 15:16:28 +02:00
Johannes Zellner
56da5493b3
Remove console.log
2025-07-14 14:41:35 +02:00
Johannes Zellner
abcc9b374c
Show the correct labels when restoring from an app archive
2025-07-14 14:22:29 +02:00
Johannes Zellner
53fc6af1fb
Fix internal dashboard backups link to app archives in translation
2025-07-14 13:23:25 +02:00
Johannes Zellner
93db7ec71e
Set the system language as the default for user profiles
2025-07-14 12:02:23 +02:00
Johannes Zellner
f15909c814
Pickup system language from template
2025-07-14 11:43:28 +02:00
Johannes Zellner
7adae569f5
Remove last usage of auth/branding route
2025-07-14 11:12:05 +02:00
Girish Ramakrishnan
a7bf22cafe
Update lockfile
2025-07-14 10:30:49 +02:00
Girish Ramakrishnan
fc9da4756c
major upgrade of marked
2025-07-14 10:26:26 +02:00
Girish Ramakrishnan
5c7db14253
Update minor/patch modules
2025-07-14 10:26:13 +02:00
Girish Ramakrishnan
b42a51cc56
typo
2025-07-13 17:02:35 +02:00
Girish Ramakrishnan
9eee7b2582
proxyauth: fix client id
2025-07-13 15:53:46 +02:00
Girish Ramakrishnan
bf8a5e6a11
oidc: separate clients for oidc and proxyAuth
...
in e2e, our test app has both. in such cases, the auth fails because
the redirect URI does not match
2025-07-13 15:51:39 +02:00
Girish Ramakrishnan
a7e507a137
oidc: some comments
2025-07-13 15:28:47 +02:00
Girish Ramakrishnan
04de621e37
Fix crash when req.query handling
...
https://expressjs.com/en/5x/api.html#req.query
"As req.query’s shape is based on user-controlled input, all properties and values in this object
are untrusted and should be validated before trusting"
In essence, req.query.xx can be an array OR an array of strings.
2025-07-13 13:21:38 +02:00
Girish Ramakrishnan
dc7f5e3dbc
disable oidcserver logs
2025-07-13 13:21:38 +02:00
Johannes Zellner
c3f45471c7
Use the same style for appstatus and notfound pages
2025-07-11 23:01:04 +02:00
Johannes Zellner
c47d5565c2
Update pankow to improve busy states and dialogs
2025-07-11 22:33:31 +02:00
Johannes Zellner
fd4f3147f9
Improve app status page
2025-07-11 18:54:57 +02:00
Girish Ramakrishnan
22e23e1e65
auth: add logs when auth fails or succeeds
2025-07-11 18:14:27 +02:00
Girish Ramakrishnan
a470b2cd4e
tests: run frontend build earlier
2025-07-11 18:02:58 +02:00
Girish Ramakrishnan
8e8b635769
oidc: remove user.active check for owner user
2025-07-11 17:36:46 +02:00
Johannes Zellner
83b056738f
Always use name for ejs template title
2025-07-11 16:56:20 +02:00
Johannes Zellner
af13c580b3
Fix app error page meta description
2025-07-11 16:44:45 +02:00
Johannes Zellner
e35197c968
Add og:title and og:image meta tags
2025-07-11 16:25:13 +02:00
Johannes Zellner
58992030dc
Fix overflow in oidc login error
2025-07-11 16:16:44 +02:00
Johannes Zellner
677dfde22e
Use our own vite plugin to inject meta headers
2025-07-11 16:10:03 +02:00
Johannes Zellner
e1433cbf2a
Always share the same meta info headers in dashboard views
2025-07-11 15:29:46 +02:00
Johannes Zellner
93e48fabdf
Move oidc views to ejs templating
2025-07-11 14:47:44 +02:00
Johannes Zellner
fb424d28b9
Do not make ejs escape the footer html content
2025-07-11 12:49:02 +02:00
Johannes Zellner
8b9017224f
Only load dashboard templates once on startup
2025-07-11 12:45:30 +02:00
Johannes Zellner
3b50a732b5
Replace branding route calling for name and footer in views
2025-07-11 12:42:21 +02:00
Johannes Zellner
5852fe54a7
Do not serve up oidc_ templates when accessed directly
2025-07-11 12:32:02 +02:00
Johannes Zellner
2fe84293b3
Rename oidc rendered login.html to oidc_login.html
2025-07-11 12:28:02 +02:00
Johannes Zellner
66d1de0821
Add initial dashboard entrypoint server side rendering routes
2025-07-11 12:28:02 +02:00
Girish Ramakrishnan
148c0d9213
cloudron-support: typo
2025-07-11 12:25:50 +02:00
Girish Ramakrishnan
871a6f23e2
cloudron-support: enable-ssh is gone
2025-07-11 10:44:35 +02:00
Girish Ramakrishnan
b043e6bf52
cloudron-support: embed the terms
2025-07-11 10:33:22 +02:00
Johannes Zellner
4bbae73be1
Add v-fit-text directive to adjust font-size until the text fits
2025-07-10 18:05:53 +02:00
Johannes Zellner
daddbadc06
Show explicit datetime in email eventlog
2025-07-10 16:29:48 +02:00
Johannes Zellner
4029b94ff2
Set exactly the same font styles as the old dashboard had
2025-07-10 15:04:21 +02:00
Johannes Zellner
b74d1cb54a
Show full datetime in eventlog
2025-07-10 14:48:55 +02:00
Johannes Zellner
6a689e2ae4
Remove unused variable
2025-07-10 14:38:07 +02:00
Johannes Zellner
cf5059b006
Always use english translation for language selectors
2025-07-10 14:37:38 +02:00
Girish Ramakrishnan
337c5412b7
oidc: remove authcallback.html from history
...
this way atleast token goes away from history. part of #844
2025-07-10 14:03:29 +02:00
Johannes Zellner
01b1f7529e
Dynamically set dashboard language when profile language changes
2025-07-10 13:47:52 +02:00
Girish Ramakrishnan
820aeee659
oidcserver: fix login events not being raised for webadmin
...
we should remove implicit flow at some point . also #844
2025-07-10 13:43:25 +02:00
Johannes Zellner
4db5855b74
Avoid line wrap in app summary of install dialog
2025-07-10 12:18:20 +02:00
Johannes Zellner
579f5d7c8a
pankow moved to @cloudron/pankow
2025-07-10 11:55:11 +02:00
Girish Ramakrishnan
313256adff
use @cloudron/manifest-format
2025-07-10 11:17:04 +02:00
Johannes Zellner
f2a2e86db7
Move submit button to the right in the install dialog
2025-07-10 11:08:20 +02:00
Johannes Zellner
75206dd8ac
Fix css property name
2025-07-10 11:08:20 +02:00
Johannes Zellner
8435063c3f
Never show app screenshot scrollbar
2025-07-10 11:08:20 +02:00
Girish Ramakrishnan
8700e1ef65
connect-lastmile has no debug output
2025-07-10 11:02:08 +02:00
Girish Ramakrishnan
bba48f455e
use @connect-lastmile
2025-07-10 11:00:31 +02:00
Girish Ramakrishnan
6ac0cd421a
use the @cloudron/superagent module
2025-07-10 10:56:05 +02:00
Girish Ramakrishnan
1a471a7c20
metrics: disable debugs
2025-07-09 19:09:05 +02:00
Girish Ramakrishnan
e851abb5a5
superagent: typo
2025-07-09 19:04:14 +02:00
Girish Ramakrishnan
85eb88a4a6
system: show the kernel version
2025-07-09 18:32:28 +02:00
Girish Ramakrishnan
fd61a0bfbf
proxyauth: oidc server returns username now
...
See 846986987d
2025-07-09 18:07:05 +02:00
Johannes Zellner
2513ade3c4
Handle all outgoing actions for the cloudron.io account in its view
2025-07-09 16:08:47 +02:00
Johannes Zellner
5b2ad5f87f
Fix typo
2025-07-09 16:01:04 +02:00
Johannes Zellner
b4b731eaa4
Add translation for cloudron.io account view
2025-07-09 15:57:22 +02:00
Johannes Zellner
2b4a354a8c
Platform status is not actionable
2025-07-09 13:52:30 +02:00
Johannes Zellner
a1d9c5d86c
Update pankow
2025-07-09 11:48:13 +02:00
Johannes Zellner
744cc51140
Fix find/replace error
2025-07-09 11:43:22 +02:00
Girish Ramakrishnan
c73e24c3a2
metrics: can safely throw now
2025-07-08 18:08:57 +02:00
Girish Ramakrishnan
e3bec5039b
fix crash
2025-07-08 18:07:19 +02:00
Girish Ramakrishnan
85d9c91e5e
metrics: no need AbortController
2025-07-08 17:50:20 +02:00
Girish Ramakrishnan
ca236da385
metrics: add the service containers
2025-07-08 17:41:00 +02:00
Girish Ramakrishnan
c904a92c22
metrics: select all
2025-07-08 17:41:00 +02:00
Girish Ramakrishnan
0952b6d68f
metrics: group the metrics when sending live stats
...
without this the tooltip doesn't work. it needs to have the same
consistent timestamps
2025-07-08 17:41:00 +02:00
Johannes Zellner
d09f932834
Show subscription required dialog on section title badge click
2025-07-08 17:30:58 +02:00
Johannes Zellner
ac4c5c6e28
Fix MultiSelect usage
2025-07-08 14:52:22 +02:00
Johannes Zellner
0e3bcbe10d
Ensure email related menu entries remain open in sidebar if active
2025-07-08 14:36:25 +02:00
Johannes Zellner
3b64176c0d
Update pankow
2025-07-08 14:27:27 +02:00
Girish Ramakrishnan
782ecbd750
metrics: make the high line darker
2025-07-08 10:50:46 +02:00
Girish Ramakrishnan
6b2e98b9be
metrics: fix up app graphs after api changes
2025-07-07 20:09:09 +02:00
Girish Ramakrishnan
4cf1739604
metrics: overlay app metrics over system metrics
2025-07-07 19:12:57 +02:00
Girish Ramakrishnan
369474a0bc
metrics: add route to query app metrics with the system
2025-07-07 19:12:57 +02:00
Johannes Zellner
24975d670e
Update pankow
2025-07-07 19:10:42 +02:00
Johannes Zellner
61ac1c4ae3
If we have an app task, start with 5% progress
2025-07-07 17:37:48 +02:00
Johannes Zellner
8b881ab0b4
Fix autofocus in appstore view
2025-07-07 17:33:39 +02:00
Girish Ramakrishnan
b291b04d62
ignore dist
2025-07-07 10:08:31 +02:00
Girish Ramakrishnan
5a5ce4e665
test: fix run-tests
2025-07-05 11:27:09 +02:00
Girish Ramakrishnan
2317c17b4b
metrics: interval is not configurable, unnecessary
2025-07-04 23:20:38 +02:00
Girish Ramakrishnan
fb02bdb445
unify the metrics API
2025-07-04 22:58:35 +02:00
Girish Ramakrishnan
53d85ac7a2
metrics: set objectMode to avoid lots of JSON
2025-07-04 22:42:05 +02:00
Girish Ramakrishnan
f25534ff0f
metrics: add comment
2025-07-04 22:36:57 +02:00
Girish Ramakrishnan
463369f283
metrics: various formatting issues
2025-07-04 21:53:25 +02:00
Girish Ramakrishnan
9377701ad1
graphs: make intervalSecs configurable
...
for smaller durations, we need more granularity
2025-07-04 21:53:25 +02:00
Johannes Zellner
a98fce2160
Remove the old dashboard code
2025-07-04 19:42:28 +02:00
Girish Ramakrishnan
ccda1b4523
metrics: fix disk size formatting
2025-07-04 15:24:26 +02:00
Girish Ramakrishnan
ac6f80c274
metrics: add a high mark for the cpu and memory app graphs
2025-07-04 15:16:52 +02:00
Girish Ramakrishnan
5fd86b781b
metrics: use "/" instead of ps
2025-07-04 14:26:09 +02:00
Girish Ramakrishnan
0d28292cfb
metrics: tooltip label
2025-07-04 13:18:23 +02:00
Girish Ramakrishnan
8bf9d38711
metrics: show legend with multiple datasets
2025-07-04 12:51:51 +02:00
Girish Ramakrishnan
4caf052199
metrics: make the memory y-unit scale more flexible
...
system memory is in GiB. app memory is usually in MiB
2025-07-04 10:40:53 +02:00
Girish Ramakrishnan
82ea2cd86d
metrics: store app metrics by appid and not container id
2025-07-04 10:05:07 +02:00
Girish Ramakrishnan
89c0d5763c
metrics: fix crash if could not translate
2025-07-04 09:52:12 +02:00
Girish Ramakrishnan
813409a8fb
graphs: directly stream docker stats
...
docker stats API caches the stat and reading it frequently gives back the same value.
this trips our "rate" code into thinking rate is 0.
one approach was to persist polling like we do now and ignore entries based on stats.read.
this works fine but the streaming approach seems better since we don't need to poll anymore.
2025-07-04 00:03:43 +02:00
Girish Ramakrishnan
03b7445cb9
graphs: change tooltip format
2025-07-03 23:56:31 +02:00
Girish Ramakrishnan
9f35801f64
docker: add options to getStats
2025-07-03 23:56:03 +02:00
Girish Ramakrishnan
526f5efb78
metrics: fix nano to msecs conversion
2025-07-03 18:43:42 +02:00
Girish Ramakrishnan
b3071603d0
graphs: make top level div and clean the timer
2025-07-03 17:44:32 +02:00
Girish Ramakrishnan
6f358dd8ea
lint
2025-07-03 17:11:23 +02:00
Girish Ramakrishnan
a6a715b8c2
apps: make app graphs use GraphItem
2025-07-03 16:39:18 +02:00
Girish Ramakrishnan
1ebbfe5d92
graphs: remove unused style
2025-07-03 16:01:14 +02:00
Girish Ramakrishnan
9e27921867
graphs: set the colors
2025-07-03 15:59:31 +02:00
Girish Ramakrishnan
f1057bb4a3
graphs: refactor into GraphItem component
2025-07-03 15:49:49 +02:00
Johannes Zellner
48434453e3
Remove commented unsued DOM element
2025-07-03 15:36:08 +02:00
Johannes Zellner
6e8597e3f7
Improve eventlog source handling
2025-07-03 15:30:02 +02:00
Johannes Zellner
bb98fe824e
Reset the eventlog page on filter changes
2025-07-03 15:07:31 +02:00
Johannes Zellner
70b57b078d
Avoid resetting the app for each redis service on refresh
2025-07-03 12:40:17 +02:00
Johannes Zellner
8410e541b6
Do not attempt to close the app install dialog if it doesn't exist yet
2025-07-03 12:32:59 +02:00
Johannes Zellner
4bad752f30
Fixup dashboard links to system views
2025-07-03 12:27:11 +02:00
Johannes Zellner
68d677f028
Optimize sidebar width for english
2025-07-03 12:25:42 +02:00
Johannes Zellner
bee3150193
Remove sidebar item animation on hover
2025-07-03 12:20:22 +02:00
Johannes Zellner
4025ef2070
Split system views into individual ones
2025-07-03 12:15:11 +02:00
Girish Ramakrishnan
e64cc325d7
graphs: remove dep on periods
2025-07-03 11:30:50 +02:00
Johannes Zellner
5c9d323fe9
Update pankow
2025-07-03 10:44:06 +02:00
Girish Ramakrishnan
5d55e558fe
metrics: no need to pass cpuCount
2025-07-03 10:28:50 +02:00
Girish Ramakrishnan
687f126f4f
graphs: make transform functions
2025-07-03 10:03:14 +02:00
Johannes Zellner
2bad06a234
Order main menu items at least according to english
2025-07-02 21:05:48 +02:00
Johannes Zellner
61fbb76eeb
Move SystemInfo section into the metrics view
2025-07-02 21:04:39 +02:00
Johannes Zellner
38f8048309
Update frontend dependencies
2025-07-02 20:54:14 +02:00
Johannes Zellner
540a0761ef
Update translations
2025-07-02 20:53:57 +02:00
Johannes Zellner
051563522a
Introduce main menu separators
2025-07-02 20:53:42 +02:00
Johannes Zellner
d86045c64e
Try to consolidate volumes eventlogs
2025-07-02 18:25:14 +02:00
Johannes Zellner
1a2e2f4d51
Use global dashboard user profile in apps view
2025-07-02 16:40:05 +02:00
Johannes Zellner
f2fbe6dfee
Translate email eventlog menu entry
2025-07-02 16:40:05 +02:00
Johannes Zellner
5dcecb55c2
Move SPF info to the relay provider input
2025-07-02 16:40:05 +02:00
Girish Ramakrishnan
3bd41013c0
profile: avatar cannot be changed when profile locked
...
admins can now upload user avatars
2025-07-02 13:03:15 +02:00
Girish Ramakrishnan
aa35099a4d
metrics: fix crash
2025-07-02 12:54:13 +02:00
Girish Ramakrishnan
6a45d83082
graphs: show cpu and memory info
2025-07-02 12:19:36 +02:00
Girish Ramakrishnan
25397b94b3
metrics: fix y-axis and tooltip
2025-07-02 10:21:05 +02:00
Girish Ramakrishnan
d1df48ebb1
add to changes
2025-07-02 09:10:42 +02:00
Girish Ramakrishnan
4a7aa032c2
system: add network and disk graph
2025-07-02 09:08:05 +02:00
Johannes Zellner
846986987d
the oidc module expect accountId and sub to be the same
...
in our case sub is the username exposed to the app, not the userId
internal to Cloudron
Upstream behavior change 9b89153c0e
2025-07-02 00:38:11 +02:00
Girish Ramakrishnan
b2d380afcc
metrics: refactor the options logic
2025-07-01 22:54:24 +02:00
Johannes Zellner
6135e83653
Update postgresaddon to support vectorchord
2025-07-01 20:14:16 +02:00
Johannes Zellner
f090bbc1c7
Update postgres addon to include vectorchord
2025-07-01 20:14:16 +02:00
Girish Ramakrishnan
a10d0e45c9
metrics: blockio and network collection for system
2025-07-01 16:29:16 +02:00
Girish Ramakrishnan
6d5671dd0e
typo
2025-07-01 15:28:39 +02:00
Johannes Zellner
8a251fe39e
Allow to track email server location change
2025-07-01 15:05:34 +02:00
Girish Ramakrishnan
24d93ea87d
test: fix status code
2025-07-01 13:04:21 +02:00
Girish Ramakrishnan
93aa4f086e
test: dns. is gone
2025-07-01 12:41:52 +02:00
Girish Ramakrishnan
a357f5a1b8
apps: add live metrics route
2025-07-01 12:23:38 +02:00
Johannes Zellner
39c0af46b0
Show platform status in headerbar
2025-07-01 11:49:40 +02:00
Girish Ramakrishnan
4e4048be4e
superagent: disable the log
2025-07-01 11:10:21 +02:00
Girish Ramakrishnan
b5e2c628cd
metrics: collect data via docker api instead of cli
2025-07-01 11:10:21 +02:00
Girish Ramakrishnan
6b8b69d324
metrics: rename functions
2025-07-01 11:10:21 +02:00
Johannes Zellner
36993703f6
Place user profile pick next to name in user dialog
2025-07-01 10:34:28 +02:00
Johannes Zellner
713f1239c6
Allow admins to set users avatars
2025-06-30 22:44:59 +02:00
Johannes Zellner
cb3dffc7fc
Use docker 28.1.1 since that is the highest on ubuntu 20 focal
2025-06-30 22:30:54 +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
Johannes Zellner
8e18a5fb4c
Implement update dialog
2025-06-30 17:35:01 +02:00
Johannes Zellner
a0d96d5a74
Do not swallow original error stack trace in box.js
2025-06-30 17:34:55 +02:00
Johannes Zellner
0c8620e944
Poll for subscription updates when in cloudron.io view
2025-06-30 13:18:30 +02:00
Girish Ramakrishnan
7fbc883ec0
Update translations
2025-06-28 18:12:09 +02:00
Girish Ramakrishnan
6561a40f2c
unbound: use ipv4 on older ubuntu
...
SpamHaus rejects queries from ipv6.
unbound does not work on ipv6 only servers without do-ip6: true
prefer-ip4 only works on ubuntu 24
this leads to a situation that we cannot support ipv6 only servers with
older ubuntu
2025-06-28 17:56:09 +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
Johannes Zellner
ec17e58eed
Avoid using copy of app object values in info view
2025-06-27 14:11:30 +02:00
Johannes Zellner
2723f2150b
Add mailbox search filter and show count and usage there
2025-06-27 14:02:17 +02:00
Johannes Zellner
9ced45c714
Remove unused components in eventlog
2025-06-27 13:36:46 +02:00
Girish Ramakrishnan
42e7233aaa
mail: set mailjet host
2025-06-27 13:32:46 +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
Johannes Zellner
fe9ef2e85d
Add brevo smtp relay
2025-06-27 10:20:49 +02:00
Johannes Zellner
0a5fedf089
Make input dialogs in mail view non-modal
2025-06-27 09:50:34 +02:00
Johannes Zellner
45a9235738
Fix hover layout issue in logsviewer due to line-height
2025-06-26 20:18:35 +02:00
Johannes Zellner
fd43c75811
Update frontend dependencies
2025-06-26 19:57:33 +02:00
Johannes Zellner
4271f42685
Use offline indicator which does not tear out the current UI
2025-06-26 19:54:08 +02:00
Johannes Zellner
016bfcddad
Fix slider value update bug in firefox
2025-06-26 17:40:12 +02:00
Johannes Zellner
26d18031f2
Pick up latest disk usage refresh task on page reload
2025-06-26 17:32:33 +02:00
Johannes Zellner
4307ff5bf0
Disable dns setup checkbox when enabling email is busy
2025-06-26 17:20:57 +02:00
Johannes Zellner
648d6b2662
by default setup incoming mail dns records
2025-06-26 17:18:13 +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
Johannes Zellner
f790ef5a2b
Always have a backup prefix as a string set
2025-06-25 23:32:36 +02:00
Johannes Zellner
d6ec588c11
Do not show backup storage error twice
2025-06-25 23:28:55 +02:00
Johannes Zellner
ed031c6dc1
Make filemanager entries links so we can open folders in new tabs
2025-06-25 23:05:30 +02:00
Johannes Zellner
0a871d57cc
Remove pankow sidebar border
2025-06-25 22:52:57 +02:00
Johannes Zellner
f1653d4643
Show app update changelog in update view instead of dialog
2025-06-25 21:49:05 +02:00
Johannes Zellner
58bc040953
Use SettingsItem in app update view
2025-06-25 21:16:59 +02:00
Johannes Zellner
c040206d3a
fix bug which shows email for apps which have no email
2025-06-25 20:58:35 +02:00
Girish Ramakrishnan
e0af49f638
appstore: automatic is not stableOnly
2025-06-25 18:17:29 +02:00
Johannes Zellner
7d1f218523
React directly on hash changes in appstore view
2025-06-25 16:14:58 +02:00
Johannes Zellner
c779701d26
Use nextTick() instead of random timeout
2025-06-25 15:47:08 +02:00
Johannes Zellner
dc7b425dc5
Make private docker registry password a normal text field
2025-06-25 15:31:43 +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
2caf8d6a4e
Fix node version in release script
2025-06-25 11:31:53 +02:00
Girish Ramakrishnan
27c4069187
Update node to 22.7.0
2025-06-25 11:17:57 +02:00
Girish Ramakrishnan
4b2c0b0771
Update docker to 28.3.0
2025-06-25 11:16:42 +02:00
Girish Ramakrishnan
7e1216a3d3
cloudron-support: keep help alphabetical
2025-06-24 16:53:42 +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
6da8396c76
another schema update
2025-06-19 19:43:51 +02:00
Girish Ramakrishnan
79e0a1b94c
Update schema
2025-06-19 18:10:11 +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
b23699f0c1
db: change the encoding and collation
...
by mistake many fields are encoded at utf8 which is an alias of utf8mb3
fixes #836
2025-06-18 22:08:43 +02:00
Girish Ramakrishnan
0c0610c6c5
translations: also mention AAAA records for manual setups
2025-06-18 17:53:41 +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
6151a1ca7f
box.service: change description
2025-06-17 22:28:38 +02:00
Girish Ramakrishnan
bbe1350f7d
better logs on actual quit
2025-06-17 22:28:11 +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
1ba9513a4e
installer: directly stop box code
...
the idea (previously) was that the box code knew how to stop itself.
this is why stop.sh of the _old_ code was invoked. we can just inline
the code needed to stop the old version into installer.sh itself.
2025-06-15 17:40:45 +02:00
Girish Ramakrishnan
1095e47e6f
installer: better variable name
2025-06-15 17:38:39 +02:00
Girish Ramakrishnan
0ebda97b03
remove various 18.04 specific code
2025-06-15 13:58:28 +02:00
Girish Ramakrishnan
2d5ef36a7f
cloudron-support: make user press enter
2025-06-15 13:20:24 +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
d3661fa9d3
Update translations
2025-06-13 22:35:21 +02:00
Johannes Zellner
a1c66e3808
Correctly handle blocklist and blocklist count
2025-06-13 22:30:46 +02:00
Johannes Zellner
f3fc393617
Correctly calculate DNSBLZones
2025-06-13 22:21:17 +02:00
Johannes Zellner
3f6909866f
Improve error handling in mailinglist dialog and preselect domain on add
2025-06-13 22:09:38 +02:00
Johannes Zellner
3adcfd6b4a
Move mailbox errors below the input fields
2025-06-13 22:02:08 +02:00
Johannes Zellner
d42be69735
Remove stray newlines in mailinglist dialog
2025-06-13 17:48:50 +02:00
Johannes Zellner
9ed3328496
Use the correct translation strings for mailinglist dialog
2025-06-13 17:47:56 +02:00
Johannes Zellner
3e5bd096cf
Reset mailbox storageQuota on add/edit
2025-06-13 17:44:11 +02:00
Johannes Zellner
d5e4d8637c
Set default mailbox quota if enabled to 5Gb
2025-06-13 17:41:34 +02:00
Johannes Zellner
c5883ebe8f
Only show mailbox active checkbox for exising ones
2025-06-13 17:39:14 +02:00
Johannes Zellner
e6d8115e52
Allow to set enablePop3 when adding a mailbox
2025-06-13 17:38:55 +02:00
Johannes Zellner
a9d70fe27e
Preselect first domain when adding a new mailbox
2025-06-13 17:23:43 +02:00
Johannes Zellner
3fb314a1cb
Handle invalid Cloudron registration case in appstore view
2025-06-13 16:31:35 +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
Girish Ramakrishnan
16141a7104
test: create oidc store dir
2025-06-13 10:50:04 +02:00
Johannes Zellner
e496f4f3e2
Bring back demo login info
2025-06-13 09:35:16 +02:00
Girish Ramakrishnan
5d42439bf4
proxyauth: fix install
2025-06-13 02:05:04 +02:00
Girish Ramakrishnan
b60681e9bd
oidc: refactor the StorageAdapter
2025-06-13 02:05:01 +02:00
Girish Ramakrishnan
25684bf4f6
oidc: reload the login form if the interaction expires
...
use the error status which the oidc provider module returns
2025-06-13 00:47:45 +02:00
Johannes Zellner
8d57ef2be4
Various tooltip fixes
2025-06-12 23:47:40 +02:00
Girish Ramakrishnan
6143f792f3
oidc: enable debugging by default
2025-06-12 22:58:48 +02:00
Girish Ramakrishnan
f0c5b603ee
oidc: some comments
2025-06-12 22:58:29 +02:00
Johannes Zellner
b61b45177a
Only access lastSubmission if it exists
2025-06-12 22:33:57 +02:00
Johannes Zellner
afd19a7307
Optionally take id from data when adding an oidcClient
...
clients for apps use the app.id as the client id
2025-06-12 22:29:11 +02:00
Girish Ramakrishnan
155a348802
mongodb: reduce verbosity of logs
2025-06-12 22:27:57 +02:00
Johannes Zellner
733de44d03
Mention names of deleted resources in confirm dialogs
2025-06-12 17:26:13 +02:00
Johannes Zellner
228532b03e
Do not allow to edit the avatar if user profiles are locked
2025-06-12 13:03:40 +02:00
Johannes Zellner
54bd10a1db
Do not flash profile edit buttons while profile is still loading
2025-06-12 12:59:12 +02:00
Johannes Zellner
674f158877
Add select filtering for domains if more than 10
2025-06-12 09:31:36 +02:00
Girish Ramakrishnan
a07d7ffdec
profile: do not crash on invalid avatar id
2025-06-12 01:23:17 +02:00
Johannes Zellner
aadc85cda0
Use explicity copy to clipboard button for openId client/secret fields
2025-06-12 01:08:15 +02:00
Johannes Zellner
43f6d79554
Move name for openID clients to the top
2025-06-12 01:00:25 +02:00
Johannes Zellner
fd1aea420e
Fix state and error handling for dashboard domain
2025-06-12 00:55:04 +02:00
Johannes Zellner
dbdad6fce8
Allow to overwrite dns if record already exists for an app
2025-06-12 00:55:04 +02:00
Girish Ramakrishnan
f48231e309
oidc: do not notify login of ghost users
2025-06-12 00:25:28 +02:00
Girish Ramakrishnan
d24189e8aa
oidc: refactor
2025-06-12 00:25:28 +02:00
Girish Ramakrishnan
5baa08eb0c
oidc: use safe instead
2025-06-12 00:25:28 +02:00
Girish Ramakrishnan
95eb310a7f
oidc: add notes on the flow
2025-06-12 00:25:28 +02:00
Girish Ramakrishnan
d112d6308c
move tokens.ID_ into oidcClients.ID_
2025-06-12 00:25:28 +02:00
Johannes Zellner
00da650524
Make new file and folder name a required field
2025-06-12 00:24:28 +02:00
Johannes Zellner
bb3aae46c5
Improve error and state handling when moving an app
2025-06-11 22:50:25 +02:00
Girish Ramakrishnan
1ca8eeeb50
split oidc into server and clients
2025-06-11 22:26:23 +02:00
Johannes Zellner
5d4eef50e4
Clear backup task start error
2025-06-11 22:15:57 +02:00
Johannes Zellner
2b2123f14d
Handle backup task start/stop states
2025-06-11 22:15:11 +02:00
Johannes Zellner
8b91b815ba
Rework app redis and turn configuration
2025-06-11 21:42:02 +02:00
Girish Ramakrishnan
5824c8ffd0
oidc: inline the findAccount
2025-06-11 21:23:37 +02:00
Girish Ramakrishnan
8788867572
oidc: simplify revoke function
2025-06-11 21:23:37 +02:00
Girish Ramakrishnan
f2193ff45c
oidc: rename CloudronAdapter to StorageAdapter
2025-06-11 21:23:37 +02:00
Girish Ramakrishnan
1091142614
oidc: remove one level of indent by making provider global
2025-06-11 21:23:37 +02:00
Johannes Zellner
ef22387440
Add missing ISTATE pending_services_change in UI
2025-06-11 20:05:24 +02:00
Johannes Zellner
61ff04119e
Fix optional turn and redis settings
2025-06-11 19:31:17 +02:00
Johannes Zellner
bb7252042e
Improve change and valid detection for app mounts
2025-06-11 18:22:43 +02:00
Johannes Zellner
c95e267cdd
Fix data directory form submission state and add volume label
2025-06-11 17:30:40 +02:00
Girish Ramakrishnan
059547e37c
test: set FOREIGN_KEY_CHECKS=1 after clearing
2025-06-11 15:35:00 +02:00
Girish Ramakrishnan
6dc0e4f5c3
oidc: remove many of the comments
...
it's just distracting
2025-06-11 15:18:35 +02:00
Girish Ramakrishnan
8fc9685a1b
test: make it work again
2025-06-11 15:14:15 +02:00
Girish Ramakrishnan
7744568eb8
apptask: rename command functions
2025-06-11 14:19:31 +02:00
Girish Ramakrishnan
30b6d1cd1d
app: send POST body on restart
2025-06-11 11:51:54 +02:00
Johannes Zellner
fe9585500d
Ask for confirmation when stopping an app
2025-06-11 10:54:29 +02:00
Johannes Zellner
1ddba4a76f
Rework the 2fa disable dialog
2025-06-11 10:47:47 +02:00
Johannes Zellner
53b83909ed
Convert password change dialog
2025-06-11 10:34:58 +02:00
Johannes Zellner
af75060001
Reimplement fallback email dialog
2025-06-11 10:22:09 +02:00
Johannes Zellner
315210fe29
Improve primary email change dialog
2025-06-11 09:53:42 +02:00
Johannes Zellner
284c646638
Show date for notifications
2025-06-10 22:44:48 +02:00
Johannes Zellner
39df3d7bad
Remove extra newline in default crontab
2025-06-10 22:30:11 +02:00
Johannes Zellner
8f75f7332d
Use TagInput for devices
2025-06-10 22:26:53 +02:00
Johannes Zellner
c3edf44cb4
Improve overall domain input validation
2025-06-10 21:42:26 +02:00
Johannes Zellner
f933716bf5
Fix cpu quota form state
2025-06-10 21:19:19 +02:00
Johannes Zellner
b37c0fbb95
Update checklist item when acked directly in the frontend
2025-06-10 19:44:53 +02:00
Johannes Zellner
3d057781de
Add app install form validation for ACL and subdomain
2025-06-10 19:36:23 +02:00
Johannes Zellner
043180a0fa
Sort backup schedule hours
2025-06-10 19:05:54 +02:00
Johannes Zellner
f345212468
Use SettingsItem in backup schedule config
2025-06-10 18:48:51 +02:00
Johannes Zellner
a6c367ba24
Show 2fa error in login view
2025-06-10 18:04:32 +02:00
Girish Ramakrishnan
1a7eb9f6d8
release: add json as of today
2025-06-10 14:33:18 +02:00
Girish Ramakrishnan
a22fffc8b5
release: fix the script
2025-06-10 14:32:29 +02:00
Girish Ramakrishnan
7e036cc65f
typo
2025-06-10 13:01:40 +02:00
Girish Ramakrishnan
7a083e7ce4
dashboard: check if new location conflicts with all possible app locations
2025-06-10 12:54:08 +02:00
Johannes Zellner
c6aef98361
Use SQL commands instead of mysql cli to clear tables for test
2025-06-10 11:47:05 +02:00
Girish Ramakrishnan
639b7d9374
test: set req.resources earlier
2025-06-10 11:27:32 +02:00
Johannes Zellner
23f7c1522e
Always start with default features
2025-06-10 11:08:17 +02:00
Johannes Zellner
2e4bc5e218
Start using req.resources = { app, volume, ...} pattern
...
Reason was that req.app was clashing with expressjs v5 which
stores the main expressjs app object there
2025-06-10 11:02:43 +02:00
Johannes Zellner
a556237963
Ensure we start with a default features set if features file cannot be loaded/parsed
2025-06-10 09:34:15 +02:00
Johannes Zellner
e8488eb406
Update frontend lock file
2025-06-09 22:20:40 +02:00
Johannes Zellner
5363842c4d
Update frontend dependencies
2025-06-09 22:18:15 +02:00
Johannes Zellner
4c5d783699
trim() ipv4/6 input values
2025-06-09 21:02:56 +02:00
Johannes Zellner
64d067d5a1
Fixup app packaging link
2025-06-09 20:56:53 +02:00
Johannes Zellner
1845a65085
Remove distinct support view
2025-06-09 20:54:52 +02:00
Johannes Zellner
86bad5cb3e
fix ipv6 address label and clear errors always on submit
2025-06-09 20:52:37 +02:00
Girish Ramakrishnan
ad4c88b535
Fix missing usage of safe()
2025-06-09 10:18:01 +02:00
Girish Ramakrishnan
55dde26aae
profile: add fallback when no avatar set
2025-06-09 09:35:54 +02:00
Girish Ramakrishnan
a93c85ebc9
profile: drop gravatar support
...
gravatar is owned by an external entity (Automattic) and we have an
unnecessary dep to this service. users can just upload a profile pic
2025-06-08 18:12:40 +02:00
Girish Ramakrishnan
cd45046724
test: fix tasks test
2025-06-08 15:55:00 +02:00
Girish Ramakrishnan
804be6d5e4
cloudron-support: typo
2025-06-08 11:06:56 +02:00
Girish Ramakrishnan
344782099f
add explicit unset for the image routes
...
the initial motivation was to fix up the profile avatar rule which
had a mix of json or multipart. this style does not work well with
express 5
2025-06-06 18:58:49 +02:00
Girish Ramakrishnan
4ffff84540
test: fix dockerproxy test
2025-06-06 18:07:03 +02:00
Girish Ramakrishnan
dffa3b7986
do not mix multipart and json
2025-06-06 17:18:39 +02:00
Girish Ramakrishnan
0f7bc9be52
GET requests should not use json middleware
2025-06-06 17:18:39 +02:00
Girish Ramakrishnan
05fc8ed5db
Fix crash with express 5
...
express.json does not enforce json. this means it will pass it through
but let req.body be undefined. this causes all our asserts to crash
2025-06-06 16:30:43 +02:00
Girish Ramakrishnan
74a8779c49
Fix oidc upgrade crash
...
they keys object format has changed
2025-06-06 16:23:11 +02:00
Girish Ramakrishnan
40631a753f
Fix express 5 crashes
2025-06-06 16:23:07 +02:00
Girish Ramakrishnan
5cf266c5be
test: fix nock usage
...
by default, nock intercepts and redirects everything to 127.0.0.1:80
this is regardless of any http request is mocked or not
nock.isActive() - is interceptor active
nock.restore() removes the interceptor
nock.activate() - enables interceptor again
nock.cleanAll() - deletes all mocks. nothing to do with interceptor
nock.activeMock() - to get the active mocks
nock.persist(true/false) - the mock will reply once and set isDone(). but you can persist(true)
2025-06-06 15:49:07 +02:00
Girish Ramakrishnan
0f3eb42332
test: fix provision test
2025-06-06 15:48:21 +02:00
Girish Ramakrishnan
1fa8395847
test: remove support ticket test
2025-06-06 15:45:43 +02:00
Girish Ramakrishnan
1b6e283ac1
appstore: better error message
2025-06-06 13:45:23 +02:00
Girish Ramakrishnan
7b9504c5b4
test: add provision test
2025-06-06 13:39:30 +02:00
Girish Ramakrishnan
2b52e21ccf
test: fix appstore test
2025-06-06 13:39:30 +02:00
Girish Ramakrishnan
c49050ea69
appstore: removed old route and rename to reset_cloudron_id
2025-06-06 13:39:30 +02:00
Johannes Zellner
53037c96cf
Update lock file
2025-06-06 13:26:18 +02:00
Johannes Zellner
000e5fa105
Use distinct translation strings for mail and user directory settings menu entries
2025-06-06 11:29:16 +02:00
Girish Ramakrishnan
3ccad9ada9
cloudron-setup: remove --generate-setup-token
...
this code path is hardly ever tested and seems unnecesary
2025-06-06 10:22:06 +02:00
Girish Ramakrishnan
73bd3e513c
appstore: fix response fields from register_cloudron3
2025-06-06 10:19:37 +02:00
Girish Ramakrishnan
2c2a24c31b
support: remove createTicket
...
there is no form to create tickets anymore since a while
2025-06-06 09:51:07 +02:00
Girish Ramakrishnan
28a1c254d9
activation: move registration into provision model code
2025-06-06 09:31:31 +02:00
Girish Ramakrishnan
203ad6b565
major upgrade of express
2025-06-06 08:39:57 +02:00
Girish Ramakrishnan
0969bb9824
test: fix storage test
2025-06-06 08:34:21 +02:00
Girish Ramakrishnan
c6ae7729d1
Fix package.json version
2025-06-06 08:26:21 +02:00
Girish Ramakrishnan
af719dd8c2
major package changes
2025-06-06 08:24:45 +02:00
Girish Ramakrishnan
f87e257233
update modules
2025-06-06 08:16:57 +02:00
Girish Ramakrishnan
83d7535d84
turn: add outbound ratelimit
...
coturn will send 401 when receiving UDP packets with forged source IP.
this can cause a flood of 401s at the victim. the primary concern appears
to be that these packets are quite large compared to handshake packets
below.
TCP is also affected but effects are minimal because they will get
discarded at the connection handshake level.
UDP/TLS (DTLS) has similar handshake mechanism of TCP and effects are
minimal.
https://forum.cloudron.io/topic/13855/reflection-attack-via-stun-turn
https://github.com/coturn/coturn/pull/1588
2025-06-04 14:15:45 +02:00
Girish Ramakrishnan
811cc9c028
turn: reduce the exposed ports to 100
2025-06-04 13:23:47 +02:00
Girish Ramakrishnan
f14fbfe087
turn: verbose logs in debug mode
2025-06-04 13:22:25 +02:00
Girish Ramakrishnan
446099b1f9
turn: add note on why we still use host mode
2025-06-04 13:11:12 +02:00
Johannes Zellner
bad927e283
Update pankow
2025-06-04 11:08:52 +02:00
Johannes Zellner
ccbb3dca9f
Try some sidebar hover indicator
2025-06-04 10:59:27 +02:00
Johannes Zellner
d47b947acf
Bring back possibility to disable 2fa for a user from the users view
2025-06-04 10:48:57 +02:00
Johannes Zellner
6332db8e86
Pankow now has the dashboard primary colors
2025-06-03 13:48:39 +02:00
Johannes Zellner
d829d43f2f
Update pankow
2025-06-03 12:51:22 +02:00
Johannes Zellner
8944698df1
Remove main UI loading animation
2025-06-03 12:43:14 +02:00
Johannes Zellner
ccf5f2f60e
Fix sshfs volume mounting
2025-06-03 11:05:50 +02:00
Johannes Zellner
d381f579d3
Only show NotificationSettings for admins or owners
2025-06-03 10:57:38 +02:00
Johannes Zellner
995c0a7afc
Update frontend dependencies
2025-06-02 22:54:46 +02:00
Johannes Zellner
ebba516603
Non-admins do not have a checklist property, so handle it correctly in AppsModel
2025-06-02 22:20:51 +02:00
Johannes Zellner
9289d80e32
Indicate busy state in invitation dialog
2025-06-02 22:20:20 +02:00
Johannes Zellner
d366e10cb9
Fix password reset layout
2025-06-02 21:53:59 +02:00
Johannes Zellner
7c30c2f945
Ensure markdown style for checklist can be applied as not being scoped by vue
2025-06-02 14:52:22 +02:00
Johannes Zellner
4ae9821185
App restart is not a 'danger' operation
2025-06-01 10:18:59 +02:00
Johannes Zellner
2283c90da1
Show upstream and package version in install dialog
2025-05-29 11:36:56 +02:00
Johannes Zellner
a32d2c6f4d
Better handle app updates and show update errors in dialog
2025-05-29 11:27:37 +02:00
Johannes Zellner
208edfcebd
Remove footer in filemanager
2025-05-28 16:59:00 +02:00
Johannes Zellner
6ec869505e
Port filemanager to composition style api and sync filemanger/terminal/logs toolbar layout
2025-05-28 16:55:25 +02:00
Johannes Zellner
4135040007
Start with correct dns waiting state
2025-05-28 14:51:12 +02:00
Johannes Zellner
67c3883cb4
Update pankow
2025-05-28 10:05:03 +02:00
Johannes Zellner
30b3be8194
Show app upstream version in info page
2025-05-28 09:40:23 +02:00
Girish Ramakrishnan
594a2e759a
Fix typo in 3770f07720
2025-05-27 17:47:36 +02:00
Johannes Zellner
46e6a048d4
Do not show actual long app id in storage selector
2025-05-27 15:43:39 +02:00
Johannes Zellner
426fe6e3c1
Only show services configure entry if app has optional services
2025-05-27 15:24:51 +02:00
Johannes Zellner
4bfaf1728d
Refactor app configure view for mobile
2025-05-27 14:57:33 +02:00
Johannes Zellner
83aaa9e8f0
Do not crash if graph data rendering tries to access already destroyed dom element
2025-05-27 14:34:13 +02:00
Johannes Zellner
6adf26f4d9
Improve waiting for dns screen
2025-05-27 13:55:36 +02:00
Johannes Zellner
ac9ffa3f0f
Fixup gcdns in domain/dns setup
2025-05-27 11:44:25 +02:00
Johannes Zellner
7a94216b3a
Only show domains and tags filter if enough entries exits
2025-05-26 19:58:17 +02:00
Johannes Zellner
fd361ef5cb
Fix some layout issue in the onboarding views
2025-05-26 17:23:11 +02:00
Johannes Zellner
314e20ea18
Disable dns provider dropdown when busy
2025-05-26 14:35:59 +02:00
Girish Ramakrishnan
48bf21a537
s3: use listObjectsV2 API
...
in some minio instances, listObjectV1 is not returning all the objects
2025-05-26 14:17:13 +02:00
Johannes Zellner
f6de9918b5
Mark password field as invalid if not long enough
2025-05-26 13:59:36 +02:00
Johannes Zellner
c37ecab029
Ensure the dashboard redirects to the dns setup if no admin fqdn is set yet
2025-05-26 13:40:06 +02:00
Johannes Zellner
a50d7e2c60
Ensure we can submit the dns setup form with the keyboard
2025-05-26 13:39:36 +02:00
Johannes Zellner
38ff515d68
Add 1 hour graph translation
2025-05-26 10:45:23 +02:00
Johannes Zellner
ff2cb31f0f
Move cloudron.io account to its own view only for owners
2025-05-23 17:43:21 +02:00
Johannes Zellner
85fc467845
Add button to reset Cloudron registration if claimed
2025-05-23 16:49:00 +02:00
Girish Ramakrishnan
1289a6e14f
graphs: fix memory graphs
2025-05-23 16:24:37 +02:00
Johannes Zellner
a88d523559
Add button to reset the cloudron id if appstore token is invalid
2025-05-23 15:49:57 +02:00
Johannes Zellner
48e2a79d8f
Rename npm package name to cloudron-platform to not clash with the cli
2025-05-23 15:49:50 +02:00
Girish Ramakrishnan
56c671149e
switch to linear scales entirely
2025-05-23 15:09:37 +02:00
Girish Ramakrishnan
d37621044c
graphs: do not re-create the graph object
2025-05-23 13:24:45 +02:00
Girish Ramakrishnan
f3087773e3
graphs: cpu live graphs
2025-05-23 11:40:40 +02:00
Johannes Zellner
94681fd47d
Redirect user to the claim/ route on the appstore
2025-05-23 11:31:47 +02:00
Girish Ramakrishnan
c2678efc06
graphs: data can be x,y
...
the labels approach is really needed only for category style
2025-05-22 22:03:28 +02:00
Girish Ramakrishnan
e682a77858
graphs: make live graphs better
2025-05-22 22:03:28 +02:00
Johannes Zellner
89e3ce06fa
Move applink creation into appearance view
2025-05-22 21:50:37 +02:00
Johannes Zellner
d1afc9c10a
Stack graphs vertically
2025-05-22 19:51:41 +02:00
Girish Ramakrishnan
f3ac263238
graphs: only disable x grid
2025-05-22 18:17:42 +02:00
Girish Ramakrishnan
2d3c1b7702
graphs: switch to time type graphs
...
the default one is bound on data. when data is not available, it appears
buggy. it's better to show no data and always show the correct time line
in the x-axis
2025-05-22 18:15:47 +02:00
Johannes Zellner
e028eadf60
Deal with unclaimed Cloudron state in CloudronAccount
2025-05-22 17:28:16 +02:00
Johannes Zellner
1cd94b4f7a
Move server info into system view
2025-05-22 16:51:26 +02:00
Johannes Zellner
fd70f456e9
Reshuffle toplevel view names and routes
2025-05-22 16:40:09 +02:00
Johannes Zellner
f03b23497a
Remove background grid in graphs
2025-05-22 16:14:43 +02:00
Johannes Zellner
1842afa7c6
Use generic 'Upgrade' term instead of plan names
2025-05-22 15:16:04 +02:00
Johannes Zellner
41901be95f
Do not submit the activation form on enter if form is invalid
2025-05-22 15:15:45 +02:00
Johannes Zellner
93261c63b5
Update frontend dependencies
2025-05-22 12:41:26 +02:00
Girish Ramakrishnan
95dfe5361d
metrics: close stream on unmount
2025-05-22 12:27:19 +02:00
Girish Ramakrishnan
e5b27af055
metrics: make interval msecs
2025-05-22 12:27:19 +02:00
Johannes Zellner
b2c48af53f
Add new translation string
2025-05-22 12:13:20 +02:00
Girish Ramakrishnan
b0f0a34672
metrics: convert to seconds
2025-05-22 12:09:42 +02:00
Girish Ramakrishnan
9c477710b9
graphs: make the interval configurable
2025-05-22 11:17:31 +02:00
Girish Ramakrishnan
3c01673741
graphs: show swap
2025-05-22 11:12:27 +02:00
Johannes Zellner
28743efb60
Fold cpu and memory usage into one component
2025-05-21 18:42:28 +02:00
Girish Ramakrishnan
eb201d3474
graphs: disable animation during live update
2025-05-21 18:38:01 +02:00
Girish Ramakrishnan
b54d34127e
cpu metrics: fix typo in null check
2025-05-21 18:31:46 +02:00
Girish Ramakrishnan
fcfc9572f1
metrics: parse int
2025-05-21 18:22:57 +02:00
Girish Ramakrishnan
c0f0084e56
metrics: add stream api for system info
2025-05-21 18:09:02 +02:00
Girish Ramakrishnan
7e3162d287
metrics: refactor code that sends metrics to graphite
2025-05-21 17:29:14 +02:00
Johannes Zellner
c231184c28
Move new app link and app proxy to apps view
2025-05-21 17:10:43 +02:00
Johannes Zellner
08294f5f39
Add appstore category dropdown
2025-05-21 16:36:17 +02:00
Girish Ramakrishnan
048afdc232
merge the collectd logic into metrics.js
...
this is to prepare for live streaming of metrics
2025-05-21 16:32:52 +02:00
Girish Ramakrishnan
8779de448d
rename /graphs route to /metrics
2025-05-21 16:26:36 +02:00
Girish Ramakrishnan
3770f07720
docker: rename function
2025-05-21 15:37:31 +02:00
Johannes Zellner
f53180a960
Add experimental live cpu graph
2025-05-21 15:06:55 +02:00
Johannes Zellner
6b6c1b98be
Ensure system graphs can wrap on mobile
2025-05-21 12:03:11 +02:00
Johannes Zellner
65405da8d1
Make it more obvious that the syndns and cert tasks actually finished
2025-05-21 11:47:44 +02:00
Johannes Zellner
3df54eac21
Correctly set busy state when toggling dyndns feature
2025-05-21 11:20:57 +02:00
Johannes Zellner
68c1cd83a7
Add apitoken empty placeholder
2025-05-21 11:06:42 +02:00
Johannes Zellner
be3696ff8c
Some polish to the branding page
2025-05-21 11:05:15 +02:00
Johannes Zellner
9666deca6d
Show empty list placeholder in OpenID provider view
2025-05-21 10:52:15 +02:00
Johannes Zellner
87d25336e7
Fixup the LDAP provider view
2025-05-21 10:49:05 +02:00
Johannes Zellner
11f4b3d869
Block external ldap config based on features
2025-05-21 10:44:48 +02:00
Johannes Zellner
2ed7f152b7
Use the same graph style in app graphs as in system graphs
2025-05-21 09:25:59 +02:00
Johannes Zellner
6e21f19bd5
Add timeframe selector in cpu and memory graphs
2025-05-21 09:09:12 +02:00
Girish Ramakrishnan
8e205207b0
graphs: fix scaling of cpu graphs
2025-05-20 22:50:20 +02:00
Girish Ramakrishnan
892ff38a3f
graphs: make interval configurable
2025-05-20 20:46:35 +02:00
Girish Ramakrishnan
3428b95672
nginxconfig: fix graphite IP
2025-05-20 20:46:35 +02:00
Girish Ramakrishnan
64cb966683
graphs: fix cpu graphs
2025-05-20 20:46:35 +02:00
Johannes Zellner
8bcff36745
Add screenshot carousel handles for desktop/mouse usage
2025-05-20 17:57:30 +02:00
Johannes Zellner
d985a66eff
Sort appstore listing by alphabet in the UI
2025-05-20 15:40:17 +02:00
Girish Ramakrishnan
16f855f173
graphs: make memory graph work
2025-05-20 14:57:46 +02:00
Girish Ramakrishnan
31500076d1
graphs: various fixes
2025-05-20 14:57:46 +02:00
Johannes Zellner
d955f0e3d8
Rework the ImagePicker component
2025-05-20 14:48:23 +02:00
Girish Ramakrishnan
4615418000
graphs: replace collectd with our custom collector
...
collectd (with the python plugin) seems semi-abandoned. replace
with our own. we have more control over how to collect things instead
of relying on random plugins.
2025-05-20 12:19:40 +02:00
Johannes Zellner
9ad0799b48
Update some translations
2025-05-20 11:10:25 +02:00
Johannes Zellner
60b1dcf5ee
Bring checklist indicator back
2025-05-20 11:05:02 +02:00
Johannes Zellner
d0c9e17090
Use installationStateLabel() directly
2025-05-20 10:51:22 +02:00
Girish Ramakrishnan
e829c2031c
Update haraka to 3.1.1
2025-05-20 10:04:53 +02:00
Girish Ramakrishnan
85ea71d9aa
remove inline require
2025-05-20 09:59:48 +02:00
Johannes Zellner
e14dd36a0a
Remove toplevel view animation in dashboard
...
This is confusion if view elements shrink/expand during loading
2025-05-19 22:47:49 +02:00
Johannes Zellner
cf210c5a5a
Return the payload of the session in oidc and not the session object
2025-05-19 11:45:29 +02:00
Johannes Zellner
ce571bad81
Go out to claim route on subscription setup dialog
2025-05-16 18:43:52 +02:00
Johannes Zellner
55b0fb69ac
make timezone dropdown searchable
2025-05-16 18:43:03 +02:00
Johannes Zellner
e04f3e317e
Open markdown rendered links in new tab
2025-05-15 15:11:11 +02:00
Johannes Zellner
8f2b6cf44e
Expand all template vars in postinstall and checklist messages
2025-05-15 15:04:20 +02:00
Girish Ramakrishnan
ee0ac7cbed
mail: remove duration in message
2025-05-15 13:25:47 +02:00
Johannes Zellner
87fd1a5f38
Fix various accessibility issues in the app grid
2025-05-14 14:47:54 +02:00
Johannes Zellner
c0ef2eb559
Hide whole login view layout until ready
2025-05-14 14:20:17 +02:00
Johannes Zellner
b7cc592fb1
Verify if oidc session is from an existing and active user
2025-05-14 14:19:11 +02:00
Johannes Zellner
1d2c3a748b
Set all oidc_error template keys
2025-05-14 12:39:51 +02:00
Johannes Zellner
405529e8f6
Remove extra view after owner creation
2025-05-14 12:13:45 +02:00
Johannes Zellner
e17959ed65
reduce stripe width on unstable app overlay
2025-05-14 10:26:04 +02:00
Johannes Zellner
b599f95564
Handle case when app limit is exceeded
2025-05-13 19:02:06 +02:00
Johannes Zellner
16c8721d6c
Show subscription badge where required and disable UI elements accordingly
2025-05-13 18:11:10 +02:00
Johannes Zellner
6c115804e8
Show plan badge in section headers if feature is not included
2025-05-13 13:26:35 +02:00
Johannes Zellner
43c69d4288
Do not hide features of UI behind overlay
2025-05-13 12:56:12 +02:00
Johannes Zellner
b8dcfcf900
Remove app purchase/unpurchase
2025-05-13 11:46:13 +02:00
Johannes Zellner
f77aeded6f
Fix activation view overflow
2025-05-13 11:38:54 +02:00
Johannes Zellner
faf6ea83fa
Add provisional cloudron flow
2025-05-13 11:38:54 +02:00
Johannes Zellner
cb7e54acaf
Avoid UI flickering when autologin token is used in login view
2025-05-13 11:38:54 +02:00
Johannes Zellner
87f9837939
Avoid calling the REST api onMounted for root elements
2025-05-12 22:59:44 +02:00
Johannes Zellner
380447dd41
Only attempt once to use the autoLoginToken
2025-05-12 22:59:39 +02:00
Johannes Zellner
a8667836b3
Ignore invalid token on logout
2025-05-12 22:59:34 +02:00
Johannes Zellner
31d0d6c7c9
Use proper appstore env link in appstore subscription dialog
2025-05-12 16:07:16 +02:00
Johannes Zellner
77cd519be2
Fixup fetcher typo in LoginView
2025-05-12 15:44:40 +02:00
Johannes Zellner
361902d59d
Move footer to right side of main layout to avoid text over image
2025-05-12 15:33:28 +02:00
Johannes Zellner
5accc2a923
Better indicate the my. dashboard domain in setup
2025-05-12 15:02:28 +02:00
Johannes Zellner
53eb1649d5
Make MultiSelects searchable after some threshold
2025-05-12 10:50:16 +02:00
Johannes Zellner
4cbda25000
Update frontend dependencies
2025-05-12 10:36:33 +02:00
Girish Ramakrishnan
5a10a8dd46
mail: rename delivered -> sent and received -> saved in event log
2025-05-09 19:11:59 +02:00
Girish Ramakrishnan
ea4c140ad0
appstore: lazy load the feature cache
...
the tests work more reliably with this
2025-05-09 09:50:01 +02:00
Johannes Zellner
a67b4a5059
Add branding hooks for plan usage
2025-05-07 21:33:33 +02:00
Johannes Zellner
95bdbc590c
Add translation string for registry remove question
2025-05-07 19:08:22 +02:00
Johannes Zellner
d249c77b18
Implement registry deletion
2025-05-07 19:05:54 +02:00
Johannes Zellner
e07914e9b3
Add docker registry config UI for multiple registries
2025-05-07 18:10:10 +02:00
Johannes Zellner
d831624d43
Do not crash if the cached feature file cannot be loaded
2025-05-07 16:22:17 +02:00
Girish Ramakrishnan
827791574d
typo
2025-05-07 16:10:39 +02:00
Girish Ramakrishnan
b458a254a9
eventlog: add registry events
2025-05-07 16:03:28 +02:00
Girish Ramakrishnan
1bbdabc42f
registry config: create table and migrate existing setting
2025-05-07 15:56:13 +02:00
Johannes Zellner
91fd93c724
Restrict mailbox creation depending on plan
2025-05-07 15:51:22 +02:00
Johannes Zellner
186a336232
null in features means 'unlimited'
2025-05-07 15:37:31 +02:00
Johannes Zellner
27c697c1d2
Show upgrade dialog if max user or domain count exceeds
2025-05-07 15:37:01 +02:00
Johannes Zellner
974fd19b40
Ensure we always have a features object expected by that version
2025-05-07 15:03:26 +02:00
Johannes Zellner
d384442fb3
Add notification settings to profile view
2025-05-07 14:19:27 +02:00
Girish Ramakrishnan
46dbd016f4
typo
2025-05-07 13:35:09 +02:00
Girish Ramakrishnan
0cf0c7a27c
notifications: add low disk space notification
2025-05-07 13:19:20 +02:00
Girish Ramakrishnan
5489237f11
Revert "nginx: disable gzip for SSE endpoints"
...
This reverts commit 51d1efead6 .
This doesn't work. What we want is something like:
map $sent_http_content_type $buffering {
default "on"; # Enable buffering by default
"text/event-stream" "off"; # Disable buffering for SSE responses
}
proxy_buffering $buffering;
unfortunately, proxy_buffering does not support variables.
https://mailman.nginx.org/pipermail/nginx/2023-November/ZGQLNBVQEG5KNLH55HTR4R4NFODBSIU3.html
Upstream has to possibly to X-Accel-Buffering to 'no' . Otherwise, we have to ship
nginx in the package.
2025-05-07 12:37:44 +02:00
Johannes Zellner
aa16370fc5
Various adjustments on checkbox margins
2025-05-07 12:23:05 +02:00
Johannes Zellner
b75554ddcb
Improve plan overlay with the externalLdap example
2025-05-07 11:20:54 +02:00
Girish Ramakrishnan
a31281df40
8.3.2 changes
2025-05-07 10:38:07 +02:00
Girish Ramakrishnan
51d9e7fcb1
network: fix crash because of ipaddr.parse usage
2025-05-07 09:37:18 +02:00
Johannes Zellner
e2b15c9b4f
Test some way of hiding feature sections if upgrade is required
2025-05-06 19:10:02 +02:00
Johannes Zellner
6bbb968128
Convert Section.vue to composition api
2025-05-06 19:00:29 +02:00
Johannes Zellner
91ba2a9282
Provide features in dashboard to injection in components
2025-05-06 18:50:13 +02:00
Johannes Zellner
21d7dd873e
Adjust feature set
2025-05-06 18:49:56 +02:00
Johannes Zellner
3f0f189a3a
Move support hints only in popover
2025-05-06 17:24:08 +02:00
Girish Ramakrishnan
dc49dd0a94
firewall: do not allow internal docker IPs
2025-05-06 16:37:36 +02:00
Girish Ramakrishnan
a7c6e36ec3
replace ipaddr.js
2025-05-06 16:26:35 +02:00
Johannes Zellner
c8976daf96
provisioning needs to call other api endpoints as dashboard
2025-05-06 15:48:13 +02:00
Johannes Zellner
7aca2a1b36
Add restore route in provision model
2025-05-06 11:54:02 +02:00
Johannes Zellner
63f9e26b2e
Enable provision status check in restore
2025-05-06 11:47:06 +02:00
Johannes Zellner
547783e0e0
Add basic restore view scaffolding
2025-05-06 11:45:55 +02:00
Girish Ramakrishnan
86109127b8
test: fix domains test for dashboard at index0
2025-05-06 10:31:06 +02:00
Johannes Zellner
6df195aa94
Also show the manual backup cleanup info if storage format changes
2025-05-05 17:55:21 +02:00
Johannes Zellner
cbdea7965d
Move backup provider change warning into the backup configure dialog
2025-05-05 17:52:43 +02:00
Johannes Zellner
0a74546a98
Fix app import from gcs
2025-05-05 17:43:30 +02:00
Girish Ramakrishnan
fde6e5f1fb
add note on why we use ipaddr.process instead of ipaddr.parse
2025-05-05 17:34:55 +02:00
Johannes Zellner
06ea69ae4a
Update frontend dependencies
2025-05-05 15:46:00 +02:00
Johannes Zellner
4728885437
Show error dialog if specific app version can't be found
2025-05-05 15:44:07 +02:00
Johannes Zellner
a7e26055b2
improve appstore url query parsing
2025-05-05 15:27:13 +02:00
Johannes Zellner
45e6ef09a8
Remove leftover debug message
2025-05-05 12:32:11 +02:00
Johannes Zellner
d9f07c4de4
Fixup gcs backup storage configuration
2025-05-05 12:18:56 +02:00
Johannes Zellner
98cc0b9dfc
Wrap catchall settings item on mobile
2025-05-03 11:00:21 +02:00
Johannes Zellner
f84076d80c
Selectively send volume config properties depending on mountType
2025-05-03 10:30:49 +02:00
Johannes Zellner
5f85810345
Fixup domain form in initial dns setup view
2025-05-03 09:51:32 +02:00
Johannes Zellner
52ad526b87
Move more dns provider related code into the shared DomainsModel.js to avoid duplication
2025-05-03 09:46:53 +02:00
Johannes Zellner
8446773037
Use error-label in DomainDialog
2025-05-03 09:34:56 +02:00
Johannes Zellner
be10718dfc
Do not use watcher on value change for recovery mode switch but an explicit action handler
2025-05-02 16:40:05 +02:00
Johannes Zellner
8939f0dad7
Only send provider specific dns configs
2025-05-02 15:34:10 +02:00
Johannes Zellner
3c1419a22f
Fix post -> port typo
2025-05-02 14:13:16 +02:00
Girish Ramakrishnan
211c52ccc1
setup: set the dnsConfig on provider change
2025-05-01 11:51:34 +02:00
Girish Ramakrishnan
99b73f91b8
cloudflare: defaultProxyStatus must be boolean
2025-05-01 11:40:00 +02:00
Girish Ramakrishnan
9da96b9e92
release: fix requires in script
2025-05-01 11:29:05 +02:00
Girish Ramakrishnan
7f87af5a08
firewall: open up NDP port
...
Port 546 is reserved for the client-side of the Neighbor Discovery Protocol (NDP).
This is used for communication between IPv6 nodes (such as a device and its router)
to discover and configure network information (such as IP address).
Router Advertisement (RA) messages sent by routers use port 547 (router-side), and
devices use port 546 to receive these messages.
See https://forum.cloudron.io/topic/13566/infomaniak-ipv6-issues/61
2025-04-29 22:06:34 +02:00
Johannes Zellner
e2659c87f4
Share backup provide form between app import and backup storage configuration
2025-04-29 19:50:28 +02:00
Johannes Zellner
a8cb0a0e9c
Update regions in import Dialog
2025-04-29 17:06:31 +02:00
Johannes Zellner
34583c834d
Basic app backup import is working
2025-04-29 16:58:36 +02:00
Johannes Zellner
1d61d4dad4
Add missing semicolon in style definition
2025-04-29 12:35:41 +02:00
Johannes Zellner
434bfdde67
Show correct icon url in openid login view
2025-04-29 12:30:05 +02:00
Johannes Zellner
d5a8731850
replace proxy auth page with direct oidc redirect
2025-04-29 12:18:22 +02:00
Johannes Zellner
d3738f2f31
Fix pending checklist item flag in postinstall
2025-04-29 10:00:58 +02:00
Johannes Zellner
570a8ee97d
Fix minimum memory requirement in app install dialog
2025-04-29 09:51:17 +02:00
Girish Ramakrishnan
9168af4850
update modules
...
fixes crash in safetydance when function returns null
2025-04-29 08:18:00 +02:00
Girish Ramakrishnan
d8a9ef8187
constants: DOCKER_IPv6_SUBNET
2025-04-28 18:20:04 +02:00
Girish Ramakrishnan
475239bd02
constants: add some notes
2025-04-28 18:06:39 +02:00
Johannes Zellner
ea3042e1d7
Add initial attempt on app backup import dialog
2025-04-28 18:05:29 +02:00
Johannes Zellner
39d631b056
Reorder bits in the app backup page
2025-04-28 17:06:31 +02:00
Johannes Zellner
6e06e05f12
Push dashboard domain at index 0 of domain listing
2025-04-28 16:41:58 +02:00
Johannes Zellner
4d8f8f19d4
Ensure new alias and redirect domain values are prefilled
2025-04-28 15:59:24 +02:00
Johannes Zellner
384e341452
Safeguard the focus setting to not crash if view is changed quickly
2025-04-28 15:49:20 +02:00
Johannes Zellner
aa46285b8f
Bring back immich vectors hook in postgres addon
2025-04-28 15:43:15 +02:00
Johannes Zellner
fae00992c8
Give early busy feedback on app start/stop
2025-04-28 15:40:39 +02:00
Johannes Zellner
47477808e4
Provide SubscriptionRequiredDialog globally via provide/inject
2025-04-28 15:18:47 +02:00
Johannes Zellner
be16f93ba0
Add initial hooks for subscription required dialog on unpaid or expired
2025-04-25 15:19:34 +02:00
Johannes Zellner
a153f0d87d
Report form validity on submit for backup config dialog
2025-04-25 15:03:50 +02:00
Johannes Zellner
179dd6339f
Reset form input fields when domain provider changes
2025-04-25 12:55:04 +02:00
Johannes Zellner
4c662a30ef
Reuse app restore dialog for app clone
2025-04-25 00:00:06 +02:00
Johannes Zellner
28372af5a9
Fix app icons in archive listing
2025-04-24 23:12:11 +02:00
Johannes Zellner
1f93cce2c5
Move app restore dialog to its own component for reuse
2025-04-24 23:10:35 +02:00
Johannes Zellner
62cc534153
Improve error reporting on account creation form
2025-04-24 22:48:34 +02:00
Johannes Zellner
4df1ec867c
Fix user listing for users which have neither displayName nor username yet
2025-04-24 20:49:40 +02:00
Johannes Zellner
ff195ad272
Fixup various state issues in the app archive restore dialog
2025-04-24 20:42:52 +02:00
Johannes Zellner
00ca21243b
Fixup portbindings for archive restore dialog
2025-04-24 20:30:21 +02:00
Johannes Zellner
4d9c73ab1f
Bring back cloudflare ports warning in all places
2025-04-24 20:17:37 +02:00
Johannes Zellner
ddf98937d6
Fixup update pattern settings
2025-04-24 16:35:44 +02:00
Johannes Zellner
5acd7c3e99
Update frontend dependencies
2025-04-24 16:10:10 +02:00
Johannes Zellner
0f35017955
Highlight encryption password info
2025-04-24 12:06:49 +02:00
Johannes Zellner
2235524f97
Fix small padding issue in sidebar
2025-04-23 17:00:21 +02:00
Johannes Zellner
17a8b38484
Show cloudflare warning when enabling incoming email for a domain
2025-04-23 16:55:02 +02:00
Johannes Zellner
7651b5a11d
Bring back the SFTP connect info dialog
2025-04-23 16:47:33 +02:00
Johannes Zellner
775a066a9a
Bring back the postinstall dialog
2025-04-23 15:32:42 +02:00
Johannes Zellner
5cdbfc0af7
Implement update indicator and filter in apps view
2025-04-23 11:42:28 +02:00
Johannes Zellner
4a8e9fef99
Fix applist sorting
2025-04-23 10:54:15 +02:00
Johannes Zellner
05f68d0b1a
Fix various user related add/edit/display issues
2025-04-23 10:29:31 +02:00
Johannes Zellner
d82a685d7f
Check bindPassword if bindDn is provided
2025-04-22 19:07:11 +02:00
Johannes Zellner
105bcf23be
Add UI to archive app instead of uninstall
2025-04-22 18:03:01 +02:00
Johannes Zellner
a26ceeb76d
Refresh backup list after app backup creation
2025-04-22 17:56:50 +02:00
Johannes Zellner
9f94545283
pankow now supports links in menus
2025-04-22 17:27:10 +02:00
Johannes Zellner
daac71ac9a
Implement test mail sending
2025-04-22 16:42:07 +02:00
Johannes Zellner
2db34c4d7e
Actually do form validation for ldap provider UI
2025-04-22 15:48:17 +02:00
Johannes Zellner
5212f6d0b7
Update translations
2025-04-21 12:54:58 +02:00
Johannes Zellner
3ec502d862
Split user directory views
2025-04-21 12:48:22 +02:00
Johannes Zellner
1d5bca7962
Make CloudronAccount view fetch console domain from backend config
2025-04-21 12:01:17 +02:00
Johannes Zellner
4b9b4c1427
Track backup cleanup task in UI
2025-04-21 11:50:56 +02:00
Johannes Zellner
dfc4667910
Fix autofocus handling in appstore view
2025-04-21 10:46:51 +02:00
Johannes Zellner
5be2eb1c9a
Fix superagent usage
2025-04-19 16:33:12 +02:00
Johannes Zellner
5e1e6657d1
Fixes for the DomainDialog
2025-04-19 16:28:36 +02:00
Johannes Zellner
2a2019b363
Style unstable apps accordingly
2025-04-19 16:12:46 +02:00
Johannes Zellner
a8de386af6
Update frontend dependencies
2025-04-19 15:59:52 +02:00
Johannes Zellner
63354b00eb
Remove appstore animations
2025-04-19 15:57:10 +02:00
Johannes Zellner
822460e5ee
Implement remount and mountstatus in backupsview
2025-04-19 15:36:50 +02:00
Johannes Zellner
dbf6eeb144
Add submenu indicator for Email sidebar entry
2025-04-19 15:10:00 +02:00
Johannes Zellner
47295ec417
Improve EmailStatusView to show expanded indicator
2025-04-19 11:53:42 +02:00
Johannes Zellner
0e60b46db0
Only allow FTS getting enabled if enough memory was allocated to the mail service
2025-04-19 11:33:29 +02:00
Johannes Zellner
8d7175875a
Port webterminal to composition api and do not clear backlog on reconnect
2025-04-18 14:59:13 +02:00
Johannes Zellner
024d057e03
Split up Email views
2025-04-16 17:59:03 +02:00
Johannes Zellner
ec20fb453b
Add TODOs for dashboard to reorder mail and user directory
2025-04-16 15:59:04 +02:00
Girish Ramakrishnan
06768833cc
typo
2025-04-16 13:46:41 +02:00
Girish Ramakrishnan
51d1efead6
nginx: disable gzip for SSE endpoints
...
Gzip buffers output by default to optimize compression. This buffering delays the transmission of
events—breaking the “real-time” feel of SSE. Instead of seeing each event instantly, the client
might see a batch of events all at once after the gzip buffer flushes (which could take seconds or more).
gzip_types is a whitelist . But certain modules like proxies can not honor it.
2025-04-16 08:46:25 +02:00
Girish Ramakrishnan
04ff495066
underscore: handle null in isEqual
2025-04-15 14:39:49 +02:00
Johannes Zellner
df408505e0
Ensure we include a much higher backups count for cleanup
2025-04-15 14:06:29 +02:00
Girish Ramakrishnan
7674e23580
Fix superagent use
2025-04-15 13:53:27 +02:00
Girish Ramakrishnan
689cf3171d
cloudron-support: reload nginx instead of active
2025-04-13 10:39:52 +02:00
Johannes Zellner
ac23dda8db
Fixup current set of vuejs type warnings
2025-04-12 11:33:37 +02:00
Johannes Zellner
da7934555c
Fix up email event log view to use fetch on scroll instead of pagination
2025-04-11 18:35:02 +02:00
Johannes Zellner
0b9b0e7f13
Restore fetch more by correctly tracking scrolling in the event log
2025-04-11 18:00:20 +02:00
Johannes Zellner
a430b66a8d
Fixup some TODOs
2025-04-11 17:30:05 +02:00
Johannes Zellner
11e4542746
Notify headerbar when profile picture has changed to bust the cache
2025-04-10 11:35:59 +02:00
Johannes Zellner
7238b89437
Rework the public views to work better on mobile
2025-04-09 22:49:41 +02:00
Johannes Zellner
e2dcc3c0ea
Prompt the user before rebooting
2025-04-09 19:17:23 +02:00
Johannes Zellner
0e944f7d8a
Use common return value pattern in AppstoreModel
2025-04-09 18:24:30 +02:00
Girish Ramakrishnan
b391f4bc12
mounts: set encoding
2025-04-09 15:48:53 +02:00
Girish Ramakrishnan
65f066d391
sshfs: implement rm via ssh
...
this is similar to change we did for cp -r . sshfs is often flaky with lots
of concurrent operations
2025-04-09 15:48:53 +02:00
Johannes Zellner
cbe81a8f0a
Use events on SingleSelect instead of watching the model value
2025-04-08 17:36:44 +02:00
Johannes Zellner
9957739dc4
Show new backup when the backup task has finished
2025-04-08 17:24:03 +02:00
Johannes Zellner
d0eb84ec51
Do not crash if catchAll is not yet defined for a maildomain
2025-04-08 17:06:10 +02:00
Johannes Zellner
df0e211d01
Update frontend dependencies
2025-04-08 15:44:44 +02:00
Johannes Zellner
a3eef29b26
Add empty groups placeholder
2025-04-08 15:40:08 +02:00
Johannes Zellner
3614812680
Small dashboard polishing
2025-04-08 14:23:54 +02:00
Girish Ramakrishnan
8cdae41051
update container for auth free healthcheck
...
this allows us to check status from cloudron-support script more easily
2025-04-08 13:25:29 +02:00
Johannes Zellner
b59833e8f0
Reduce margin between sections
2025-04-07 23:04:49 +02:00
Johannes Zellner
a4586b8bf1
Fix app location config crash if no portbindings are set
2025-04-07 23:04:38 +02:00
Girish Ramakrishnan
3fbdfbe7a4
cloudron-support: remove extra space
2025-04-07 17:54:55 +02:00
Johannes Zellner
73a5fb1648
Use SettingsItem in branding view
2025-04-07 17:05:57 +02:00
Johannes Zellner
71fc7c4ab6
Let the UI react when branding changes
2025-04-07 15:48:43 +02:00
Johannes Zellner
d57b39da6e
Remove background support experiment
2025-04-07 15:13:09 +02:00
Johannes Zellner
4bf13f3c70
Reduce max display size for background in branding
2025-04-07 14:58:51 +02:00
Johannes Zellner
4297665c93
Update frontend dependencies
2025-04-07 14:42:51 +02:00
Johannes Zellner
7131ae2d91
Use actual DOM element for popover
2025-04-06 16:45:55 +02:00
Johannes Zellner
103dc9704a
app view toggle shouldn't be that prominent
2025-04-06 12:30:25 +02:00
Johannes Zellner
7efa79637c
Add TODO about the app state sorting
2025-04-06 12:29:32 +02:00
Johannes Zellner
f33666b848
Use fieldset in login form
2025-04-06 12:27:43 +02:00
Johannes Zellner
2acd6c8b40
Do not mark password entry as read if username might also be wrong
2025-04-04 17:25:42 +02:00
Johannes Zellner
7329c9d0bb
Ensure appstore grid is only shown if apps are loaded
2025-04-04 17:24:03 +02:00
Johannes Zellner
4a7cc06d05
Add Linode London S3 region
2025-04-03 13:18:37 +02:00
Girish Ramakrishnan
b2bb29911c
mail: fix crash in haraka
...
https://github.com/haraka/Haraka/issues/3455
2025-04-03 08:05:14 +02:00
Johannes Zellner
028a723a31
Ensure we show logo also in login view on mobile
2025-04-02 17:52:31 +02:00
Johannes Zellner
05705be7c3
Improve mobile login and password reset view
2025-04-02 17:07:44 +02:00
Johannes Zellner
f89c0bb07c
Show rest errors in setup and use SingleSelect
2025-04-02 15:51:50 +02:00
Johannes Zellner
ca402cb604
tlsConfig needs a wildcard property
2025-04-02 15:31:43 +02:00
Johannes Zellner
47b9f15b0b
Check provision state on dashbaord load
2025-04-02 15:18:40 +02:00
Johannes Zellner
2104df5a83
Update pankow which now has Dropdown replaced with SingleSelect
2025-04-02 15:02:31 +02:00
Johannes Zellner
5527926508
Finish initial implementation dns setup view
2025-04-02 12:43:59 +02:00
Johannes Zellner
f82f3fa858
Fix long standing Healthcheck typo
2025-04-02 11:47:16 +02:00
Girish Ramakrishnan
69d4514716
mysql: fix warning
2025-04-02 09:13:19 +02:00
Johannes Zellner
0a49fcb22a
Initial take on the first dns setup view
2025-04-01 19:04:10 +02:00
Johannes Zellner
89d50ed5f1
Remove unused tlsConfig variable
2025-04-01 14:54:45 +02:00
Johannes Zellner
9224d1e017
Return on error in activation view
2025-04-01 14:44:51 +02:00
Johannes Zellner
9b2c954f8e
Move domain form to its own component for reuse
2025-04-01 14:44:37 +02:00
Johannes Zellner
d718c88353
Patch up activation view with current Cloudron provision status
2025-03-31 22:56:03 +02:00
Johannes Zellner
b2e1d4cc61
Port activation to vuejs
2025-03-31 22:28:17 +02:00
Johannes Zellner
e3b81d0b36
go back to app grid if app is gone
2025-03-31 14:42:10 +02:00
Johannes Zellner
cbfe19aebf
Initial take on mobile public views like login
2025-03-31 11:49:24 +02:00
Johannes Zellner
15269713cc
Use a shared public view layout component
2025-03-31 11:33:09 +02:00
Johannes Zellner
cbba373d7d
Fix login response handling
2025-03-29 21:21:34 +01:00
Johannes Zellner
2a6544b794
We always require a language property when setting a users language
2025-03-29 21:15:48 +01:00
Johannes Zellner
2eedfad833
Fix setting of language in ProfileView
2025-03-29 21:14:13 +01:00
Johannes Zellner
55b946e784
Move Login.vue to composition style
2025-03-29 21:07:19 +01:00
Johannes Zellner
1839e1ac42
Update translations
2025-03-29 20:57:08 +01:00
Johannes Zellner
67bc03bcc1
Polish 2fa setup ui
2025-03-29 20:56:36 +01:00
Johannes Zellner
f0f04ce3ff
Migrate openid error page to vuejs
2025-03-29 15:37:47 +01:00
Girish Ramakrishnan
16caeb5400
Update haraka to 3.1.0
2025-03-29 08:44:50 +01:00
Johannes Zellner
9a6995343b
Add SetupAccount view
2025-03-28 21:48:52 +01:00
Johannes Zellner
ec07334d14
Fix UserDialog when creating a new user
2025-03-28 20:55:50 +01:00
Johannes Zellner
c859321cfd
Remove autofocus in dialogs until we know better
2025-03-28 20:54:57 +01:00
Johannes Zellner
d68db98d62
Add user InvitationDialog
2025-03-28 20:39:54 +01:00
Johannes Zellner
b89f55f9b9
Fixup all translation TODOs
2025-03-28 17:51:39 +01:00
Johannes Zellner
58f42f1441
Fix typo
2025-03-28 16:11:25 +01:00
Johannes Zellner
3df0e6fda1
Fix a few lowhaning TODOs
2025-03-28 16:09:58 +01:00
Johannes Zellner
79093bf61c
Update sftp addon to fix recursive chown
2025-03-28 11:15:01 +01:00
Johannes Zellner
78e2c223f2
App outlink in filemanger should not be highlighted
2025-03-28 11:14:49 +01:00
Johannes Zellner
deea1249c4
Add OfflineOverlay to filemanager
2025-03-28 10:53:15 +01:00
Johannes Zellner
a513fbf592
Various fixes and error handling for the UserDialog
2025-03-28 10:22:51 +01:00
Johannes Zellner
d6eb675b89
Support gcs account key upload for backups
2025-03-27 16:49:35 +01:00
Johannes Zellner
10df195630
Update frontend dependencies
2025-03-27 14:47:34 +01:00
Johannes Zellner
6dfcec6e8b
Fix view-header margin for appsview
2025-03-27 09:43:58 +01:00
Johannes Zellner
8ffd091e53
Preset host, port and username for mail relay if specified
2025-03-26 19:31:54 +01:00
Johannes Zellner
8c7f1de80c
Limit SettingsItem text node to 720px
2025-03-26 19:08:17 +01:00
Johannes Zellner
830db36928
Fixup all toplevel views to only have one child node and test with basic animation
2025-03-26 18:59:19 +01:00
Johannes Zellner
ae68cc95bb
Use higher contrast for dashboard fonts
2025-03-26 17:44:20 +01:00
Johannes Zellner
a123a8301f
Ensure Sidebar items do not wrap
2025-03-26 16:46:32 +01:00
Johannes Zellner
0ce1c120f9
Missed a SettingsItem wrap
2025-03-26 16:43:42 +01:00
Johannes Zellner
67728851a3
Various mobile overflow fixes
2025-03-26 16:05:04 +01:00
Girish Ramakrishnan
785db03650
unbound: increase tries, since it fails often
2025-03-26 14:47:46 +01:00
Johannes Zellner
2fe02a2cc3
Add gap in notification indicator
2025-03-26 12:39:39 +01:00
Johannes Zellner
7a747774fd
Use custom styled headerbar actions
2025-03-26 11:30:45 +01:00
Johannes Zellner
8a88a8a9ef
Hide most app filers for normal users
2025-03-26 10:32:37 +01:00
Johannes Zellner
42456bac0f
Unify most view titles and move more into a Section component
2025-03-25 19:11:40 +01:00
Johannes Zellner
0cffd76296
Fixup password reset view
2025-03-25 18:05:29 +01:00
Johannes Zellner
d8373bc488
Various stylesheet fixes for background image support
2025-03-25 16:11:59 +01:00
Johannes Zellner
5953fd71d3
Fixup coding style
2025-03-25 15:38:16 +01:00
Girish Ramakrishnan
de6837adb0
mail: fix warning about low client_limit
2025-03-25 15:27:26 +01:00
Johannes Zellner
23dd575ce1
Add initial profile background image handling
2025-03-25 15:05:08 +01:00
Johannes Zellner
1f8cdbaf62
Need to fetch the profile before checking the hash
2025-03-25 11:21:38 +01:00
Johannes Zellner
e312c3147a
Prevent views from getting accessed by non priviledged users
2025-03-25 11:18:14 +01:00
Johannes Zellner
128e7fccdb
Remove unused click handler for headerbar logo
2025-03-25 10:39:37 +01:00
Johannes Zellner
3a323551eb
Move status indicator code into a shared component
2025-03-24 16:58:29 +01:00
Johannes Zellner
b9d9797734
Rename generic slotProps to more descriptive variable names
2025-03-24 15:12:22 +01:00
Johannes Zellner
26d94c0519
Add pankow pdf viewer to filemanager
2025-03-23 17:35:35 +01:00
Johannes Zellner
6befc2b7a2
Fetch new eventlogs when the user scrolls to the bottom
2025-03-23 17:16:50 +01:00
Johannes Zellner
9db671b83a
Improve mobile homescreen support
2025-03-23 14:36:47 +01:00
Johannes Zellner
c4205c1c11
Use pankow SideBar component
2025-03-23 14:31:27 +01:00
Johannes Zellner
93d47bb0c2
Restrict app grid width a bit for large screens
2025-03-23 14:16:35 +01:00
Johannes Zellner
218ed1ce13
Update pankow
2025-03-23 10:47:59 +01:00
Johannes Zellner
bb12da6777
Remove sidebar for normal users and add logo to header bar
2025-03-23 10:37:33 +01:00
Johannes Zellner
c4452c99ae
Reduce headerbar height
2025-03-23 10:06:10 +01:00
Johannes Zellner
5ef0ad9a3e
Improve layout in 2FA setup dialog
2025-03-23 10:04:06 +01:00
Johannes Zellner
113a3eb5cf
Update frontend dependencies
2025-03-22 20:53:40 +01:00
Johannes Zellner
eec386cbf4
Add offline overlay if backend cannot be reached
2025-03-22 20:29:52 +01:00
Johannes Zellner
b3e8b41e0e
Use full width for domain inputs in app install dialog
2025-03-22 12:03:27 +01:00
Johannes Zellner
1db275707b
Style checklists
2025-03-22 11:59:27 +01:00
Johannes Zellner
64b730a22e
Add initial repair dialog
2025-03-22 11:19:06 +01:00
Johannes Zellner
8522775569
Ensure we can also pick a custom icon when adding an applink
2025-03-22 10:22:42 +01:00
Johannes Zellner
e81b77cbcd
Make Applink dialog use ImagePicker component
2025-03-22 10:19:55 +01:00
Johannes Zellner
8498b79493
Show plain error message if primary location is in use
2025-03-21 12:38:55 +01:00
Johannes Zellner
7c1160de92
Add cloudron registration via setupToken
2025-03-21 11:42:30 +01:00
Johannes Zellner
c517b6db3b
Show generic app install errors in the dialog
2025-03-21 10:55:55 +01:00
Johannes Zellner
30f3a6f450
Update pankow
2025-03-19 18:16:04 +01:00
Johannes Zellner
2ed9d68c08
Fix stylesheet loading order
2025-03-19 17:13:58 +01:00
Johannes Zellner
d45c2eb5b6
Don't leak UI elements if dashboard is still loading or redirecting
2025-03-19 11:52:34 +01:00
Johannes Zellner
fc1c1ea690
Use SettingsItem for dashboard domain setup
2025-03-19 01:38:49 +01:00
Johannes Zellner
18e17f2932
Don't use shadow in ImagePicker
2025-03-19 01:23:17 +01:00
Johannes Zellner
e70ea6f202
Use ImagePicker also in profile view
2025-03-19 01:22:13 +01:00
Johannes Zellner
c4026c8e78
Remove unused image picker styles
2025-03-19 01:09:51 +01:00
Johannes Zellner
a58b2efaf9
ImagePicker fixes and use it also in app icon settings
2025-03-19 01:09:17 +01:00
Johannes Zellner
e917ae4198
Show error if background image is too large
2025-03-18 23:59:18 +01:00
Johannes Zellner
3832ac3965
Do not set API_ORIGIN if deployed
2025-03-18 23:59:18 +01:00
Girish Ramakrishnan
bba9de7b76
8.3.1 changes
...
(cherry picked from commit f93462d88c )
2025-03-18 23:40:59 +01:00
Girish Ramakrishnan
d2de2c7093
postgres: fix illegal instruction issue
...
we have to disable -march=native when compiling as per
https://github.com/pgvector/pgvector?tab=readme-ov-file#portability
https://github.com/pgvector/pgvector/issues/143
https://github.com/pgvector/pgvector/issues/752
https://github.com/pgvector/pgvector/issues/389
(cherry picked from commit e3982e48ea )
2025-03-18 23:40:32 +01:00
Johannes Zellner
53aed4c7f8
Use ImagePicker component in branding page
2025-03-18 23:08:29 +01:00
Johannes Zellner
e8bd839281
trim postinstall message to avoid empty new lines
2025-03-18 19:20:32 +01:00
Johannes Zellner
7d07e34d6b
Add client side app postProcess() to fix postinstall message
2025-03-18 19:04:47 +01:00
Johannes Zellner
f6f97e69eb
Ack all notifications if read all is clicked
2025-03-18 16:58:00 +01:00
Johannes Zellner
0fe5d9d628
Add notification panel
2025-03-18 16:53:15 +01:00
Johannes Zellner
e665857aa8
Convert timezone and language settings to SettingItems
2025-03-17 22:17:30 +01:00
Johannes Zellner
00f6b878b3
Show total group count
2025-03-17 19:14:32 +01:00
Johannes Zellner
7cddf8ae6a
Fixes to users view and new pankow version
2025-03-17 19:02:41 +01:00
Johannes Zellner
3383a84fa6
Some polish in the backup view
2025-03-17 18:21:27 +01:00
Johannes Zellner
8e120bca77
More style fixes and remove dead password reset code
2025-03-17 17:49:52 +01:00
Johannes Zellner
66d235a873
Bring back login flow
2025-03-17 16:53:58 +01:00
Girish Ramakrishnan
dca9266697
isValidHostname is gone
2025-03-17 15:54:24 +01:00
Johannes Zellner
b3131169ad
Improve profile view and fix app install dialog overflow on mobile
2025-03-17 12:33:27 +01:00
Johannes Zellner
e83bcf0fd9
Support sidebar groups
2025-03-17 02:42:45 +01:00
Johannes Zellner
9137244fcf
Fix active sidebar item tracking
2025-03-16 12:11:02 +01:00
Johannes Zellner
3a32aab066
Initial move from angular shell to vue
2025-03-16 11:55:55 +01:00
Johannes Zellner
5fd4e2f008
Add mailinglists ui
2025-03-14 21:51:26 +01:00
Johannes Zellner
0bc460db56
Do not set whole mailboxes view busy on refresh
2025-03-14 21:10:35 +01:00
Johannes Zellner
5a34244854
Use SettingsItem in network view
2025-03-14 21:09:15 +01:00
Johannes Zellner
9676cabcb8
Finish mailboxes view
2025-03-14 20:53:28 +01:00
Johannes Zellner
44b02961ac
Remove vuejs warnings by adding a tbody tag
2025-03-14 15:32:19 +01:00
Johannes Zellner
66f0b49ca7
Update frontend dependencies
2025-03-14 15:16:41 +01:00
Johannes Zellner
24ed0fd479
Add mailboxes view
2025-03-14 15:09:12 +01:00
Girish Ramakrishnan
8f6656d657
superagent: can pass buffer to attach
2025-03-13 18:15:37 +01:00
Johannes Zellner
19e08942ed
Add mail relay settings
2025-03-12 16:23:42 +01:00
Johannes Zellner
0865b9bbc5
Add mail connection details dialog
2025-03-12 13:41:07 +01:00
Johannes Zellner
00a5dbf42c
Cleanup linter issues in mail view
2025-03-12 13:16:33 +01:00
Johannes Zellner
acae9ee602
Add Maildomain status view
2025-03-12 12:49:06 +01:00
Johannes Zellner
93e0787911
Implement email signature setting
2025-03-11 13:13:02 +01:00
Johannes Zellner
5c354db1b2
Implement mailfrom/masquerading setting
2025-03-11 12:50:05 +01:00
Johannes Zellner
a5ca8781ff
Implement catchall settings
2025-03-11 12:38:54 +01:00
Girish Ramakrishnan
ba1636033e
typo
2025-03-10 21:23:55 +01:00
Johannes Zellner
d8c063f59b
Update pankow
2025-03-10 21:18:49 +01:00
Johannes Zellner
30b99abfb1
Add initial masquerading settings item
2025-03-10 21:18:37 +01:00
Girish Ramakrishnan
8a51582d8a
mail: restart apps using email addon
...
move this logic from frontend to backend
2025-03-10 21:15:06 +01:00
Johannes Zellner
72635c8711
Add enable/disable incoming email domain config
2025-03-10 21:06:33 +01:00
Johannes Zellner
7bec653b55
Sync up email queue, eventlog and logs buttons
2025-03-10 16:58:07 +01:00
Johannes Zellner
9d30b6e29a
Small improvements for mobile
2025-03-10 16:47:31 +01:00
Johannes Zellner
77d4a9f711
Fix outlink of app links
2025-03-10 16:19:55 +01:00
Johannes Zellner
8eec3cddb5
Replace emails eventlog as vuejs view
2025-03-10 16:16:04 +01:00
Johannes Zellner
d633029d08
Finish mail server settings
2025-03-10 12:44:31 +01:00
Johannes Zellner
15a27e234c
Only show progress slot element if a template is provided
2025-03-10 12:01:33 +01:00
Johannes Zellner
174846f110
Allow to set max email size
2025-03-10 11:37:50 +01:00
Johannes Zellner
2aed64d1c1
Show mail domain change progress
2025-03-10 11:18:40 +01:00
Johannes Zellner
e36f24dc63
Fetch email domain status in parallel
2025-03-10 10:39:20 +01:00
Johannes Zellner
74f4dacbe4
Various fixes for mobile touch devices to not relay on hover
2025-03-09 21:04:24 +01:00
Johannes Zellner
4d7a5f03ab
Implement switch value submission in mail settings
2025-03-09 20:55:58 +01:00
Johannes Zellner
40dcbd1229
Update eslint-vue
2025-03-09 20:46:56 +01:00
Johannes Zellner
30686477f1
Update frontend dependencies
2025-03-09 20:32:45 +01:00
Johannes Zellner
7beddf3019
Add test email sending dialog
2025-03-09 20:27:41 +01:00
Johannes Zellner
8e8737c4df
Replace @ in translations with a literal @ variable
...
https://vue-i18n.intlify.dev/guide/essentials/syntax.html#literal-interpolation
2025-03-09 20:16:09 +01:00
Johannes Zellner
454afd5d1b
Fix memory slider in services edit dialog
2025-03-09 19:57:40 +01:00
Girish Ramakrishnan
5d88e86462
sendmail: add requiresValidCertificate
...
some apps really want a valid certificate to send mail and upstream
authors won't add support to skip self-signed certs or skip host name
check in cert. In our case, the issue is that we use 'mail' as the
server name despite having valid certs.
this flag will set the server name to the full mail server fqdn and
also reconfigure the app as needed when the mail server name changes.
we also set up the mail server name to resolve to internal IP because
no mail port is exposed when we are not receiving emails!
2025-03-08 13:15:53 +01:00
Johannes Zellner
02666b7da4
add initial emails view
2025-03-07 19:47:58 +01:00
Girish Ramakrishnan
5342dae5b3
tokens: add ip restriction
2025-03-07 17:50:50 +01:00
Girish Ramakrishnan
2b0fd17fbf
directoryserver: init allowlist as empty string
2025-03-07 15:16:59 +01:00
Girish Ramakrishnan
f0848e23c7
replace validator module
2025-03-07 12:32:50 +01:00
Girish Ramakrishnan
3dc6e274f0
use ipaddr.js for ip validation
2025-03-07 12:32:50 +01:00
Johannes Zellner
2c6d9e699f
Add app configure proxy view
2025-03-07 12:08:19 +01:00
Johannes Zellner
27ecde2f17
Add app configure graphs view
2025-03-07 11:54:43 +01:00
Johannes Zellner
05a685fb24
Improve some button bar spacings
2025-03-07 10:28:49 +01:00
Johannes Zellner
6b272e8a6f
Add app configure services view
2025-03-06 23:52:41 +01:00
Johannes Zellner
7d9f57299c
Give appstore filterbar more padding
2025-03-06 20:18:13 +01:00
Johannes Zellner
263f68554e
Attempt some transition between app configure views
2025-03-06 16:54:30 +01:00
Johannes Zellner
c7a924e83b
Update translations
2025-03-06 16:41:15 +01:00
Johannes Zellner
74a71f4d8e
Add app configure storage view
2025-03-06 16:40:52 +01:00
Girish Ramakrishnan
9b9fb325bd
cloudron-support: typo
2025-03-05 18:02:28 +01:00
Johannes Zellner
b7b738c92b
Add cron job to cleanup exired oidc objects
2025-03-05 11:48:33 +01:00
Johannes Zellner
b8a539a67a
Update pankow
2025-03-04 18:20:43 +01:00
Johannes Zellner
23f7a540fb
Start with all ports enabled on installation dialog
2025-03-04 18:20:42 +01:00
Johannes Zellner
3d487be59e
Fixup port bindings in location view
2025-03-04 18:20:42 +01:00
Johannes Zellner
6ef6caaca4
Add app configure location view
2025-03-04 18:20:42 +01:00
Johannes Zellner
87a222748f
Improve button layout in DirectoryView and use Switches
2025-03-04 18:20:42 +01:00
Johannes Zellner
ef0a9a4a1e
Move API_ORIGIN into constants.js
2025-03-04 18:20:42 +01:00
Johannes Zellner
6c674e86e5
If no appUrl is set yet, use fallback app icon
2025-03-04 18:20:42 +01:00
Johannes Zellner
55e6e80433
Move appstore items into a separate component to lacyload icons
2025-03-04 18:20:42 +01:00
Johannes Zellner
86bbad5b3d
Use normal return on error also for applinksModel
2025-03-04 18:20:42 +01:00
Johannes Zellner
e02d2c8af2
Various layout fixes for app install dialog
2025-03-04 18:20:42 +01:00
Johannes Zellner
6907c6dfe4
Prevent all automatic browser form submissions on enter
2025-03-04 18:20:42 +01:00
Johannes Zellner
1a51a355f2
Do not offer changing optional SSO state for now
2025-03-04 18:20:42 +01:00
Johannes Zellner
92227a3b7f
Fix top bar button placements in filemanager and logviewer
2025-03-04 18:20:42 +01:00
Johannes Zellner
ab0d5c8967
Add ACL settings for app configure
2025-03-04 18:20:42 +01:00
Johannes Zellner
e13db20c85
Rework AccessControl component to not mix model values
2025-03-04 18:20:42 +01:00
Johannes Zellner
e4b4a7b0c5
Update frontend dependencies
2025-03-04 18:20:42 +01:00
Johannes Zellner
1fa23bdf16
Add missing file
2025-03-04 18:20:42 +01:00
Johannes Zellner
f8905a0490
Disable select input for sendmail if sendmail is off
2025-03-04 18:20:42 +01:00
Johannes Zellner
5fe6757f8a
Add app configure recvmail ui
2025-03-04 18:20:42 +01:00
Johannes Zellner
f3ac71ed3e
Use InputGroup in app install dialog
2025-03-04 18:20:42 +01:00
Johannes Zellner
8aef6ebfbc
Add app configure sendmail ui
2025-03-04 18:20:42 +01:00
Johannes Zellner
31d593a529
Add app configure display view
2025-03-04 18:20:42 +01:00
Johannes Zellner
d5b47ecdce
Add app restore dialog
2025-03-04 18:20:42 +01:00
Johannes Zellner
f5020f8dc0
Add ability to download an apps backup config
2025-03-04 18:20:42 +01:00
Johannes Zellner
def774c9ef
Add app backup edit dialog
2025-03-04 18:20:42 +01:00
Johannes Zellner
2dea8309a7
Add app configure backups view
2025-03-04 18:20:42 +01:00
Johannes Zellner
d153a734cb
Fix spacing in Terminal view
2025-03-04 18:20:42 +01:00
Johannes Zellner
a220667f1b
Add app configure resources view
2025-03-04 18:20:42 +01:00
Johannes Zellner
62b648c70f
Show app configure menu items only when applicable
2025-03-04 18:20:42 +01:00
Johannes Zellner
9f8bde7078
Show app state in app configure view
2025-03-04 18:20:42 +01:00
Johannes Zellner
c593b4180a
Add repair app configure view
2025-03-04 18:20:42 +01:00
Johannes Zellner
3e2177b402
Add app link in app configure header
2025-03-04 18:20:42 +01:00
Johannes Zellner
d9bf09bb9b
Rework app configure to use custom tab and content view
2025-03-04 18:20:42 +01:00
Johannes Zellner
21c1d3c191
Add security app configure view
2025-03-04 18:20:42 +01:00
Johannes Zellner
7da590ca76
Add cron app configure view
2025-03-04 18:20:42 +01:00
Johannes Zellner
97a298375a
Make app configure header sticky
2025-03-04 18:20:42 +01:00
Johannes Zellner
7d35c9a8eb
Implement app update view
2025-03-04 18:20:42 +01:00
Johannes Zellner
d77aaded39
Add app event log view
2025-03-04 18:20:42 +01:00
Johannes Zellner
fae1b4dec1
Show app configure tabs on the left
2025-03-04 18:20:42 +01:00
Johannes Zellner
e4c47de90a
add ability to uninstall an app again
2025-03-04 18:20:42 +01:00
Johannes Zellner
6a5de6606c
Implement app start/stop and add app state polling for the moment
2025-03-04 18:20:42 +01:00
Johannes Zellner
8132920ed8
Add initial uninstall view and ensure location hash is updated on tab change
2025-03-04 18:20:42 +01:00
Johannes Zellner
26e8eb8c11
Implement info view
2025-03-04 18:20:42 +01:00
Johannes Zellner
3647f3130f
Update pankow
2025-03-04 18:20:42 +01:00
Johannes Zellner
f52a330b16
Replace app configure views
2025-03-04 18:20:41 +01:00
Girish Ramakrishnan
a669144d16
graphite: static IP
...
this allows some predictible connectivity from apps to play around
2025-03-03 17:06:20 +01:00
Girish Ramakrishnan
78e835dd5f
add the 8.3 changelog
2025-03-03 17:04:34 +01:00
Johannes Zellner
da8a7041d1
Fix fs promise usage in sftp addon
2025-03-02 15:13:37 +01:00
Girish Ramakrishnan
3aa103e114
add changelog entry
2025-03-02 10:08:15 +01:00
Girish Ramakrishnan
6aca198428
domains: add option to set custom/vanity nameservers
...
this flag skips the NS name validation when a custom nameserver is set
i.e not to the provider's NS but uses the provider's API.
2025-03-02 09:52:08 +01:00
Girish Ramakrishnan
085ed59334
installer: remove old untagging logic
2025-02-28 23:30:02 +01:00
Girish Ramakrishnan
3f3bb4d3b7
base image 5.0.0
2025-02-28 22:52:05 +01:00
Girish Ramakrishnan
148e3dc65b
boxerror: error must be string or Error
2025-02-27 16:55:12 +01:00
Girish Ramakrishnan
063b102461
syslog: strip empty trailing newlines
...
for unknown reasons, syslog messages are getting generating with
newlines in the end. we then try to parse this empty string as a
syslog message and fail
2025-02-27 11:16:52 +01:00
Girish Ramakrishnan
558620cdfa
deprecate ubuntu 20.04 support
2025-02-26 16:38:04 +01:00
Girish Ramakrishnan
7b62c9e8a4
superagent: fix field() multipart generation
2025-02-26 15:08:39 +01:00
Girish Ramakrishnan
b44d65d265
superagent: use private fields
2025-02-26 14:56:25 +01:00
Girish Ramakrishnan
1197693591
test: add root dn response
2025-02-26 14:14:42 +01:00
Girish Ramakrishnan
81f91f3324
lint
2025-02-26 14:03:30 +01:00
Girish Ramakrishnan
f78f6634fa
ldap: automatically detect if server supports pagination
2025-02-26 12:18:32 +01:00
Girish Ramakrishnan
28eee609de
ldap: add pagination to supportedControl
2025-02-26 12:05:20 +01:00
Girish Ramakrishnan
a3e1843e8b
superagent: add field()
2025-02-22 17:48:07 +01:00
Johannes Zellner
c9b8607c9f
Show user invite checkbox on new line when adding a user
2025-02-20 11:57:15 +01:00
Johannes Zellner
fe94d75b1b
Stop event click propagation in users view
2025-02-20 11:44:26 +01:00
Girish Ramakrishnan
5aadf88ae3
superagent: fix chaining
2025-02-20 10:56:04 +01:00
Girish Ramakrishnan
4e038142da
superagent: fix multipart form-data
2025-02-18 16:55:31 +01:00
Girish Ramakrishnan
d75e95a23d
superagent: rewrite using native node request
...
the learning is that fetch() is really meant to be a browser side
XMLHttpRequest replacement. It's complicated to do things like
setting user agent, custom headers like Host, disabling tls validation etc.
2025-02-18 16:23:06 +01:00
Johannes Zellner
a019227ddc
Add system basic graphs
2025-02-18 14:48:59 +01:00
Girish Ramakrishnan
d3b10a6711
async not needed, they already return a promise
2025-02-18 14:03:09 +01:00
Girish Ramakrishnan
faa14fa91d
superagent: retry in graphs logic to workaround node socket issue
...
https://github.com/nodejs/undici/issues/3492
2025-02-18 12:41:34 +01:00
Girish Ramakrishnan
85dced9cd1
superagent: print attempt and any error
2025-02-18 12:13:14 +01:00
Girish Ramakrishnan
e45df6fa6d
typo
2025-02-18 11:28:23 +01:00
Girish Ramakrishnan
8bbf9b50b4
superagent: redirect should not throw
2025-02-18 10:43:29 +01:00
Girish Ramakrishnan
12794a499d
domains: validate domain configs in a cron
...
no email notification yet, we have to rework this notifications/eventlog stuff
2025-02-17 19:11:11 +01:00
Girish Ramakrishnan
3d31f73453
add missing await
2025-02-17 18:38:20 +01:00
Johannes Zellner
99f30fe09a
Add diskusage to systems view again
2025-02-17 16:38:30 +01:00
Johannes Zellner
11c64f3035
http reqs still have statusCode
2025-02-17 14:26:17 +01:00
Johannes Zellner
aa65af10b6
Bring back app configure link
2025-02-17 13:33:47 +01:00
Johannes Zellner
1afc8d20a0
Fixup time related info in system view to only use momentjs
2025-02-17 11:42:10 +01:00
Johannes Zellner
42b4d7ce5f
Add initial SystemView.vue
2025-02-17 11:18:57 +01:00
Johannes Zellner
c1c53af855
Lock displayName and email edit for external users
2025-02-16 18:06:08 +01:00
Johannes Zellner
740c88c506
Add user edit/new dialog
2025-02-16 18:03:54 +01:00
Johannes Zellner
270d27be73
Use InputGroup in impersonate and password reset dialogs
2025-02-16 16:25:44 +01:00
Johannes Zellner
dc98c2c1fe
Fixup all remaining ng-href usage in vue views
2025-02-16 15:59:07 +01:00
Johannes Zellner
e6079ee275
Fixup some layout gap issues
2025-02-16 15:56:33 +01:00
Johannes Zellner
26b88a55e0
Update frontend dependencies
2025-02-16 14:20:03 +01:00
Girish Ramakrishnan
b5721fe6f3
inline basic-auth module
2025-02-15 16:56:40 +01:00
Girish Ramakrishnan
ec99cae3d9
superagent: do not read file as string
2025-02-15 16:26:50 +01:00
Girish Ramakrishnan
cceae6770c
superagent: multipart requires content-type to be unset
2025-02-15 16:11:55 +01:00
Girish Ramakrishnan
4cfa658fde
add some superagent tests
2025-02-15 15:54:39 +01:00
Girish Ramakrishnan
8e58349bfa
replace with custom superagent based on fetch API
2025-02-15 15:14:09 +01:00
Johannes Zellner
68a08b1f62
Slightly improve appsview filter and search bar
2025-02-14 14:18:15 +01:00
Girish Ramakrishnan
20a30b303b
s3: fix encoding of downloaded stream
2025-02-13 19:29:07 +01:00
Johannes Zellner
373f294fe3
Update dashboard dependencies
2025-02-13 18:23:32 +01:00
Girish Ramakrishnan
5459a540e7
users: do nothing when nothing to update
2025-02-13 17:28:10 +01:00
Girish Ramakrishnan
221181092e
tasks -> changes
2025-02-13 17:28:10 +01:00
Johannes Zellner
326e01d548
Add password reset dialog
2025-02-13 17:15:51 +01:00
Girish Ramakrishnan
c7572f0624
rename function
2025-02-13 17:07:34 +01:00
Girish Ramakrishnan
b94ce542c3
syncer: simply return the changes
...
this is easier to test. the initial code wanted to make the changes a stream.
but this never happenned since the need never arose
2025-02-13 17:06:24 +01:00
Johannes Zellner
6a303ae50a
Implement copyToClipboard in ImpersonateDialog
2025-02-13 16:37:07 +01:00
Girish Ramakrishnan
59721a3f1a
s3: in v3, Body is a stream
...
https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/migrate-s3.html
2025-02-13 15:17:48 +01:00
Girish Ramakrishnan
bd5ecf358a
tests: tests for underscore
2025-02-13 14:51:51 +01:00
Johannes Zellner
2617fcdcfd
Ensure S3 provider specific quirks
2025-02-13 14:40:41 +01:00
Girish Ramakrishnan
dd5e4adc73
replace underscore with our own
...
we only need like 5 simple functions
2025-02-13 14:14:34 +01:00
Johannes Zellner
c46c41db5a
Refresh backup config after config dialog got submitted
2025-02-13 12:49:52 +01:00
Johannes Zellner
aafd3c8d35
Send missing properties for S3 backup providers
2025-02-13 12:48:30 +01:00
Girish Ramakrishnan
cb6d531300
storage: automatically abort old multipart uploads in s3
2025-02-13 11:09:15 +01:00
Girish Ramakrishnan
e7b11a7ceb
typo
2025-02-13 10:31:20 +01:00
Girish Ramakrishnan
54c6c2e6cd
Fix package.json url
2025-02-13 10:22:12 +01:00
Girish Ramakrishnan
c7ef32bf3c
remove ununsed module hock
2025-02-12 23:08:52 +01:00
Girish Ramakrishnan
824816cb94
remove unused module
2025-02-12 23:06:12 +01:00
Girish Ramakrishnan
a138425298
storage: start migration of s3 api
2025-02-12 23:04:37 +01:00
Girish Ramakrishnan
9888aa8c08
storage: rework listDir api to be a generator (like) function
2025-02-12 19:34:57 +01:00
Johannes Zellner
da0dcf65b3
Add impersonate dialog
2025-02-12 15:54:04 +01:00
Johannes Zellner
c9d875e3fa
Implement user deletion
2025-02-12 15:18:52 +01:00
Girish Ramakrishnan
bd44bb4534
groups: add app access tests
2025-02-12 14:21:46 +01:00
Johannes Zellner
fda0a918f0
Implement group dialog
2025-02-12 13:53:57 +01:00
Girish Ramakrishnan
31599c5da9
add missing await
2025-02-12 13:13:40 +01:00
Girish Ramakrishnan
7e1fbb3017
groups: add appIds field to groups object
2025-02-12 13:07:41 +01:00
Johannes Zellner
08b2f6f998
Apply same style as other table views to ApiToken list
2025-02-11 21:02:57 +01:00
Johannes Zellner
daeaa800d8
Give table rows with actions a bit more space
2025-02-11 21:02:30 +01:00
Johannes Zellner
9c4baf9cad
Add users filter bar
2025-02-11 20:21:35 +01:00
Johannes Zellner
a1f01d2def
Initial work to move users view to vue
2025-02-11 18:50:10 +01:00
Johannes Zellner
dde6e0859b
Use tuple return values in users and groups model
2025-02-11 15:31:47 +01:00
Girish Ramakrishnan
7322006455
test: fix route53 tests
2025-02-11 11:29:43 +01:00
Johannes Zellner
c193a86a4c
Port branding view to vue
2025-02-10 18:42:05 +01:00
Girish Ramakrishnan
58fcca58fc
domains: migrate route53 to aws sdk v3
2025-02-10 17:42:56 +01:00
Girish Ramakrishnan
ffc477091f
create-release-tarball: update node check
2025-02-10 17:42:56 +01:00
Girish Ramakrishnan
46620e2da5
update the PSL on box code update
...
I tried replacing the module but it's complicated since there is a
lot of rules - https://github.com/publicsuffix/list/wiki/Format#format
2025-02-10 17:42:56 +01:00
Johannes Zellner
c43ba46c97
Improve Section spacing
2025-02-10 16:11:36 +01:00
Johannes Zellner
a2fdefb6a6
Only set backup storage options based on provider
2025-02-10 16:00:40 +01:00
Johannes Zellner
0aea814a23
Add initial backup config dialog
2025-02-10 15:36:46 +01:00
Girish Ramakrishnan
5c605be45c
isBase64 check is redundant
...
As long as it is a string and even if you throw in some garbage, it returns
an empty buffer.
> b = Buffer.from('!@#%%^@', 'base64')
<Buffer >
2025-02-10 14:58:36 +01:00
Girish Ramakrishnan
1e34f3ef38
use net.isIP instead
2025-02-10 14:30:28 +01:00
Girish Ramakrishnan
569cd4dd42
update packages
2025-02-10 11:38:57 +01:00
Girish Ramakrishnan
203ab05d12
test: no more send for superagent.get
2025-02-09 11:17:41 +01:00
Johannes Zellner
471c68474a
Add portbinding handling when restoring apps from archive
2025-02-07 12:34:01 +01:00
Johannes Zellner
76cc9614df
Fix typo
2025-02-07 11:29:20 +01:00
Johannes Zellner
e53a35eebf
Fixup secondary domains for restoring of apps from the archive
2025-02-07 11:06:20 +01:00
Johannes Zellner
96f60caa77
vue translation does not support JS logic in templates
...
This is anyways probably for the best
2025-02-06 21:02:09 +01:00
Johannes Zellner
e608257c1a
Return 404 for check dns records if domain is not known
2025-02-06 18:27:40 +01:00
Johannes Zellner
05f31f40eb
Add basic archive restore dialog
2025-02-06 18:22:18 +01:00
Johannes Zellner
0b73633a66
Show correct error when domain deletion fails
2025-02-06 18:22:18 +01:00
Johannes Zellner
2f5c4413e1
Add dialog to edit backups
2025-02-06 18:22:18 +01:00
Girish Ramakrishnan
c6e93b9870
test: enable nock as needed
2025-02-06 15:01:59 +01:00
Girish Ramakrishnan
f64297c256
test: readdirp signature has changed
2025-02-06 15:01:41 +01:00
Girish Ramakrishnan
edb9bac503
server: close all connections
...
without this the server still holds on to active connections in node 18
2025-02-06 15:00:28 +01:00
Girish Ramakrishnan
fa64191082
assert.strictEqual results in oom, go figure
2025-02-05 19:11:02 +01:00
Girish Ramakrishnan
4a5c0e7ff0
superagent.get does not want send
2025-02-05 18:58:47 +01:00
Girish Ramakrishnan
aa54e47029
tests: enable nock when needed
...
by default, it makes all requests disappear
2025-02-05 18:27:57 +01:00
Girish Ramakrishnan
7bcb6dd7cb
unused require
2025-02-05 17:27:07 +01:00
Girish Ramakrishnan
9651db67ce
tests: use docker exec
2025-02-05 17:22:35 +01:00
Girish Ramakrishnan
3ebb41c5ad
docker: include error.message
2025-02-05 16:23:31 +01:00
Girish Ramakrishnan
23d91c7b37
upgrade readdirp
2025-02-05 15:50:10 +01:00
Girish Ramakrishnan
b644418b11
major update of modules
2025-02-05 15:49:14 +01:00
Johannes Zellner
86c4045073
Add backup listing
2025-02-05 15:47:52 +01:00
Girish Ramakrishnan
42f493b2c3
docker: update to 27.5.1
2025-02-05 14:48:13 +01:00
Girish Ramakrishnan
5a766c583c
node: update to 22.13.1
2025-02-05 14:48:13 +01:00
Johannes Zellner
776e65bc5e
Migrate first parts of backups view to vue
2025-02-05 13:34:23 +01:00
Girish Ramakrishnan
55939f6320
test: fix support test
2025-02-05 11:53:33 +01:00
Girish Ramakrishnan
a1ea6b21d8
update dev packages
2025-02-05 11:49:03 +01:00
Girish Ramakrishnan
c61357ec6d
Revert "tld.isValid is deprecated"
...
This reverts commit daff760280 .
deprecated but hasn't seen a release in 7 years
2025-02-05 10:51:05 +01:00
Girish Ramakrishnan
d84b4e4f7d
minor package updates
2025-02-05 10:42:19 +01:00
Girish Ramakrishnan
19bae2af96
patch update to packages
2025-02-05 10:41:30 +01:00
Girish Ramakrishnan
daff760280
tld.isValid is deprecated
2025-02-05 10:39:49 +01:00
Girish Ramakrishnan
e161c26c35
docker: validate serverAddress
2025-02-05 10:37:01 +01:00
Johannes Zellner
b99f634939
Port index.vue to composition api
2025-02-03 19:14:01 +01:00
Johannes Zellner
a93b3dab1b
Port support view to composition api
2025-02-03 18:39:16 +01:00
Johannes Zellner
5a16a50b3f
Fix typo in setting ssh support status
2025-02-03 18:37:55 +01:00
Johannes Zellner
21888829cc
Port apps view to composition api
2025-02-03 14:50:06 +01:00
Johannes Zellner
dffef6f839
Port volumes view to composition style
2025-02-02 22:44:13 +01:00
Girish Ramakrishnan
4ef7195d38
Update translations
2025-02-02 22:39:17 +01:00
Johannes Zellner
627d6f8a28
Make all pankow lists look and feel the same
2025-02-02 20:46:15 +01:00
Girish Ramakrishnan
178ebf3ed0
const
2025-02-02 11:45:48 +01:00
Girish Ramakrishnan
979e91a2eb
skip check when no ipv4/ipv6
...
(cherry picked from commit c478ace8bd )
2025-02-02 08:41:43 +01:00
Girish Ramakrishnan
4dec688e0b
remove duplicate inwx form fields
2025-02-02 07:33:36 +01:00
Girish Ramakrishnan
1247dbe999
8.2.4 changes
2025-02-01 09:27:59 +01:00
Johannes Zellner
f6f6318e02
Remove app grid tooltips
2025-01-31 23:10:40 +01:00
Girish Ramakrishnan
6c7341b9f3
cloudflare: list recordrecord API does not return zone_id anymore
2025-01-31 23:05:16 +01:00
Johannes Zellner
71e9caef9c
Create vue models without args
2025-01-31 21:02:48 +01:00
Johannes Zellner
dfba9d3650
Remove mentioning fallback certificates and only allow custom certs to be provided
2025-01-31 13:11:00 +01:00
Johannes Zellner
45cfe1a817
Reduce domains list max-height
2025-01-31 13:03:09 +01:00
Girish Ramakrishnan
68066cdd48
cloudron-support: auto cleanup
2025-01-31 10:38:29 +01:00
Girish Ramakrishnan
d1da77d6bc
const
2025-01-31 09:47:31 +01:00
Girish Ramakrishnan
6cd97d2cb9
remove usage of util.format
2025-01-31 09:46:06 +01:00
Johannes Zellner
dcae882009
Add wellknown dialog
2025-01-30 14:29:46 +01:00
Johannes Zellner
ee45bc713e
Use same style for domains table as for volumes
2025-01-29 20:35:56 +01:00
Johannes Zellner
5936e00acc
Add gcdns for edit/add domains
2025-01-29 17:59:46 +01:00
Johannes Zellner
d12e8cbe97
Allow add/edit domains for most providers
2025-01-29 16:29:21 +01:00
Johannes Zellner
60140087a5
Add domain edit form validation
2025-01-29 12:16:00 +01:00
Girish Ramakrishnan
74f4849144
req.connection.remoteAddress is deprecated
2025-01-29 10:35:21 +01:00
Girish Ramakrishnan
b8c36b034b
fix comment
2025-01-29 10:01:18 +01:00
Girish Ramakrishnan
d51183be51
lint
2025-01-29 09:59:15 +01:00
Johannes Zellner
fd3bb37c48
Most of the domain setup dialog bits are done
2025-01-28 21:25:12 +01:00
Johannes Zellner
f990095ddf
use filtering TableView for domains
2025-01-28 13:55:58 +01:00
Johannes Zellner
c86b99e69c
Wrap header buttons in dom element
2025-01-28 13:55:05 +01:00
Johannes Zellner
70b15d128a
Initial work on moving domain view to vue
2025-01-27 22:20:26 +01:00
Johannes Zellner
42ce3cb405
Limit motd lines to 90
2025-01-27 22:02:29 +01:00
Johannes Zellner
98fb9c89de
Ensure eventlog time cells don't wrap
2025-01-27 14:27:02 +01:00
Johannes Zellner
2bc2b632c6
Ensure terminal and logs component background definition overwrite basic stylesheet
2025-01-27 12:25:33 +01:00
Johannes Zellner
2b4c6514c3
Fix webterminal usage of AppsModel
2025-01-27 12:18:15 +01:00
Johannes Zellner
f3e2f10478
Convert Eventlogs to vue
2025-01-25 17:10:01 +01:00
Girish Ramakrishnan
b43fa38350
username: only ending with .app is reserved
2025-01-25 16:03:19 +01:00
Johannes Zellner
0d4165421c
Use new Switch component for dyndns setting
2025-01-25 12:03:43 +01:00
Johannes Zellner
b02e8a9502
Update dependencies
2025-01-25 11:57:18 +01:00
Johannes Zellner
b625e40eb0
Improve CloudronAccount section
2025-01-25 10:34:27 +01:00
Girish Ramakrishnan
47729e3e43
notifications: add update failure in defaults
2025-01-24 18:51:04 +01:00
Girish Ramakrishnan
ac0426d97d
notification: update failure mail
2025-01-24 18:44:44 +01:00
Johannes Zellner
0619274d00
Add initial cloudron.io account section
2025-01-24 18:28:45 +01:00
Johannes Zellner
24b9e713f2
Add private registry config section in settings
2025-01-24 17:38:18 +01:00
Johannes Zellner
b3736617c4
List update tasks
2025-01-24 14:09:30 +01:00
Johannes Zellner
63ee99fde9
Add autoupdate pattern dialog
2025-01-24 14:00:42 +01:00
Girish Ramakrishnan
837d5803c8
backups: add preserve attributes checkbox
2025-01-24 13:59:01 +01:00
Johannes Zellner
2d1f24ca0f
Start migration of System view
2025-01-23 18:36:38 +01:00
Girish Ramakrishnan
84a1f40115
update mail image
2025-01-23 17:55:19 +01:00
Girish Ramakrishnan
abb40b3ad7
mail: rebuild index
2025-01-23 17:47:49 +01:00
Girish Ramakrishnan
dfd54b7b54
mail: disable ocr in tika
2025-01-23 17:23:34 +01:00
Johannes Zellner
c82cde5e16
Add async dependency
2025-01-23 16:21:16 +01:00
Johannes Zellner
5ea4c90292
Finalize network view move to vue
2025-01-23 16:19:23 +01:00
Johannes Zellner
fa3bdb5464
Update pankow
2025-01-22 14:46:57 +01:00
Johannes Zellner
12abf494d8
First step to move network view to vue
2025-01-22 14:46:31 +01:00
Johannes Zellner
f5e8a60a8f
Do not set service loading state too early
2025-01-21 21:21:15 +01:00
Johannes Zellner
c53adedbe0
Remove stray console.log
2025-01-21 21:19:47 +01:00
Johannes Zellner
3b6831ea93
Add SystemModel.js
2025-01-21 21:16:55 +01:00
Johannes Zellner
2f19af6a3e
Add service configure dialog
2025-01-21 21:01:19 +01:00
Johannes Zellner
0f5a4c10ef
Disable table row hovering
2025-01-21 19:14:23 +01:00
Johannes Zellner
dfcaacee80
Move toplevel views into views/
2025-01-21 17:08:09 +01:00
Johannes Zellner
2ac3c1fe6e
Add inwx to dns setup
2025-01-21 16:58:44 +01:00
Johannes Zellner
d8c70c2498
Convert most of the services view
2025-01-21 16:54:56 +01:00
Johannes Zellner
16c15548c1
Add edit/new oidc client dialog
2025-01-20 16:53:31 +01:00
Girish Ramakrishnan
d0fbf68d90
typo
2025-01-20 13:56:26 +01:00
Girish Ramakrishnan
230599417e
restore: fix crash with invalid backup id
2025-01-20 13:51:55 +01:00
Johannes Zellner
4c235f0427
Add TransitionGroup for vue toplevel views
2025-01-19 19:56:31 +01:00
Johannes Zellner
4045a16e27
Mostly add OpenIdClients UI
2025-01-19 19:53:29 +01:00
Johannes Zellner
7f91e85df8
Convert most of user directory view to vuejs
2025-01-19 19:12:00 +01:00
Johannes Zellner
dfb3285e18
Follow upstream recommendation to have html templates below script in .vue files
2025-01-19 12:00:22 +01:00
Girish Ramakrishnan
0280059c13
notifications: server reboot email
2025-01-19 11:18:49 +01:00
Johannes Zellner
5fdc3eca7e
Fix small issues with the sidebar
2025-01-17 18:21:54 +01:00
Johannes Zellner
95cee1676a
We use composition API here so there is no this pointer
2025-01-17 16:52:17 +01:00
Johannes Zellner
70580cc6ae
Update pankow
2025-01-17 16:41:23 +01:00
Johannes Zellner
f56eb0d791
Use TableView also for ApiTokens and AppPasswords
2025-01-17 15:59:06 +01:00
Johannes Zellner
4534a729c7
Sync up section header styles
2025-01-17 15:12:26 +01:00
Johannes Zellner
62a6c243fe
Allow to override pankow styles in style.css
2025-01-17 15:08:29 +01:00
Johannes Zellner
5feb5ee015
Move vue views from Card to Sections
2025-01-17 14:02:05 +01:00
Johannes Zellner
7907d05847
Add Section component instead of Card
2025-01-17 12:24:48 +01:00
Johannes Zellner
1dfa95d457
Sync up basic font style with bootstrap
2025-01-16 19:21:51 +01:00
Johannes Zellner
b6b52ffdb7
Update lock file
2025-01-16 18:43:49 +01:00
Johannes Zellner
97cb73cb73
Autofocus location input during app install flow
2025-01-16 18:06:39 +01:00
Johannes Zellner
3f3226391a
Fix AccessControl component for apps with cloudronAuth
2025-01-16 17:53:11 +01:00
Johannes Zellner
91c873c25f
Remove extra margins for checkbox and radios
2025-01-16 17:52:45 +01:00
Johannes Zellner
b38e28e50e
Clear appstore search on ESC
2025-01-16 17:33:00 +01:00
Johannes Zellner
65fc3eb362
Constrain normal views horizontally
2025-01-16 17:31:36 +01:00
Johannes Zellner
3955fbdc64
Implement 2FA setup and disabling
2025-01-16 17:27:12 +01:00
Johannes Zellner
441b72158d
Ensure heading left/right padding is aligned with card content
2025-01-16 15:04:56 +01:00
Johannes Zellner
8e1457d605
Give section headers more space
2025-01-16 12:24:15 +01:00
Johannes Zellner
da4215afbd
Move ApiTokens into their own component
2025-01-15 16:32:21 +01:00
Johannes Zellner
6e2007aeca
Implement AppPassword section in profile view
2025-01-15 16:04:42 +01:00
Johannes Zellner
4ba01c6cf1
For the moment use full width in profile
2025-01-15 12:35:47 +01:00
Johannes Zellner
1dd5f63a11
Add new api token generation dialog
2025-01-15 12:31:35 +01:00
Johannes Zellner
467921dbf6
Implement cli and web token revoking
2025-01-14 15:52:12 +01:00
Johannes Zellner
99b2140838
Add profile avatar settings
2025-01-14 14:52:10 +01:00
Johannes Zellner
63b5e28537
Add password reset to profile
2025-01-14 11:54:19 +01:00
Johannes Zellner
109eefa7e3
Update pankow to enable email change dialogs
2025-01-14 11:09:13 +01:00
Johannes Zellner
380791211f
Initial work on the profile view
2025-01-14 10:27:27 +01:00
Johannes Zellner
bffd7c8d24
Improve a bit on the install dialog internal transisions
2025-01-13 13:49:44 +01:00
Girish Ramakrishnan
aaab06f21d
grammar
...
donald says so
2025-01-13 08:59:46 +01:00
Girish Ramakrishnan
4c87b62b5e
typo
2025-01-12 18:25:43 +01:00
Girish Ramakrishnan
e34e479c33
services: separate volume clear and rm
2025-01-12 18:08:53 +01:00
Girish Ramakrishnan
665f7c849b
mounts: add loopback support
2025-01-12 18:02:06 +01:00
Girish Ramakrishnan
88b9eed559
mount: use enums for mount types
2025-01-12 17:43:55 +01:00
Girish Ramakrishnan
cb162a8f1e
xfs: enable pquota by default
2025-01-12 17:33:19 +01:00
Johannes Zellner
db5d3aa9bd
Improve flow within install dialog
2025-01-10 16:03:52 +01:00
Johannes Zellner
9db1ad32f9
Handle acl for apps with email auth
2025-01-10 12:24:00 +01:00
Johannes Zellner
630286665b
Add app link deletion button
2025-01-09 18:29:03 +01:00
Johannes Zellner
8b08c1d113
Enable more acl options
2025-01-09 18:29:03 +01:00
Girish Ramakrishnan
6fcfa6cac0
mail: add ipv6 rdns check
2025-01-08 17:28:28 +01:00
Johannes Zellner
b1da8bbc4c
Add proxy app and app link creation in appstore view
2025-01-08 16:34:54 +01:00
Johannes Zellner
7d56e71f77
Bring back deep linking in appstore to install specific versions
2025-01-08 14:16:17 +01:00
Johannes Zellner
68e02817a0
Group apps by popular and all
2025-01-08 12:53:42 +01:00
Johannes Zellner
58bb2d5f93
Handle errors in app installation form
2025-01-07 12:49:19 +01:00
Johannes Zellner
ee263914aa
Animate task progress
2025-01-07 12:22:04 +01:00
Johannes Zellner
a887fc8153
Preselect dashboard domain in app installation
2025-01-07 12:00:31 +01:00
Johannes Zellner
12d9e6b618
Search bar is too wide on mobile
2025-01-07 11:46:50 +01:00
Johannes Zellner
f1b9ce61e1
Try arimo and better dark mode
2025-01-07 01:22:30 +01:00
Johannes Zellner
3f2c7542f8
Support fallback app icons
2025-01-06 21:28:01 +01:00
Johannes Zellner
132c1a9a8b
Add secondary domain setup in install dialog
2025-01-06 21:19:57 +01:00
Johannes Zellner
801c0ac47c
Clear state of appstore view
2025-01-06 21:03:29 +01:00
Johannes Zellner
24550236be
Add new PortBinding component
2025-01-06 20:23:39 +01:00
Johannes Zellner
3f46d6d16e
Fix appstore search filter
2025-01-06 19:22:53 +01:00
Johannes Zellner
5d6cf5789a
Move AppstoreView to vue composition api
2025-01-06 18:52:44 +01:00
Johannes Zellner
fca66222df
Update frontend dependencies
2025-01-06 14:40:16 +01:00
Johannes Zellner
2e3120cd46
Very basic installation works again
2025-01-06 14:35:51 +01:00
Johannes Zellner
fa2b03b7fa
Make AccessControl a component
2025-01-06 14:35:51 +01:00
Johannes Zellner
b141b3c95e
Convert AppstoreView to composition api style
2025-01-06 14:35:50 +01:00
Johannes Zellner
83a2f07ba9
First attempt at a better install dialog
2025-01-06 14:35:50 +01:00
Johannes Zellner
ec2dd67d89
Initial appstore view in vue
2025-01-06 14:35:50 +01:00
Johannes Zellner
6da071c88d
Ensure we reset the task states if taskId is gone
2025-01-06 14:35:50 +01:00
Johannes Zellner
98ba214dfb
Improve task progress for apps view
2025-01-06 14:35:50 +01:00
Johannes Zellner
5b86c96adf
Show empty app placeholder depending on permissions
2025-01-06 14:35:50 +01:00
Johannes Zellner
a43f9d78c4
Add filterbar in apps view
2025-01-06 14:35:50 +01:00
Johannes Zellner
bc8b32ebab
Ensure we update on applink edit
2025-01-06 14:35:50 +01:00
Johannes Zellner
363efd3836
Improve horizontal content spacing on mobile
2025-01-06 14:35:50 +01:00
Johannes Zellner
c1817505f8
Update dependencies
2025-01-06 14:35:50 +01:00
Johannes Zellner
27fac748cd
Add applink dialog in apps view
2025-01-06 14:35:50 +01:00
Johannes Zellner
56739945fa
Add block devices to volumes view
2025-01-06 14:35:50 +01:00
Johannes Zellner
8a5e7accaf
Fetch block devices for volumes
2025-01-06 14:35:50 +01:00
Johannes Zellner
8c8ae57103
Add busy state to volumes view
2025-01-06 14:35:50 +01:00
Johannes Zellner
c3ab43a9fc
Show task status in list view
2025-01-06 14:35:50 +01:00
Johannes Zellner
a2d1d83457
Refresh apps with task info if exists
2025-01-06 14:35:50 +01:00
Johannes Zellner
ce01adc5b7
Adjust card background in dark mode
2025-01-06 14:35:50 +01:00
Johannes Zellner
f0598c9fec
Initial navbar mobile support
2025-01-06 14:35:50 +01:00
Johannes Zellner
19c0d325ca
Initial basic side-bar open/close logic
2025-01-06 14:35:50 +01:00
Johannes Zellner
97d0cc2fb4
Add list view to apps listing
2025-01-06 14:35:50 +01:00
Johannes Zellner
df3a80e17e
Add basic empty app list placeholder text
2025-01-06 14:35:50 +01:00
Johannes Zellner
3eacdff1d6
Add example app grid filtering
2025-01-06 14:35:50 +01:00
Johannes Zellner
cd63d2622c
No need for a back button from app config
2025-01-06 14:35:50 +01:00
Johannes Zellner
2bf91ea453
Give all views the same width
2025-01-06 14:35:50 +01:00
Johannes Zellner
7e8cbc542b
Update pankow
2025-01-06 14:35:50 +01:00
Johannes Zellner
55e0d734df
Initial rewrite of the apps view
2025-01-06 14:35:50 +01:00
Johannes Zellner
a42c7e4735
Make it a proper left side-bar
2025-01-06 14:35:50 +01:00
Johannes Zellner
dd264617d7
Finish Volumesview.vue
2025-01-06 14:35:50 +01:00
Johannes Zellner
2167b1fc6b
Update frontend dependencies
2025-01-06 14:35:50 +01:00
Johannes Zellner
9b3f1c3f9c
pankow expects root vue element to have id 'app'
2025-01-06 14:35:50 +01:00
Johannes Zellner
e51014a5bc
Start work on VolumesView.vue
2025-01-06 14:35:50 +01:00
Johannes Zellner
58e5f96eda
Slightly different bright colors
2025-01-06 14:35:50 +01:00
Johannes Zellner
74679b4b41
Add Card component and various darkmode fixes
2025-01-06 14:35:50 +01:00
Johannes Zellner
2a0f727cba
Also lint .vue files
2025-01-06 14:35:50 +01:00
Johannes Zellner
9937c01cde
Attempt to user Inter font
2025-01-06 14:35:50 +01:00
Johannes Zellner
ebf3e4fea7
Some dark mode fixes
2025-01-06 14:35:50 +01:00
Johannes Zellner
8e3839203b
Add support for accent color and rework cards
2025-01-06 14:35:50 +01:00
Johannes Zellner
a53bc720cb
Move menu to sidebar
2025-01-06 14:35:50 +01:00
Johannes Zellner
ab62f61256
Move password reset view to vue and pankow
2025-01-06 14:35:50 +01:00
Johannes Zellner
a2b737e6a0
Clean up the openid interaction abort page
2025-01-06 14:35:50 +01:00
Johannes Zellner
893e07ea16
Share footer styles
2025-01-06 14:35:50 +01:00
Johannes Zellner
78cfb9b7f0
Cleanup the openid login confirm trampoline page
2025-01-06 14:35:50 +01:00
Johannes Zellner
fae42bbca3
Improve footer in vue views
2025-01-06 14:35:50 +01:00
Johannes Zellner
d95b13664e
If we have no localstorage language fetch branding
2025-01-06 14:35:50 +01:00
Johannes Zellner
f7fe38fa25
Add missing data properties
2025-01-06 14:35:50 +01:00
Johannes Zellner
38ed49d814
New style for oidc error page
2025-01-06 14:35:50 +01:00
Johannes Zellner
fb08369aec
Use pankow in login view
2025-01-06 14:35:50 +01:00
Johannes Zellner
a071cef46a
vuefy login page
2025-01-06 14:35:50 +01:00
Johannes Zellner
7438576bb1
Move proxyauth page to vite
2025-01-06 14:35:50 +01:00
Johannes Zellner
571d510423
Move all oidc views into vite / dashboard
2025-01-06 14:35:50 +01:00
Johannes Zellner
8dd4b58227
Move oidc error page into vite
2025-01-06 14:35:50 +01:00
Johannes Zellner
d9402bc24d
Move login.ejs into a vite handled view
2025-01-06 14:35:50 +01:00
Johannes Zellner
0513ed16bb
Try first view support
2025-01-06 14:35:50 +01:00
Girish Ramakrishnan
e536c94028
firewall: add dockerproxy
2025-01-03 21:14:19 +01:00
Girish Ramakrishnan
d57020d269
firewall: allow udp responses to come back from docker
2025-01-03 19:50:42 +01:00
Girish Ramakrishnan
d47aa816d3
firewall: accept ldap connections
2025-01-03 19:33:51 +01:00
Girish Ramakrishnan
29a9b3d68a
firewall: use a chain instead of adding rules directly
...
this helps in updating rules across upgrades
2025-01-03 17:59:24 +01:00
Girish Ramakrishnan
b6f70e4bc0
rsync: increase empty dir limit
...
a mail backup of a mailbox with many folders can have many empty dirs
https://forum.cloudron.io/topic/13047/since-update-to-v8-2-1-backups-fail-with-too-many-empty-directories
2025-01-03 13:01:10 +01:00
Girish Ramakrishnan
73e1e6881e
docker: fix parsing of imageRef if no namespace
2025-01-03 10:10:06 +01:00
Girish Ramakrishnan
ebc3dfc3f0
mail: update the dns-list plugin
2025-01-03 09:36:11 +01:00
Girish Ramakrishnan
2ae05baec3
add to changelog
2025-01-02 23:53:00 +01:00
Girish Ramakrishnan
746bcb1dd0
firewall: ip6tables requires ipv6
2025-01-02 23:48:19 +01:00
Girish Ramakrishnan
874f8328b8
firewall: wait-interval is deprecated
2025-01-02 23:44:50 +01:00
Girish Ramakrishnan
62e2283992
firewall: add masquerade rule for access via public IP
2025-01-02 23:34:46 +01:00
Girish Ramakrishnan
0cf407b6f5
give mail container a static IP
2025-01-02 23:33:21 +01:00
Girish Ramakrishnan
8a97b7efa4
notifications: send unacked ones first
2025-01-02 16:50:31 +01:00
Girish Ramakrishnan
1e2ca7b835
volumes: test host path validation
2025-01-02 11:46:11 +01:00
Girish Ramakrishnan
f7ea847336
do not modify hostPath variable
2025-01-02 11:22:09 +01:00
Girish Ramakrishnan
9d890e1c21
security: fix issue where '/' symlink allows admins to get ssh access
...
* create a volume
* create symlink to /
* now, create another volume with that symlink as host directory
2025-01-02 11:18:39 +01:00
Girish Ramakrishnan
9c7e9e25ca
scheduler: respect cloudron timezone setting
2025-01-02 10:11:14 +01:00
Girish Ramakrishnan
4ffe736d46
mail: dns list crash fix
2025-01-02 09:24:51 +01:00
Girish Ramakrishnan
13d82e5a4d
mail: fix issue with dkim signing
2025-01-01 18:33:04 +01:00
Girish Ramakrishnan
a7f083dbd1
gandi: get token type in setup view
2025-01-01 15:43:46 +01:00
Girish Ramakrishnan
d3b82d68e7
add todo for ipv6 ptr
2024-12-22 12:39:33 +01:00
Girish Ramakrishnan
bd961025f6
platform: get shell output as utf8
2024-12-19 16:59:28 +01:00
Girish Ramakrishnan
c31da4eb2a
add to changelog
2024-12-19 15:40:58 +01:00
Girish Ramakrishnan
812ecf4041
disable archiving for pre-8.2 backups
...
the sso situation complicates implementing restore for those
2024-12-19 15:31:07 +01:00
Girish Ramakrishnan
cd8be9ffb5
archive: appConfig is null for pre-8.2 backups
...
use backups.manifest when possible instead
2024-12-19 15:21:33 +01:00
Girish Ramakrishnan
40abb446d4
archive: disable button when busy
2024-12-19 15:13:20 +01:00
Johannes Zellner
96d740fb15
Use VITE_CACHE_ID also in index.js
2024-12-19 14:01:54 +01:00
Girish Ramakrishnan
5898436638
test: fix dockerproxy
2024-12-19 13:10:14 +01:00
Girish Ramakrishnan
17fee93002
apps: hide update indicator for normal users
2024-12-19 12:36:47 +01:00
Girish Ramakrishnan
68431ae357
rename functions to avoid mistakes
...
the remove fields are not clear enough. we sent notes by mistake to
normal users. changing the name and passing role as the argument
will avoid these errors
2024-12-19 12:24:08 +01:00
Girish Ramakrishnan
ba6ba44955
use enum for access levels
2024-12-19 12:24:08 +01:00
Girish Ramakrishnan
3b101a2086
remove spurious comment
2024-12-19 12:24:08 +01:00
Johannes Zellner
876fd218af
Fix sso ordering in apps listing
2024-12-19 12:22:41 +01:00
Girish Ramakrishnan
cbd32e7372
apps: non-admins cannot see notes, checklist and enableBackup
2024-12-19 11:35:20 +01:00
Girish Ramakrishnan
324b82187b
readme: reword some things
2024-12-19 10:32:30 +01:00
Girish Ramakrishnan
8d19c351e7
cloudron-support: add link to docs
2024-12-18 10:52:51 +01:00
Girish Ramakrishnan
5c00fb361a
cloudron-support: suggest removing nodejs apt
2024-12-18 10:17:05 +01:00
Girish Ramakrishnan
903e0bc568
solr: show state correctly
2024-12-18 07:21:19 +01:00
Girish Ramakrishnan
d12a23b73f
fts: enable and not enabled
2024-12-18 07:07:07 +01:00
Girish Ramakrishnan
6e34f84b14
Update fts translations
2024-12-17 21:19:29 +01:00
Girish Ramakrishnan
c74fa04b7f
better text
2024-12-17 19:23:06 +01:00
Girish Ramakrishnan
758b05393c
catch app backup error to release lock
2024-12-17 19:08:43 +01:00
Girish Ramakrishnan
219066d8d7
mail_templates: no format
2024-12-17 17:07:35 +01:00
Girish Ramakrishnan
449dd4730f
archive: return the id in archive route
2024-12-17 14:33:36 +01:00
Girish Ramakrishnan
73ffe9ce41
link to App Archive
2024-12-17 11:34:53 +01:00
Girish Ramakrishnan
c21c24f088
Update translations
2024-12-17 11:01:12 +01:00
Girish Ramakrishnan
f35f548ecd
mail: fix various upstream plugin changes
2024-12-16 23:57:56 +01:00
Girish Ramakrishnan
69d5283caf
mail: use a lock to protect container recreation
...
needs a lock because the cert code also restart mail server from tasks
2024-12-16 22:34:52 +01:00
Girish Ramakrishnan
43950fc398
ldap: fix crash. function was renamed
2024-12-16 20:29:28 +01:00
Girish Ramakrishnan
d2e3b80517
taskworker: add debug
2024-12-16 15:17:35 +01:00
Girish Ramakrishnan
3728d8ecc1
porkbun: incorrect usage of promises
2024-12-16 14:07:03 +01:00
Girish Ramakrishnan
dcca524726
porkbun: timeout for all requests flat out
2024-12-16 10:03:16 +01:00
Girish Ramakrishnan
9ec5fc29aa
dns: return same type
2024-12-16 09:55:54 +01:00
Girish Ramakrishnan
1d0f3a08f4
porkbun: it is really slow
2024-12-16 09:46:38 +01:00
Girish Ramakrishnan
3d8ffcd0f7
another typo
2024-12-14 23:28:00 +01:00
Girish Ramakrishnan
8c28871b76
typo
2024-12-14 23:25:14 +01:00
Girish Ramakrishnan
df53f827c5
release: happy eyeballs workaround
2024-12-14 22:00:45 +01:00
Girish Ramakrishnan
83adcd73a9
sqlite3: images.base is gone
2024-12-14 21:40:47 +01:00
Girish Ramakrishnan
8e6890b4d6
docker: rework image pruning
...
with our new retagging approach, the Digest ID remains <null> because
this is only set by docker if truly fetched from the registry.
this means that redis container always gets removed...
2024-12-14 20:47:35 +01:00
Girish Ramakrishnan
bd107e849b
infra: no more images.base
2024-12-14 20:18:07 +01:00
Girish Ramakrishnan
5893f53b43
typo
2024-12-14 19:05:32 +01:00
Girish Ramakrishnan
1894ed7721
box: no oidc messages
2024-12-14 19:04:59 +01:00
Girish Ramakrishnan
96b715de8e
apptask: try install via ipv4
...
our ci app images are not pushed to quay and the tests fail on
ipv6 servers
2024-12-14 18:55:55 +01:00
Girish Ramakrishnan
b26890f5b3
release: print the sourceEnv.url
2024-12-14 17:14:41 +01:00
Girish Ramakrishnan
5ae29eabaa
docker: try ipv4 and then ipv6 explicitly
...
To get the ratelimits:
TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull " | jq -r .token)
curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest
docker appears to have some simple approach to track ipv6 limits.
2024-12-14 17:05:13 +01:00
Girish Ramakrishnan
d9e4aeb518
docker: replace pull with tag to not hit rate limits
2024-12-14 16:16:33 +01:00
Girish Ramakrishnan
6b7edbd552
docker: fallback to quay if docker hub does not work
2024-12-14 15:22:12 +01:00
Girish Ramakrishnan
12f19299a8
docker: only send credentials when registry matches
2024-12-14 14:21:15 +01:00
Girish Ramakrishnan
0008e5a83b
docker: parse registry also
2024-12-14 14:10:29 +01:00
Girish Ramakrishnan
0bd1aac0ef
refactor
2024-12-14 14:05:53 +01:00
Girish Ramakrishnan
5145344987
docker: do not use auth for cloudron namespace
2024-12-14 14:04:40 +01:00
Girish Ramakrishnan
cc980fbc0c
add note on manifest id
2024-12-14 14:02:49 +01:00
Girish Ramakrishnan
878caff378
improve the comment
2024-12-14 14:01:38 +01:00
Girish Ramakrishnan
5ce82d6794
docker: parseImageRef
2024-12-14 14:00:05 +01:00
Girish Ramakrishnan
d456f91921
tasks: fix active status
2024-12-12 19:09:55 +01:00
Girish Ramakrishnan
3be77fc634
fix link
2024-12-12 15:21:05 +01:00
Girish Ramakrishnan
a4e68733ed
use ttyUSB0 as placeholder
2024-12-12 12:33:54 +01:00
Johannes Zellner
eaae3f824b
Also remove postinstall confirm checkbox from app view
2024-12-12 12:20:34 +01:00
Johannes Zellner
8d3b9685a1
Update postgres addon version
2024-12-12 12:01:57 +01:00
Johannes Zellner
3fa354a815
Update translations
2024-12-12 11:53:24 +01:00
Johannes Zellner
512722695e
Fix archives for mobile
2024-12-12 11:52:59 +01:00
Johannes Zellner
9ed424a5d9
Add some changes
2024-12-12 11:22:15 +01:00
Johannes Zellner
a36ef67305
Update frontened dependencies
2024-12-12 11:19:38 +01:00
Girish Ramakrishnan
be340580d4
various notification fixes
2024-12-11 23:58:17 +01:00
Girish Ramakrishnan
fbe207dac3
typo
2024-12-11 23:01:00 +01:00
Girish Ramakrishnan
f59837f7c3
spurious console
2024-12-11 22:44:04 +01:00
Girish Ramakrishnan
d0d0913c70
notifications: add context field
2024-12-11 22:29:00 +01:00
Girish Ramakrishnan
701c25d07a
notifications: add back app down and app oom mails
2024-12-11 20:56:15 +01:00
Johannes Zellner
d38b4d7b74
Fix notification setting button size and margin
2024-12-11 19:29:05 +01:00
Girish Ramakrishnan
8fd9324048
Fix crash
2024-12-11 19:17:44 +01:00
Girish Ramakrishnan
6004cd17bf
notifications: per user email prefs
2024-12-11 19:12:20 +01:00
Girish Ramakrishnan
746e694d7e
notifications: rename alert to pin and unpin
2024-12-11 17:31:32 +01:00
Girish Ramakrishnan
ead419003b
notifications: rename ALERT_ to TYPE_
2024-12-11 15:29:20 +01:00
Girish Ramakrishnan
6141db8f34
Update ubuntu check to bionic
2024-12-11 15:03:59 +01:00
Girish Ramakrishnan
6993cbeb9f
archive: download the config
2024-12-11 10:54:51 +01:00
Girish Ramakrishnan
96f2c6e2aa
archive: add button to download the config
2024-12-11 09:50:54 +01:00
Girish Ramakrishnan
65f507bc75
clone: read custom icon from downloaded backup
...
the backups table does not have icon to save space. only the
archives table has it for the moment.
2024-12-10 22:47:21 +01:00
Girish Ramakrishnan
05d6484d27
clone: label should be from dolly
2024-12-10 21:07:59 +01:00
Girish Ramakrishnan
41bc08a07e
backup: move appConfig to backups table
...
this is useful for clone also to copy notes, operators, checklist
of the time when the backup was made (as opposed to current)
at this point, it's not clear why we need a archives table. it's
an optimization to not have to store icon for every backup.
2024-12-10 21:04:37 +01:00
Girish Ramakrishnan
98058f600e
archive: prefill secondary domain correctly
2024-12-10 19:27:19 +01:00
Girish Ramakrishnan
41b302b0b9
apps: unarchive can call add() on it's own
...
all this because the sso flag is not allowed with optionalSso :/
2024-12-10 19:09:29 +01:00
Girish Ramakrishnan
fbe334e7d7
install/unarchive: add support for various fields
2024-12-10 18:39:16 +01:00
Girish Ramakrishnan
9a155491cb
move unarchive to apps model
2024-12-10 17:19:12 +01:00
Girish Ramakrishnan
ab8ec07f2f
clone/unarchive: handle notes and checklist
2024-12-10 17:16:06 +01:00
Girish Ramakrishnan
3e1c886b17
clone: copy devices
2024-12-10 16:49:25 +01:00
Girish Ramakrishnan
21c3d16db5
archive: proxy app cannot be archived
2024-12-10 16:49:25 +01:00
Girish Ramakrishnan
0e181cdc82
archive: implement unarchive
...
made a separate route instead of reusing install route. this was
because we want to copy over all the old app config as much as
possible.
2024-12-10 16:49:19 +01:00
Girish Ramakrishnan
e168be6d97
appstore: remove traces of custom cert
2024-12-10 14:49:54 +01:00
Girish Ramakrishnan
f65be99017
appstore: remove ununsed cert input
2024-12-10 14:47:00 +01:00
Girish Ramakrishnan
e201d4c896
archive: add confirm delete dialog
2024-12-10 14:26:07 +01:00
Johannes Zellner
a8035d01c6
Fix archive app icons
2024-12-10 13:25:44 +01:00
Johannes Zellner
054275f143
appstore id tooltip should be on the string not the table cell
2024-12-10 13:15:09 +01:00
Johannes Zellner
e652456d54
vertically align action buttons in archive table
2024-12-10 13:04:57 +01:00
Johannes Zellner
1e6a7d72ab
Attach tooltip to body to not break table layout
2024-12-10 13:02:31 +01:00
Johannes Zellner
965054a707
Fix translation typo
2024-12-10 12:58:22 +01:00
Johannes Zellner
9a26dc090e
Allow to set DASHBOARD_DEVELOPMENT_ORIGIN in env for local development
2024-12-10 12:56:09 +01:00
Girish Ramakrishnan
30b0d4cced
archives: add listing
2024-12-10 12:30:10 +01:00
Girish Ramakrishnan
f973536f7f
archives: add eventlog
2024-12-10 11:10:35 +01:00
Girish Ramakrishnan
490840b71d
archives: use separate table
...
Cleaner to separate things from the backups table.
* icon, appConfig, appStoreIcon etc are only valid for archives
* older version cloudron does not have appConfig in backups table (so it
cannot be an archive entry)
2024-12-10 10:36:44 +01:00
Girish Ramakrishnan
2ad93c114e
archive: add appConfig, icon and appStoreIcon
2024-12-09 23:25:31 +01:00
Girish Ramakrishnan
cec2106cfe
update the schema file
2024-12-09 22:42:22 +01:00
Girish Ramakrishnan
9200e6fc63
add archives api
2024-12-09 22:39:28 +01:00
Girish Ramakrishnan
5907975c02
remove App from start/stop/restart
2024-12-09 21:26:35 +01:00
Girish Ramakrishnan
fe68887cdd
archive: add confirm dialog
2024-12-09 21:22:06 +01:00
Girish Ramakrishnan
24df6edbf1
update archive translations
2024-12-09 19:14:33 +01:00
Girish Ramakrishnan
710bd270d7
apps: add archive action
2024-12-09 18:51:49 +01:00
Girish Ramakrishnan
147e014205
backup: add archive flag
2024-12-09 16:25:31 +01:00
Girish Ramakrishnan
65a7f5f1c6
Use subarray instead of slice
...
says it's deprecated
2024-12-09 16:14:49 +01:00
Girish Ramakrishnan
cfc3a4217d
platform: mark apps early
...
this gives some UI feedback when the platform is starting
2024-12-09 15:04:14 +01:00
Girish Ramakrishnan
35be854997
apptaskmanager: do not schedule tasks until infra ready
2024-12-09 14:46:03 +01:00
Johannes Zellner
58af890abe
Do not crash on assert if backup task failed
2024-12-09 13:09:51 +01:00
Girish Ramakrishnan
ada878c939
hetzner: add helsinki object storage location
2024-12-09 09:44:35 +01:00
Girish Ramakrishnan
08435fbe26
release: more debugs
2024-12-09 09:06:38 +01:00
Girish Ramakrishnan
00a643e70a
release: add the env.tag to output
2024-12-09 09:03:36 +01:00
Girish Ramakrishnan
cc759a8427
Add waiting for lock message
2024-12-09 08:40:54 +01:00
Girish Ramakrishnan
bb392207ea
remove global lock
...
Currently, the update/apptask/fullbackup/platformstart take a
global lock and cannot run in parallel. This causes situations
where when a user tries to trigger an apptask, it says "waiting for
backup to finish..." etc
The solution is to let them run in parallel. We need a lock at the
app level as app operations running in parallel would be bad (tm).
In addition, the update task needs a lock just for the update part.
We also need multi-process locks. Running tasks as processes is core
to our "kill" strategy.
Various inter process locks were explored:
* node's IPC mechanism with process.send(). But this only works for direct node.js
children. taskworker is run via sudo and the IPC does not work.
* File lock using O_EXCL. Basic ideas to create lock files. While file creation
can be done atomically, it becomes complicated to clean up lock files when
the tasks crash. We need a way to know what locks were held by the crashing task.
flock and friends are not built-into node.js
* sqlite/redis were options but introduce additional deps
* Settled on MySQL based locking. Initial plan was to have row locks
or table locks. Each row is a kind of lock. While implementing, it was found that
we need many types of locks (and not just update lock and app locks). For example,
we need locks for each task type, so that only one task type is active at a time.
* Instead of rows, we can just lock table and have a json blob in it. This hit a road
block that LOCK TABLE is per session and our db layer cannot handle this easily! i.e
when issing two db.query() it might use two different connections from the pool. We have to
expose the connection, release connection etc.
* Next idea was atomic blob update of the blob checking if old blob was same. This approach,
was finally refined into a version field.
Phew!
2024-12-07 20:41:22 +01:00
Girish Ramakrishnan
a5b9ff0c3a
add to changelog
2024-12-07 11:27:52 +01:00
Johannes Zellner
146afce934
Improve devices error handling
2024-12-06 13:35:52 +01:00
Girish Ramakrishnan
de0909248d
start.sh: collapse the mkdir lines
2024-12-05 15:53:03 +01:00
Johannes Zellner
d5b3a56129
dashboard: show devices error within the form
2024-12-05 15:27:10 +01:00
Johannes Zellner
fbed850acc
Also validate devices in the setter route
2024-12-05 15:16:06 +01:00
Johannes Zellner
25fb467c02
dashboard: initial UI to attach devices to apps
2024-12-05 14:49:36 +01:00
Johannes Zellner
8493022f75
Allow apps to specify custom devices
2024-12-05 14:21:07 +01:00
Johannes Zellner
621c1ed95a
dashboard: import momentjs with all locales
2024-12-05 12:19:58 +01:00
Johannes Zellner
4992e284fb
dashboard: never hide or wrap action buttons in app list
2024-12-04 18:15:34 +01:00
Girish Ramakrishnan
e4fb040ddf
make tests great again
2024-12-04 16:36:05 +01:00
Girish Ramakrishnan
2bfa49cc2e
applinks: add tests
2024-12-04 16:17:07 +01:00
Girish Ramakrishnan
3b9d617e37
groups: add events to eventlog
2024-12-04 11:30:30 +01:00
Girish Ramakrishnan
fdf8025a02
style: remove -> del
2024-12-03 17:36:50 +01:00
Girish Ramakrishnan
423dfb6ace
schema: update comment
2024-12-03 16:33:59 +01:00
Girish Ramakrishnan
0a4aede3a8
eventlog: branding events
2024-12-02 12:18:09 +01:00
Girish Ramakrishnan
872705d58d
oidc: use the cloudron name as provider name
2024-12-02 12:01:19 +01:00
Girish Ramakrishnan
ca5776e6f3
services: fix oidc usage
2024-12-02 11:00:12 +01:00
Girish Ramakrishnan
d4998b5d55
rename view user-settings to user-directory
2024-12-02 09:02:58 +01:00
Girish Ramakrishnan
e93f5e3e87
oidc: show name in delete dialog
2024-12-02 08:56:03 +01:00
Girish Ramakrishnan
d29bb90c5a
update various oidc translations
2024-12-02 08:56:03 +01:00
Girish Ramakrishnan
1230e5c9e7
oidc: add load pattern
2024-12-02 08:36:03 +01:00
Girish Ramakrishnan
dc3d23c27b
oidc: flatten the export list
2024-12-02 08:31:35 +01:00
Girish Ramakrishnan
6623061c2c
services: fix ticks
2024-11-30 18:02:29 +01:00
Girish Ramakrishnan
1ecb853309
mail: attachment search
2024-11-30 17:42:26 +01:00
Girish Ramakrishnan
2a6c52800b
system: filesystems in exclude are excluded from content analysis
...
some disks can be very slow and noisy (at home). this allows users to simply skip them.
also, applicable for large storage boxes
2024-11-30 13:08:21 +01:00
Girish Ramakrishnan
320ddfda2e
compute docker df only once
2024-11-30 12:44:15 +01:00
Girish Ramakrishnan
40febc8ef2
system: rename DISK_TYPES to FS_TYPES
2024-11-30 12:04:07 +01:00
Girish Ramakrishnan
56f6519b3e
rename disks to filesystems
2024-11-30 12:04:04 +01:00
Girish Ramakrishnan
f219abf082
system: indent cache file
2024-11-30 11:11:54 +01:00
Girish Ramakrishnan
742a04d149
system: expose getDisks only for tests
2024-11-30 10:42:06 +01:00
Girish Ramakrishnan
26caacc12e
Fix debugs
2024-11-30 10:18:48 +01:00
Girish Ramakrishnan
1497518867
better assert message
2024-11-30 10:18:40 +01:00
Johannes Zellner
1a4a69f365
update postgres to add pgvector extension
2024-11-28 17:37:22 +01:00
Girish Ramakrishnan
78520e09c3
domains: add inwx provider
2024-11-26 19:13:33 +05:30
Girish Ramakrishnan
f0207ff161
test: comment it out, it is not run anyway
2024-11-26 15:54:55 +05:30
Girish Ramakrishnan
dd45f1c032
cloudron-support: set connect timeout and redirect ping output
2024-11-26 11:15:27 +05:30
Girish Ramakrishnan
ddf1c8e385
cloudron-support: clarify ipv6 in kernel
2024-11-26 11:10:58 +05:30
Girish Ramakrishnan
948efbaa76
docker: upgrade docker to 27.3.1
2024-11-23 20:31:44 +05:30
Girish Ramakrishnan
ccd1a4319d
lint
2024-11-21 19:18:26 +05:30
Girish Ramakrishnan
22be1f1b72
sqlite: create dumps based on the basename
2024-11-21 12:34:06 +05:30
Girish Ramakrishnan
7095862601
sqlite: add some comments
2024-11-21 12:24:27 +05:30
Girish Ramakrishnan
fa98e0570f
sqlite: change path to paths
2024-11-21 10:02:26 +05:30
Girish Ramakrishnan
4316d3eade
add sqlite3 addon take 2
...
- there is no container id during the addon lifecycle
- sqlite3 requires the localstorage addon to be inited. so this has to
become like the ftp option
- remove all that child_process streaming stuff. too complicated
2024-11-21 00:13:17 +05:30
Girish Ramakrishnan
f8cd0b5f52
add sqlite3 addon
2024-11-21 00:13:17 +05:30
Girish Ramakrishnan
a8b3f69acc
Update manifestformat
2024-11-21 00:13:17 +05:30
Johannes Zellner
78cb36ea0e
Start using POST /api/v1/apps to install
2024-11-20 16:18:37 +01:00
Girish Ramakrishnan
b4d58f0609
aws: add a 20min timeout
...
in some services like b2, the multi-part copy just hangs. this allows
us to retry
2024-11-20 07:13:43 +05:30
Girish Ramakrishnan
18abc214a6
mail: update haraka to 3.0.5
2024-11-20 06:32:13 +05:30
Girish Ramakrishnan
5e3857fd3d
Fix assert
...
NETWORK_ERROR is usually an AggregateError which causes an
assert in BoxError
2024-11-19 17:08:55 +05:30
Johannes Zellner
e35b36643c
Add more oidc debugs
2024-11-18 18:09:01 +01:00
Johannes Zellner
16fa339025
Add refresh_token grant type
2024-11-18 18:07:32 +01:00
Girish Ramakrishnan
051b0e0fd3
oidc: set a refresh token ttl to avoid warning
...
oidc-provider NOTICE: default ttl.RefreshToken function called, you SHOULD change it in order to define the expiration for RefreshToken artifacts.
2024-11-18 15:29:14 +05:30
Girish Ramakrishnan
62d3212f88
applink: add timeout when detecting metadata
2024-11-18 08:18:39 +05:30
Girish Ramakrishnan
fd96665e97
rsync: show better error message with too many empty dirs, symlinks or executables
2024-11-18 08:11:14 +05:30
Girish Ramakrishnan
8f6637773b
shell: add option for maxLines
2024-11-18 07:59:05 +05:30
Girish Ramakrishnan
d7f829b3e1
Fix link
2024-11-10 09:35:42 +01:00
Johannes Zellner
3fdb43762b
Do not make app dockerImage overflow
2024-11-08 21:39:44 +01:00
Girish Ramakrishnan
7ae02a62fe
quote the filename
2024-11-08 21:11:23 +01:00
Johannes Zellner
11cb33fe25
Update dashboard dependencies
2024-11-08 18:33:44 +01:00
Johannes Zellner
a09202d1fa
Show some error in filemanager if pasting fails
2024-11-08 18:28:57 +01:00
Johannes Zellner
fcccccaaae
Ask for app restart confirmation
2024-11-08 18:15:34 +01:00
Johannes Zellner
9f80578bab
Avoid preview flickering for psd image files
2024-11-08 18:15:34 +01:00
Girish Ramakrishnan
32e3665b7a
more changes
2024-11-08 17:15:40 +01:00
Girish Ramakrishnan
e9c10b306c
update translations
2024-11-08 17:15:40 +01:00
Johannes Zellner
dabadcc00e
Ensure minimum flexitem width for disk usage
2024-11-08 16:48:40 +01:00
Girish Ramakrishnan
9cc594d633
hetzner: add nbg1
2024-11-08 16:21:25 +01:00
Girish Ramakrishnan
8350eeb751
cloudron-support: rename enable-remote-access to enable-remote-support
2024-11-08 16:01:30 +01:00
Johannes Zellner
7b61bafab7
Fix oidc login layout for long instance names
2024-11-06 17:15:03 +01:00
Girish Ramakrishnan
6407d795ed
du: better error handling of du
...
du can fail when files and directories go missing. luckily, when du fails,
it still provides the best effort output
2024-11-06 14:54:52 +01:00
Girish Ramakrishnan
9cf235af39
boxerror: assign extra fields in all cases
2024-11-06 13:40:37 +01:00
Johannes Zellner
18e5365104
Fix typo
2024-11-05 14:24:40 +01:00
Johannes Zellner
c03eff8da2
shell.js using argument array list now
2024-11-05 13:09:27 +01:00
Johannes Zellner
28f79cd6c9
return early if docker ps returns nothing
2024-11-05 13:05:12 +01:00
Girish Ramakrishnan
fc2786b07f
taskworker: fix programming error
2024-11-01 16:15:32 +01:00
Johannes Zellner
620ad13427
Add more changes
2024-11-01 16:03:19 +01:00
Johannes Zellner
0776442a5f
Silence deprecation warning caused by old bootstrap import
2024-10-31 10:29:37 +01:00
Girish Ramakrishnan
4a207395ca
middleground in timeout
...
DO BLR droplets still fail with 1s timeout!
2024-10-31 10:22:55 +01:00
Girish Ramakrishnan
2df983a1cf
lower timeout
2024-10-31 09:50:20 +01:00
Girish Ramakrishnan
03e17aea22
taskworker: refactor
2024-10-31 09:46:36 +01:00
Girish Ramakrishnan
aefa481c43
network: fix premature connection closures with node 20 and above
...
the happy eyeballs implementation in node is buggy. ipv4 and ipv6 connections
are made in parallel and whichever responds first is chosen. when there is no
ipv6 (immediately errors with ENETUNREACH/EHOSTUNREACH) and when ipv4 is > 250ms,
the code erroneously times out.
see also https://github.com/nodejs/node/issues/54359
reproduction for those servers:
const options = {
hostname: 'www.cloudron.io', port: 80, path: '/', method: 'HEAD',
// family: 4, // uncomment to make it work
};
const req = require('http').request(options, (res) => {
console.log('statusCode:', res.statusCode);
res.on('data', () => {}); // drain
});
req.on('socket', (socket) => console.log('Socket assigned to request', socket););
req.on('error', (e) => console.error(e));
req.end();
2024-10-31 09:38:40 +01:00
Girish Ramakrishnan
553c256d31
better debugs
2024-10-30 20:58:37 +01:00
Johannes Zellner
b6023afb29
Silence most dashboard sass deprecation warnings
2024-10-30 19:29:24 +01:00
Girish Ramakrishnan
0df1e3a47f
appstore: networkError is an aggreate error
2024-10-30 18:30:53 +01:00
Girish Ramakrishnan
78a08c5a0b
Use a real string as second argument since message can be undefined
2024-10-30 17:59:55 +01:00
Girish Ramakrishnan
55a880c9ac
Fix typo
...
14a18a42b7
2024-10-30 17:41:57 +01:00
Girish Ramakrishnan
61341b8380
boxerror: always pass second error string
2024-10-30 17:32:12 +01:00
Girish Ramakrishnan
a32b567eb1
boxerror: remove unused override
2024-10-30 15:43:53 +01:00
Johannes Zellner
25462d3290
pankow support dropdown buttons so use that in filemanager
2024-10-30 13:05:24 +01:00
Johannes Zellner
a9207b392b
Folder creation is a query arg not body param
2024-10-30 13:01:26 +01:00
Johannes Zellner
c0f3c3bd2b
dashboard: update dependencies
2024-10-30 12:28:07 +01:00
Johannes Zellner
8621fbda79
Enable refresh tokens for oidc provider
2024-10-29 16:20:53 +01:00
Johannes Zellner
84de986efd
Network mounts should only depend on systemd network-online.target now
2024-10-29 14:07:03 +01:00
Girish Ramakrishnan
0f3ab11532
Update node to 20.18.0
...
We need https://nodejs.org/dist/latest-v20.x/docs/api/cli.html#--network-family-autoselection-attempt-timeout
The happy eyeballs implementation in node is buggy - https://github.com/nodejs/node/issues/54359
2024-10-28 09:55:54 +01:00
Johannes Zellner
6b4a81e471
dashboard: bring back cache busting for old script included assets
2024-10-27 12:10:00 +01:00
Johannes Zellner
14a18a42b7
Avoid crash in externalldap if search result has no username
2024-10-22 14:49:14 +02:00
Johannes Zellner
2c28eddc2b
Fix linter errors
2024-10-22 14:40:53 +02:00
Girish Ramakrishnan
1b22ea661c
avatar: deliver .png images
...
this is required for mastodon atleast. if the oidc avatar url, returns
an svg, it crashes!
the profile pic png was created using inkspace:
inkscape -w 96 -h 96 avatar-default-symbolic.svg -o avatar-default-symbolic.png
2024-10-18 22:39:18 +02:00
Girish Ramakrishnan
efc3c7532e
Move requires to the top
2024-10-18 21:50:38 +02:00
Johannes Zellner
a3a807f22c
Ensure we stick to dark background in dark mode
2024-10-18 18:33:38 +02:00
Johannes Zellner
fac5d3c07b
Add code for cloudron-support to check and fix docker version
2024-10-17 12:41:33 +02:00
Girish Ramakrishnan
df5ba25010
shell: add explicit bash() function
2024-10-16 10:40:17 +02:00
Johannes Zellner
d66db8ca40
Use the correct new redis image
2024-10-15 22:28:52 +02:00
Johannes Zellner
0722d7ceb9
Update redis addon to set memory policy to noeviction
2024-10-15 22:07:17 +02:00
Johannes Zellner
06a23951c9
Use flexbox for sysinfo layout
2024-10-15 19:49:17 +02:00
Johannes Zellner
727d4876f5
Mobile fixes for volumes
2024-10-15 19:35:24 +02:00
Johannes Zellner
f5a43786c2
Fix mobile view for services
2024-10-15 19:24:05 +02:00
Johannes Zellner
30967af8ec
Fixup most mobile issues for eventlog
2024-10-15 19:19:16 +02:00
Johannes Zellner
ccd892708b
Hide wide summary for mail domains on mobile
2024-10-15 18:56:36 +02:00
Johannes Zellner
8cf3e38b27
Rework all section headers to deal with mobile wrapping
2024-10-15 18:46:51 +02:00
Johannes Zellner
4685f42045
fixup backups view for mobile
2024-10-15 17:50:46 +02:00
Johannes Zellner
e6232189e7
use flexbox for appstore toolbar
2024-10-15 17:47:59 +02:00
Johannes Zellner
6e12d06343
Use flexbox for profile panel instead of old boostrap grid
2024-10-15 17:27:58 +02:00
Johannes Zellner
d02b6d90cc
Update translation
2024-10-15 15:51:27 +02:00
Johannes Zellner
d10e9d7098
Fix api token list on mobile
2024-10-15 15:31:45 +02:00
Johannes Zellner
57b0cca6ab
Give headers more space on mobile
2024-10-15 15:26:10 +02:00
Johannes Zellner
fc565fd818
Give mobile navbar menu a shadow to elevate it from the content
2024-10-15 14:41:10 +02:00
Johannes Zellner
4e0c439c6f
Close navbar in mobile if item is selected
2024-10-15 13:16:50 +02:00
Johannes Zellner
39220ba408
Do not remove all card padding on mobile
2024-10-15 13:05:33 +02:00
Girish Ramakrishnan
7fbb9f9df3
remove explicit encoding
2024-10-15 12:23:32 +02:00
Girish Ramakrishnan
6c3ca9c364
shell: rework code to use shell.spawn
...
spawn gives out streams and we have more control over the stdout/stderr
buffers. otherwise, we have to provide a max buffer capture size to exec
2024-10-15 12:13:46 +02:00
Girish Ramakrishnan
7b648cddfd
shell: direct exports not needed anymore
2024-10-15 09:26:02 +02:00
Girish Ramakrishnan
a9e1d7641d
shell: make require take a tag
2024-10-14 21:08:32 +02:00
Girish Ramakrishnan
02823c4158
test: use same dashboard dir
2024-10-14 19:03:52 +02:00
Girish Ramakrishnan
d58789cc25
test: more test fixing
2024-10-14 18:37:22 +02:00
Girish Ramakrishnan
434a0cba9f
test: translation path has changed
2024-10-14 18:33:04 +02:00
Girish Ramakrishnan
ca8695a1d3
typo
2024-10-14 18:26:16 +02:00
Girish Ramakrishnan
7f141605fa
log the backuptask crash reason
2024-10-14 18:26:01 +02:00
Girish Ramakrishnan
23f9b5f2fc
logs: when no timestamp, use the last known
2024-10-14 16:30:30 +02:00
Girish Ramakrishnan
1abbe43785
log exception with timestamp prefixed
2024-10-14 16:21:25 +02:00
Girish Ramakrishnan
6361737cf4
sudo: use debug() to have provide timestamped logs
...
the exception is when sudo calls backupupload.js which already has timestamped
output because it uses node
an alternative idea is to maybe not use this flag at all and always parse the output.
this is a bit complicated since we have to look for a timestamp in a stream.
2024-10-14 15:38:55 +02:00
Girish Ramakrishnan
a884f968e1
syslog: fix parsing of multi-message packets
2024-10-14 13:54:32 +02:00
Johannes Zellner
ce611c4773
dashboard: only open the cloudron detail page to create a subscription
2024-10-12 18:52:49 +02:00
Girish Ramakrishnan
ba75c7ddaa
porkbun: api endpoint has changed
...
https://porkbun.com/api/json/v3/documentation
2024-10-12 10:58:21 +02:00
Girish Ramakrishnan
ff5dccc2b4
remove obsolete comment
2024-10-12 10:50:58 +02:00
Johannes Zellner
9b8994fe43
dashboard: fix changing views from appstore view after installation
2024-10-11 11:28:08 +02:00
Girish Ramakrishnan
34969d9980
groups: bump group_concat_max_len to accomdate more users
2024-10-09 19:12:53 +02:00
Johannes Zellner
da11e90333
Static busy spinner for oidc login views
2024-10-09 13:14:43 +02:00
Johannes Zellner
282d06404e
Static assets are actually on /
2024-10-09 12:56:25 +02:00
Johannes Zellner
64e60c106b
Produce a static theme.css for oidc login views
2024-10-09 12:52:22 +02:00
Johannes Zellner
1b3fd20755
Fixup oidc pages to match new location of dashboard assets
2024-10-09 11:31:02 +02:00
Girish Ramakrishnan
ce5a2b1f0a
gandi: use PAT token instead
...
https://api.gandi.net/docs/authentication/
2024-10-08 17:51:01 +02:00
Johannes Zellner
d68d5d5c51
Since dashboard is of type module we need to add correct common js extensions
2024-10-08 17:23:52 +02:00
Johannes Zellner
5a3460efb7
mimer.js is not used at all
2024-10-07 20:54:08 +02:00
Johannes Zellner
edf5ddf027
Remove not required autofill polyfill
2024-10-07 20:50:01 +02:00
Johannes Zellner
982714fa4c
We are not exporting this via git or so
2024-10-07 20:42:32 +02:00
Johannes Zellner
90ee525be7
Remove old unused dashboard scripts
2024-10-07 20:41:37 +02:00
Johannes Zellner
600323e027
Remove unused bootstrap files
2024-10-07 20:37:53 +02:00
Johannes Zellner
46a8b59196
Fixup mobile view for app list
2024-10-07 16:53:31 +02:00
Johannes Zellner
f96ae1a1de
mobile fixes for search and filter bar
2024-10-07 16:48:31 +02:00
Johannes Zellner
8894ec3019
Fix navbar menu with background set
2024-10-07 16:05:25 +02:00
Johannes Zellner
6f914a8d6b
Handle scss files with vite also
2024-10-07 14:56:49 +02:00
Johannes Zellner
9f06b91399
Merge remaining frontend into dashboard
2024-10-04 21:37:17 +02:00
Johannes Zellner
9d7f12952d
Move terminal.html to dashboard
2024-10-04 21:04:08 +02:00
Johannes Zellner
bc4e6ab1de
Move logs.html from frontend to dashboard
2024-10-04 20:47:49 +02:00
Johannes Zellner
2300e1baee
Fully replace gulp with vite
2024-10-04 17:43:45 +02:00
Johannes Zellner
1b00e0f254
Multiselect now works with vite
2024-10-04 16:38:36 +02:00
Johannes Zellner
6534e99103
Make it possible to use a dynamic api endpoint for local development
2024-10-04 15:22:11 +02:00
Johannes Zellner
ac98895e15
noto font is imported as module
2024-10-04 15:14:58 +02:00
Johannes Zellner
4e0961ae5a
Translation files are now in public/
2024-10-04 15:06:30 +02:00
Johannes Zellner
7669b77069
Some cleanup
2024-10-04 15:01:32 +02:00
Johannes Zellner
529d5b0b7b
We use chartjs directly
2024-10-04 14:51:22 +02:00
Johannes Zellner
6edc482aad
We don't target very old browsers anymore
2024-10-04 14:49:49 +02:00
Johannes Zellner
8fce81a264
Initial vite support for dashboard
2024-10-04 14:30:44 +02:00
Girish Ramakrishnan
ea2479beda
system: also get rota information
2024-09-30 14:09:15 +02:00
Johannes Zellner
40e7ee91d7
filemanager: fix new folder api call
2024-09-28 20:27:59 +02:00
Johannes Zellner
813942edbd
Update frontend dependencies
2024-09-28 20:15:09 +02:00
Girish Ramakrishnan
b70747de6f
Add Cloudron Container Registry as option
2024-09-26 20:35:28 +02:00
Johannes Zellner
1c58f9aa5a
dashboard: another small padding fix
2024-09-25 21:36:37 +02:00
Johannes Zellner
93aa2a4e6e
dashboard: Better view-header padding
2024-09-25 17:26:43 +02:00
Girish Ramakrishnan
0504e0423a
backups: add hetzner object storage
2024-09-25 12:21:42 +02:00
Girish Ramakrishnan
c1c16ab54e
test: add simple gitlab-ci file
2024-09-20 18:48:55 +02:00
Girish Ramakrishnan
76dc856dbf
test: fix system test
2024-09-20 15:37:34 +02:00
Vladimir D
227fdf10dd
OIDC: id_token added to client response types
2024-09-20 14:16:40 +02:00
Girish Ramakrishnan
19c744b17d
unbound-anchor is now part of ExecStartPre
...
it seems unbound-anchor is not a dep of unbound in ubuntu 24. some
installations are thus missing this package.
in any case, ignore unbound-anchor exit status
2024-09-20 10:00:01 +02:00
Vladimir D
3ce74d04d0
OIDC: groups claim added to make groups provisioned
2024-09-19 13:08:20 +02:00
Johannes Zellner
87b8fc6a1b
dashboard: remove box-shadow on form-controls to be inline with buttons
2024-09-19 13:04:03 +02:00
Johannes Zellner
9012badfb8
dashbaord: Fix form-control align in filter bars
2024-09-19 12:19:09 +02:00
Girish Ramakrishnan
3b6e5d8ed1
cloudron-support: ipv6 checks
2024-09-19 12:11:56 +02:00
Girish Ramakrishnan
1148724613
boxerror: handle AggregateError
2024-09-19 11:44:47 +02:00
Girish Ramakrishnan
f526695aae
cloudron-support: enable-ssh has an alias enable-remote-support
2024-09-19 08:38:59 +02:00