Commit graph

746 commits

Author SHA1 Message Date
Ferdinand Thiessen
579ae09d6d fix(settings): verify source of app-discover media
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-21 16:58:35 +00:00
MichaIng
d10a87f85f 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-07-13 22:51:17 +02:00
Ferdinand Thiessen
4ebebae3bf fix(settings): use correct scope for translations
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-03 12:23:55 +02:00
Jana Peper
a598d453e9 feat: add toggle for AI guest restriction
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-07-03 09:00:40 +00:00
rakekniven
4300c27333 chore(18n): More natural english - fix plural typo
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 10:10:15 +02:00
Joas Schilling
beefa6f411 fix(l10n): Fix one more plural
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-26 10:07:11 +02:00
Marcel Klehr
c50592ecdb 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 10:07:03 +02:00
rakekniven
b6898dde7f fix(SetupChecks): Update TaskProcessingPickupSpeed
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 10:06:50 +02:00
rakekniven
d6a26bb4be chore(18n): More natural english
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 10:06:37 +02:00
Marcel Klehr
4a01d24295 feat(SetupChecks): Add check for TaskProcessing pickup speed
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-05-24 08:52:14 +00:00
Ferdinand Thiessen
441d9f1661
fix(settings): group admins only can add users to their groups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 12:42:10 +02:00
Ferdinand Thiessen
9e5fc7d6a0
feat(settings): provide user groups for accounts list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 12:41:09 +02:00
provokateurin
67948fa7ed
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 09:03:42 +02:00
Ferdinand Thiessen
ff172e178e fix(webauthn): do not require bcmath or gmp - not needed anymore
The extensions are not required anymore but only recommended for
performance. See also:
https://github.com/web-auth/webauthn-framework/issues/213

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-01 19:10:11 +02:00
Christopher Ng
4c3335c934 perf(settings): Remove computation of all groups
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-03-31 14:10:23 -07:00
Côme Chilliet
720d1c0cd3 chore: Move magic number into a documented const
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-30 09:11:30 +02:00
Côme Chilliet
171886ae6b 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-30 09:11:30 +02:00
Andy Scherzinger
bef1a658b5
Merge pull request #51402 from nextcloud/backport/51379/stable31
[stable31] fix(AppDiscover): Strip double-quotes from folder name
2025-03-12 08:57:52 +01:00
Ferdinand Thiessen
324582729a
fix(lookup-server): disable lookup server for non-global scale setups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 21:54:06 +01:00
Ferdinand Thiessen
29398c819c
fix(lookup-server): do not upload data by default
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 21:39:33 +01:00
Git'Fellow
1009704fa0 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:31:26 +00:00
skjnldsv
75ce4d3ae0 fix(systemtags): unify restrict_creation_to_admin handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-06 15:11:50 +00:00
Andy Scherzinger
7381387d24
Merge pull request #51091 from nextcloud/backport/51069/stable31
[stable31] Fix SQL query so that it is ansi safe fixing #51067
2025-03-04 21:47:29 +01:00
Johan Bernhardsson
ddebea24c2 fix: Change SQL query so that it is ansi safe
Signed-off-by: Johan Bernhardsson <johan.bernhardsson@redpill-linpro.com>
2025-02-27 09:01:17 +00:00
Joas Schilling
1a60bca362 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 13:08:49 +00:00
Git'Fellow
7ca328c9ed fix(emailTemplate): use instance Name instead of Url in subject
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-02-12 11:26:24 +00:00
Joas Schilling
bfb3bd7d87 fix(setupcheck): Update setup check for PHP version to be more accurate
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-10 18:47:59 +00:00
Ferdinand Thiessen
2c03bc74fa
fix(provisioning_api): Correct limit for editUser
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 15:46:15 +01:00
Côme Chilliet
98b8912d74 fix(settings): Fix setup check when mail_smptmode is set to "null"
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-30 08:35:14 +00:00
Andy Scherzinger
fa6dac457b
Merge pull request #50450 from nextcloud/backport/48672/stable31
[stable31] fix(settings): Add some context to the PHP memory limit error
2025-01-26 23:17:04 +01:00
provokateurin
8e0b72184a fix(settings): Add back adminstration scope for LogSettingsController
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-26 21:10:29 +00:00
Josh
5a8242feea fix(settings): Add some context to the PHP memory limit error
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 20:48:16 +00:00
Josh
92c603b082 fix(SetupChecks): Pass webfinger if a handler is there
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 14:37:05 +00:00
Joas Schilling
3e138d71f4 fix(security): Update .well-known/security.txt expiration date
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 08:43:32 +00:00
nfebe
f7c46b6809 feat(systemtags): toggle for system tag creation in admin settings
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-22 20:07:25 +01:00
Christopher Ng
1a43fc5718 feat(sharing): Toggle custom tokens setting as admin
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 -08:00
Git'Fellow
cd147cd1a3
fix(setupchecks): Binary data can have problems with serialize
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-01-09 23:42:07 +01:00
Josh
1304590d6c
Merge pull request #49977 from nextcloud/jtr-perf-checks-connectivity-https-proto
perf(settings): Speed up InternetConnectivity setup check
2025-01-09 12:09:33 -05:00
Kate
e7122a6864
Merge pull request #49882 from nextcloud/fix/http/template-valid-status-codes 2025-01-08 11:10:57 +01:00
Josh
35cb5d84ca perf(settings): Speed up InternetConnectivity setup check
Specify default protocol (https://) rather than let default handling test both http:// and https://

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-07 16:49:28 -05:00
John Molakvoæ
cd236c7941
Merge pull request #49891 from nextcloud/refactor/settings/mail-settings-parameters 2025-01-07 16:59:02 +01:00
provokateurin
960168fd96
fix(settings): Fix log file download return type
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-07 15:44:48 +01:00
Joas Schilling
17e8948360
Merge pull request #49988 from nextcloud/jtr-locale-personal-info
fix(settings): show the correct initial locale in Personal info
2025-01-07 15:42:43 +01:00
provokateurin
f52aa9ad32
refactor(provisioning_api): Rename AUserData to AUserDataOCSController to allow openapi-extractor to detect it as OCS
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-06 14:30:40 +01:00
provokateurin
98275fb806
refactor(settings): Use parameters explicitly when setting mail settings
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-06 08:40:52 +01:00
Josh
5e27d1415a
fix(settings): show the correct initial locale in Personal info
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-12-29 12:33:29 -05:00
Jana Peper
ee31b3bbe5 fix: error handling for wrong json values
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2024-12-18 18:32:34 +01:00
Jana Peper
d87302c651 feat: add error flags for json_decode
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2024-12-18 18:32:34 +01:00
Jana Peper
8cac92665d feat: filter disabled apps in task types requests
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2024-12-18 18:32:34 +01:00
Jana Peper
32b57e7b41 feat: save state in db
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2024-12-18 18:32:34 +01:00