Commit graph

225 commits

Author SHA1 Message Date
Andy Scherzinger
51a49b58a6
Merge pull request #56428 from nextcloud/rakekniven-patch-2
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
chore(i18n): Improved grammar
2025-11-30 19:24:03 +01:00
Joas Schilling
39e94ef927
fix(oracle): Add a warning for Oracle 11
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-27 14:35:54 +01:00
Carl Schwan
4d47fdaa85 chore: Run rector with new rules for fetch
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
rakekniven
748a91ccab
chore(i18n): Improved grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-11-14 07:59:54 +01:00
Benjamin Gaussorgues
635a6ac9da
Merge pull request #56095 from nextcloud/feat/add-serverid 2025-11-04 16:00:32 +01:00
Benjamin Gaussorgues
1f74ed9239
feat(config): add serverid configuration and use it for Snowflakes
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-11-03 14:25:09 +01:00
provokateurin
a529cdf080
feat: Update supportes PostgreSQL versions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-03 13:36:53 +01:00
Benjamin Gaussorgues
c9b055a0d0 feat(database): introduce Snowflake IDs generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-10-28 17:50:03 +01:00
Git'Fellow
3f976c2548
fix(setupCheck): Fix checking database type
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-10-15 20:15:55 +02:00
Marcel Klehr
954b140da6
Merge pull request #55716 from nextcloud/feat/taskprocessing-successrate-setupcheck
feat(settings): Introduce TaskProcessingSuccessRate setup check
2025-10-15 09:28:36 +02:00
Marcel Klehr
76eba41d77 fix: Fix logic error to make tests pass
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:23:01 +02:00
Marcel Klehr
4ec76cf834
Merge pull request #55715 from nextcloud/fix/taskprocessing/setupcheck-pickupspeed
fix(settings): Improve TaskProcessingPickupSpeed setup check
2025-10-14 15:11:33 +02:00
Marcel Klehr
e7ac6ff71b fix: Apply suggestion from @kyteinski
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:05:55 +02:00
Marcel Klehr
5c5c9384b1
fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:52:49 +02:00
Marcel Klehr
f7a89fee24
fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:52:37 +02:00
Marcel Klehr
858118274d
fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:22:03 +02:00
Marcel Klehr
2286b9f57d
fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:21:54 +02:00
Marcel Klehr
1ba5f7d53a fix(settings): Remove copypasta
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:20:59 +02:00
Marcel Klehr
33922faf4a fix: Change messages to use days instead of hours
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 08:42:56 +02:00
Marcel Klehr
f296f9055c fix: Run cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:45:17 +02:00
Marcel Klehr
6c9af3f8ee fix(settings): Introduce TaskProcessingSuccessRate setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:35:55 +02:00
Marcel Klehr
5a48887a2b fix(settings): Improve TaskProcessingPickupSpeed setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 14:07:33 +02:00
Carl Schwan
9095a36b94 refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
Use getDatabaseProvider instead.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +02:00
Joas Schilling
122cd68d56
fix(PHP): Drop PHP 8.1 for Nextcloud 33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-02 11:04:07 +02:00
Côme Chilliet
1c4276eea2
fix(setupchecks): Remove startpage from connectivity check and avoid redirection
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-26 16:50:54 +02:00
Côme Chilliet
cc3851f73c
fix(setupchecks): Use a lighter request to test connectivity
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-26 16:48:24 +02:00
Josh
34f1d52cf6 chore: Remove 'json' module from PHP modules check
Removed 'json' module from the list of required PHP modules.

It's built-in and not possible to disable at compile time since PHP 8.0.0.

Refs:
- https://www.php.net/manual/en/json.installation.php
- https://wiki.php.net/rfc/always_enable_json
- https://www.php.net/ChangeLog-8.php#8.0.0

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-11 13:51:07 -04:00
Enjeck C
eb0ddffaaa fix: Make some strings in CodeIntegrity.php translatable
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2025-08-24 20:23:51 +02:00
Josh
6b65031a08
feat(settings): add support for MariaDB 11.8 in setup checks
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-07-10 10:18:50 -04: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 +02:00
Ferdinand Thiessen
54f55a1a0e
Merge pull request #53429 from nextcloud/enh/opcache-checks
feat(settings): simplify OPcache checks
2025-07-01 14:26:04 +02:00
Joas Schilling
60b8384e48
Merge branch 'master' into remove-x-xss-protection 2025-06-30 21:32:22 +02: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 +02: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 +02: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 -04: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 +02:00
Joas Schilling
e064af3149
fix(l10n): Fix one more plural
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-23 09:56:15 +02: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 +02:00
rakekniven
8be6518e0c fix(SetupChecks): Update TaskProcessingPickupSpeed
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-23 09:38:09 +02: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 +02: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 +02: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01:00
Côme Chilliet
b8de5e0d09
fix(settings): Fix setup check when mail_smptmode is set to "null"
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-20 17:12:19 +01:00