Commit graph

705 commits

Author SHA1 Message Date
Joas Schilling
7aace512da fix(security): Update Expires time
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 09:26:39 +00:00
Enjeck C
6d6509990f fix: Make some strings in CodeIntegrity.php translatable
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2025-08-26 22:04:15 +02:00
MichaIng
7e7822fbed feat(settings): simplify OPcache checks
For the overall OPcache size check, we currently compare used memory with free memory. However, `opcache.memory_consumption` is split into `used_memory`, `free_memory` and `wasted_memory`. When cached files change on disk, old entries are not replaced or removed, but remain as wasted memory, until the cache is actually full, and if their percentage is above `opcache.max_wasted_percentage`, which is 5% by default. When this happens, the engine is restarted, resetting the cache completely, like a `opcache_reset()` call.

As long as we do not consider wasted cache, recommendations based on free memory can be false. To solve this, we could count wasted memory as free memory, if it is above `opcache.max_wasted_percentage`, as the engine will be restarted as soon as needed, freeing up this wasted space. On the other hand, wasted memory below the threshold permanently blocks the OPcache, which supports counting it as used memory. Depending on the situation, instead of raising OPcache size, it could be also advised to reduce `opcache.max_wasted_percentage`. But too frequent cache resets break its purpose as well.

In my opinion, the matter is too complex to consider wasted cache correctly, and do precise recommendations, but we should focus on reducing false positives instead. What we know for sure is: if the cache is full (`$status['cache_full'] === true`), and the limit for cached keys has not been reached, the OPcache was too small to maintain free space, with wasted memory below the configured threshold, where it consumes memory permanently. Recommending to raise the OPcache size in this case, is hence as accurate as it gets. Even if 5% wasted cache could be freed, 95% used memory is still above the previous threshold for the setup check warning. And if `opcache.max_wasted_percentage` is above 5%, then the admin must have decided to change the default, deciding that system memory consumption has lower priority than preventing OPcache engine restarts.

`cache_full` can be true as well if the limit for cached keys has been reached, hence we need to merge both checks. In this case `num_cached_keys` equals `max_cached_keys` exactly, hence it is easy to differentiale whether `opcache.max_accelerated_files` or `opcache.memory_consumption` needs to be raised to address the `cache_full` state.

In practice, this change relaxes the checks: the respective limit needs to be reached 100% instead of 90%, to trigger a warning, eliminating also false alarms if a large share of the cache is consumed by wasted memory, which would be automatically freed once cache is 100% full.

Additionally, the recommendation for raising `opcache.max_accelerated_files` now says "a value higher than `max_cached_keys`", instead of "higher than `opcache.max_accelerated_files`". The actual limit, reflected by `max_cached_keys` from `opcache_get_status()`, [is a next higher value from a set of prime numbers](https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.max-accelerated-files). E.g. if `opcache.max_accelerated_files` is set to 10,000 (PHP default), the effective limit is 16,229 OPcache keys. Recommending "higher than 10000" could hence lead to a settings change without effect. For an effective change, the new value needs to be "higher than 16229" instead, which is what the setup check will show in this situation, with this change applied.

