Commit Graph

764 Commits (810cb5d9b48ae32d50491d8287e23e0eb0a9e489)

Author SHA1 Message Date
Jana Peper f8886fe27a feat: add toggle for AI guest restriction
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-07-03 10:25:19 +07:00
Ferdinand Thiessen 5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +07:00
John Molakvoæ bd00b75b29
Merge pull request #53671 from nextcloud/fix/read-only-share-download 2025-07-01 15:11:06 +07:00
Ferdinand Thiessen 54f55a1a0e
Merge pull request #53429 from nextcloud/enh/opcache-checks
feat(settings): simplify OPcache checks
2025-07-01 14:26:04 +07:00
Joas Schilling 60b8384e48
Merge branch 'master' into remove-x-xss-protection 2025-06-30 21:32:22 +07:00
Ferdinand Thiessen b1282f75fa
fix(settings): use correct scope for translations
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-26 18:26:02 +07:00
skjnldsv 9806a9830c feat(files_sharing): allow viewing files with download disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +07:00
MichaIng 0d10c4fb33
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-06-25 15:12:40 +07:00
invario 2b58f74cc8
Fix: Remove X-XSS-Protection use, check and recommendation
Co-authored-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-06-13 16:12:27 +07:00
Andrey Borysenko 7994332338
feat: add support for sensitive Declarative settings values encryption
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-05-28 20:43:04 +07:00
rakekniven 4261c9d4fa chore(18n): More natural english - fix plural typo
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-25 12:56:15 +07:00
Joas Schilling e064af3149
fix(l10n): Fix one more plural
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-23 09:56:15 +07:00
Marcel Klehr 1afc1805c4 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-23 09:38:30 +07:00
rakekniven 8be6518e0c fix(SetupChecks): Update TaskProcessingPickupSpeed
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-23 09:38:09 +07:00
rakekniven cca0a757fe chore(18n): More natural english
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-23 09:36:58 +07:00
Marcel Klehr f8f26952d1 feat(SetupChecks): Add check for TaskProcessing pickup speed
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-05-22 12:50:00 +07:00
provokateurin 82fb8f8508
refactor: Extend rector to core/
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-15 00:16:54 +07:00
provokateurin 78a175fc74
refactor: Apply rector refactorings
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-14 15:29:02 +07:00
Ferdinand Thiessen 1ae3fa4003
chore: replace leagcy OC_Helper calls with OCP\Util
- Replace legacy calls with OCP\Util
- Add missing deprecation notices
- Inline implementation in OCP\Util and call it from OC_Helper

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 10:18:04 +07:00
Ferdinand Thiessen 1ba88da113
chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:38:42 +07:00
Ferdinand Thiessen 6d8c49f0d4
fix(settings): group admins only can add users to their groups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:35:40 +07:00
Ferdinand Thiessen 8cc0c266d5
feat(settings): provide user groups for accounts list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:35:40 +07:00
provokateurin eb98e99530 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-02 19:06:25 +07:00
rakekniven e43a8b473c chore(i18n): Aligned grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-03-31 16:58:07 +07:00
Christopher Ng 2bd1d16157 perf(settings): Remove computation of all groups
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-03-28 14:12:52 +07:00
Ferdinand Thiessen a243e9cfbb
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-03-19 11:19:49 +07:00
Ferdinand Thiessen 38e8f30fb7
Merge pull request #51378 from nextcloud/fix/lookup-server-connector-v2
fix(lookup-server): disable when not using global scale
2025-03-11 21:17:11 +07:00
Ferdinand Thiessen 00d08a4f69
fix(lookup-server): disable lookup server for non-global scale setups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 14:26:47 +07:00
Ferdinand Thiessen 5e4910e10e
fix(lookup-server): do not upload data by default
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 14:26:47 +07:00
Git'Fellow 659747e5b1 fix(AppDiscover): Ensure created cache folder is safe-chars only
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-10 19:11:17 +07:00
Côme Chilliet c59400dea1 chore: Move magic number into a documented const
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-10 11:30:18 +07:00
Côme Chilliet 0b449f302b 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-10 11:30:18 +07:00
skjnldsv 29405f0964 fix(systemtags): unify restrict_creation_to_admin handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-06 11:29:57 +07:00
Johan Bernhardsson c39741fd65 fix: Change SQL query so that it is ansi safe
Signed-off-by: Johan Bernhardsson <johan.bernhardsson@redpill-linpro.com>
2025-02-27 09:00:06 +07:00
Joas Schilling 095ab4419e
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 09:54:32 +07:00
Ferdinand Thiessen f91db181af
feat(setupcheck): check logging level for validity
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-22 14:08:19 +07:00
Ferdinand Thiessen 082e85f6da
Merge pull request #50779 from nextcloud/chore/mailer-tests
test(Mailer): Align tests for mailer with stable30
2025-02-18 17:52:12 +07:00
Côme Chilliet 17fffdbbcb
fix(settings): Inject subadmin manager and adapt tests, resolve a FIXME comment
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 12:48:12 +07:00
Côme Chilliet 64863c9d46
chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +07:00
Côme Chilliet ed5b7ae161
chore: re-apply current rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:33 +07:00
Côme Chilliet a3685551f7
fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +07:00
Josh 84293441e8
test(Mailer): Align tests for mailer with stable30
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-12 13:29:58 +07:00
Git'Fellow a509494107 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:52:22 +07:00
Joas Schilling 0a6eeb497b
fix(setupcheck): Update setup check for PHP version to be more accurate
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-10 11:50:09 +07:00
Ferdinand Thiessen 2a0f81da53
fix(provisioning_api): Correct limit for `editUser`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-06 11:58:24 +07:00
Andy Scherzinger 4a7c0b3267
Merge pull request #50281 from nextcloud/fix/fix-email-setupcheck-with-null-smtpmode
fix(settings): Fix setup check when mail_smptmode is set to "null"
2025-01-30 09:33:24 +07:00
Andy Scherzinger 4145dedba0
Merge pull request #50425 from nextcloud/fix/openapi/outdated-specs
Fix outdated OpenAPI specs
2025-01-26 22:08:35 +07:00
Josh 8a7b1617d0 fix(settings): Add some context to the PHP memory limit error
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 17:54:19 +07:00
Josh b452dc0697 fix(SetupChecks): Pass webfinger if a handler is there
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-01-26 13:03:05 +07:00
provokateurin e473a26676
fix(settings): Add back adminstration scope for LogSettingsController
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-25 17:16:39 +07:00