Commit Graph

757 Commits (bbeae5c2696afce7bfd3003b3faa42e335a242ca)

Author SHA1 Message Date
Ferdinand Thiessen 27f4f2dd0f
Merge pull request #55328 from nextcloud/backport/55311/stable31
[stable31] fix: add missing sharing options to ui and add full-match results
2025-10-14 14:05:51 +07:00
Ferdinand Thiessen 7d510d14ae
fix(Collaboration\UserPlugin): ensure full match is included in results
When searching we need to:
1. check if sharing is limited to groups
  - if yes only include those
  - otherwise continue
2. check if there are restrictions to groups or phonebook
3. check if full match is included

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 16:16:29 +07:00
Ferdinand Thiessen 620614e7e7
fix(settings): add missing sharing autocompletion configs to UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 16:12:22 +07:00
Misha M.-Kupriyanov 44fe892b5b fix(admin-delegation-show): show delegations for all priorities
otherwise delegation only from the first priority array ara shown

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-09 11:07:30 +07:00
Misha M.-Kupriyanov 8fddecbc98 feat(admin-delegation-show): add priority to json output
in order to be able to better understand priority sorting.

php occ admin-delegation:show --output=json_pretty

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-10-09 11:07:30 +07:00
Misha M.-Kupriyanov 814d18132d feat(admin-delegation): add JSON output support with validation
- Add --output option supporting plain, json, and json_pretty formats
- Add validateOutputFormat() method for input validation
- Implement proper error handling for invalid output formats
- Support empty state handling for both plain and JSON outputs
- Use Base class writeArrayInOutputFormat() for consistent JSON output
- Maintain backward compatibility with plain format as default

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:09:26 +07:00
Misha M.-Kupriyanov d78e2887d1 refactor(admin-delegation): extract data collection logic to separate methods
- Extract collectDelegationData() method to eliminate code duplication
- Add formatSettingsData() method for consistent data formatting
- Add outputPlainFormat() method to separate concerns
- Add proper empty state handling with user-friendly message

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:09:26 +07:00
Misha M.-Kupriyanov 785ac171f3 refactor(admin-delegation): extract plain output to new function
prepare to add json output

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:09:26 +07:00
Misha M.-Kupriyanov 8a59c504b9 chore(admin-delegation): remove unused settings variable
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:09:25 +07:00
Joas Schilling 1435a680e6 fix(security): Update Expires time
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 09:26:26 +07:00
Enjeck C 5d2f7918e9 fix: Make some strings in CodeIntegrity.php translatable
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2025-08-26 22:03:58 +07:00
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 +07: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 +07: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 +07: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 +07: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 +07:00
Joas Schilling beefa6f411 fix(l10n): Fix one more plural
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-26 10:07:11 +07: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 +07:00
rakekniven b6898dde7f fix(SetupChecks): Update TaskProcessingPickupSpeed
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-26 10:06:50 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
skjnldsv 75ce4d3ae0 fix(systemtags): unify restrict_creation_to_admin handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-03-06 15:11:50 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
provokateurin 8e0b72184a fix(settings): Add back adminstration scope for LogSettingsController
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-26 21:10:29 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Kate e7122a6864
Merge pull request #49882 from nextcloud/fix/http/template-valid-status-codes 2025-01-08 11:10:57 +07:00