Signed-off-by: MichaIng <micha@dietpi.com>
2025-08-01 09:34:41 +02:00
Ferdinand Thiessen
a34dc95d55 fix(settings): verify source of app-discover media
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-21 16:58:23 +00:00
Ferdinand Thiessen
42f9209db7 fix(settings): use correct scope for translations
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-11 11:04:21 +00:00
rakekniven
4fbfb195b5 chore(18n): More natural english - fix plural typo
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 14:15:24 +02:00
Joas Schilling
4f7aac0820 fix(l10n): Fix one more plural
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-26 14:15:24 +02:00
Marcel Klehr
8b9882c5e6 fix: Correct translation method use
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-05-26 14:15:24 +02:00
rakekniven
70a775ea8e fix(SetupChecks): Update TaskProcessingPickupSpeed
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 14:15:24 +02:00
rakekniven
9778ee30d6 chore(18n): More natural english
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 14:15:24 +02:00
Marcel Klehr
708462a098 feat(SetupChecks): Add check for TaskProcessing pickup speed
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-05-26 14:15:24 +02:00
Ferdinand Thiessen
832f79ac93
chore: apply code style
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-30 19:04:59 +02:00
Ferdinand Thiessen
8e8125c610
fix(settings): group admins only can add users to their groups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 12:44:51 +02:00
Ferdinand Thiessen
2fab6e7427
feat(settings): provide user groups for accounts list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 12:44:44 +02:00
provokateurin
8a8d6addfb fix(settings): Handle email change restriction separately from display name change restriction
Co-authored-by: provokateurin <kate@provokateurin.de>
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-03 16:12:55 +02:00
Louis Chemineau
fcd5da101f
chore: Backport fixes
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-01 14:37:27 +02:00
Christopher Ng
ff76f4ad59 perf(settings): Remove computation of all groups
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-04-01 10:17:32 +00:00
Côme Chilliet
3d33ac2d34
chore: Move magic number into a documented const
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-31 15:39:40 +02:00
Côme Chilliet
d3bc8b771c
fix: Correctly count disabled users for SAML groups subadmins
If too many users return -1 as for LDAP so that link is shown

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-31 15:39:05 +02:00
Andy Scherzinger
6596946df9
Merge pull request #51401 from nextcloud/backport/51379/stable30
[stable30] fix(AppDiscover): Strip double-quotes from folder name
2025-03-12 08:58:05 +01:00
Ferdinand Thiessen
c0003fbd9c
fix(lookup-server): disable lookup server for non-global scale setups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 21:52:07 +01:00
Ferdinand Thiessen
045f1d210a
fix(lookup-server): do not upload data by default
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 21:46:20 +01:00
Git'Fellow
659cdda841 fix(AppDiscover): Ensure created cache folder is safe-chars only
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-11 17:30:16 +00:00
Joas Schilling
a5e6f46eb0
fix(l10n): Improve english source strings
- No leading/trailing whitespace
- Use asci single quote

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-26 15:06:47 +01:00
Josh
431c6d0609
fix(Mailer): Fix sendmail binary fallback
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-02-12 13:23:11 +01:00
Joas Schilling
37948c5127 fix(setupcheck): Update setup check for PHP version to be more accurate
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-10 18:46:56 +00:00
Ferdinand Thiessen
422655bf1e
fix(provisioning_api): Correct limit for editUser
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-07 12:42:23 +01:00
Andy Scherzinger
ebcdf9f5aa
Merge pull request #50440 from nextcloud/backport/49440/stable30
[stable30] fix(SetupChecks): Pass webfinger if the handler returns 400 too
2025-01-26 17:58:32 +01:00
Josh
0ea6c5bb9d fix(SetupChecks): Pass webfinger if a handler is there
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 14:40:35 +00:00
Josh
acb7ac5c37 fix(settings): show the correct initial locale in Personal info
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 12:32:15 +01:00
Joas Schilling
22a8bf12da
fix(security): Update .well-known/security.txt expiration date
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 09:46:23 +01:00
Git'Fellow
c38d308aa2 fix(setupchecks): Binary data can have problems with serialize
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-01-10 08:02:37 +00:00
provokateurin
6eb843cc57 fix(settings): Fix log file download return type
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-08 10:14:11 +00:00
rakekniven
5423c3f01d chore(i18n): Fixed grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-12-30 12:40:44 +01:00
Joas Schilling
3228a5cdb3
Merge pull request #49594 from nextcloud/backport/49588/stable30
[stable30] fix(setupcheck): Make the Memcache setupcheck use the cache
2024-12-20 11:15:49 +01:00
Joas Schilling
f12b81534a
fix(setupcheck): Make the Memcache setupcheck use the cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-12-19 15:35:04 +01:00
Joas Schilling
4ee7105f1c fix(setupcheck): Disable PhpMaxFileSize setupcheck for now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-12-04 08:06:10 +00:00
Joas Schilling
916e050bb5 fix(activity): Fix activity object type warnings
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-27 12:17:49 +00:00
Git'Fellow
09ad3951e3
Merge pull request #49373 from nextcloud/backportArrayKeySetupCheks
fix(SetupChecks): Make sure array key is set
2024-11-21 13:08:14 +01:00
skjnldsv
79bf1abb98 fix(settings): psalm PhpMaxFileSize setup check warning
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-19 19:05:35 +01:00
skjnldsv
e22f8a8fa2 feat(settings): add big file upload setup checks
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-19 16:24:57 +00:00
Git'Fellow
50d071e7d2 fix(SetupChecks): Make sure array key is set
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-11-19 14:11:20 +01:00
SebastianKrupinski
1260ec5f21 feat: mail provider settings
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-11-14 20:26:22 -05:00
Claudio Cambra
a4e2a7bb7b fix(appsmanagement): Fix exception on generating preview url for screenshots
Some installed apps meant for older server versions might unexpectedly
offer up screenshot values in a non-string format (e.g. health). Avoid
an exception by checking first if the first app screenshot is indeed a
string and otherwise we take the value of the parameter

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-11-01 14:48:33 +00:00
Andrey Borysenko
824aa30057
fix: add missing import after backport
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-30 20:36:59 +02:00
Andrey Borysenko
cac5be5341
fix(ci): psalm, suppress undefined for viewApps
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-30 20:36:57 +02:00
Andrey Borysenko
c53f5c43b4
WIP: address review comments, small fixes
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-30 20:36:56 +02:00
Andrey Borysenko
fb4150ec86
fix(ci): suppress UndefinedClass for AppAPI related classes since it's bundled
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-30 20:36:56 +02:00
Andrey Borysenko
3a51374ff3
feat(app_api): add initial state data for AppAPI UI part
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php
2024-10-30 20:36:50 +02:00
Benjamin Gaussorgues
51d8dc76c5 fix(users): use correct active user count
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-10-30 09:09:44 +00:00