Commit Graph

36999 Commits

Author SHA1 Message Date
Ferdinand Thiessen b81b787bbc Merge pull request #61530 from nextcloud/fix/rootfolder-sharedstorage-init
perf: avoid DIing IRootFolder at every shared storage init
2026-06-23 22:30:22 +02:00
Salvatore Martire 9d6c04169f Merge pull request #59857 from nextcloud/authoritative-time-accounting-fix
fix: track time spent in recursive markOrRun calls
2026-06-23 18:48:02 +02:00
Peter R. b5fb529830 Merge pull request #61505 from nextcloud/fix/settings-group-nav-heading-order
fix(settings): correct heading order in account management sidebar
2026-06-23 17:07:38 +02:00
Salvatore Martire 93a4f887ea perf: avoid DIing IRootFolder at every shared storage init
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-23 11:10:27 +02:00
Carl Schwan b42ebea5fc refactor: Add new modern events for system tag lifecycle
The old one was deprecated in 22.0.0 but didn't had a replacement.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-23 10:57:41 +02:00
Salvatore Martire 351d3c6377 Merge pull request #61517 from nextcloud/fix/noserverget-shares
fix: stop calling DI container in SharedStorage
2026-06-23 10:39:32 +02:00
Carl Schwan 0d17102b21 Merge pull request #61509 from nextcloud/block-more-custom-dav-properties
perf: block more properties from using the custom properties backend
2026-06-23 09:54:13 +02:00
Kent Delante 046de320f5 fix(files_sharing): remove filename's leading slash on unshare toast
Signed-off-by: Kent Delante <kent@delante.me>
2026-06-23 13:26:33 +08:00
Nextcloud bot 1a59ea945a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-23 00:23:55 +00:00
Ferdinand Thiessen 1f8e645ae0 Merge pull request #61442 from invario/fix_files_trashbin_exception
fix(files_trashbin): create folder if missing when expiring trash
2026-06-23 01:20:02 +02:00
Salvatore Martire b7c97ea269 fix: stop calling DI container in SharedStorage
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-22 23:33:46 +02:00
invario 34e255d193 fix(files_trashbin): create folder if missing when expiring
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2026-06-22 21:33:24 +02:00
nfebe d5905ac909 fix(files_external): Allow editing auth mechanism on saved mounts
Restores the pre-33 behaviour where admins can change the authentication
mechanism of an existing external storage mount through the settings UI.
After the External Storage settings rewrite the dropdown was locked
read-only for any mount with an id, leaving the value configured at
creation time as the only one ever shown. Backend type stays locked
because changing it would invalidate the mount; authentication
mechanism is independent and was always meant to remain editable.

Switching the mechanism now also clears the previously stored options
that the newly selected mechanism does not use, so stale credentials are
no longer kept in the saved configuration.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-06-22 20:36:34 +02:00
Robin Appelman 5370528a0f perf: block more properties from using the custom properties backend
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-22 19:50:18 +02:00
Peter Ringelmann 122c253bce chore: build assets
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-06-22 18:13:19 +02:00
Peter Ringelmann b91fe68b6d fix(settings): correct heading order in account management sidebar
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-06-22 16:41:02 +02:00
Robin Appelman 6cb5115eb3 Merge pull request #60465 from nextcloud/share-cleanup-mounts
fix: update cached mounts when moving share in repair step
2026-06-22 15:52:47 +02:00
Robin Appelman fdb9d12ee9 Merge pull request #60466 from nextcloud/share-target-repair-expensive
fix: properly mark CleanupShareTarget as expensive
2026-06-22 15:51:58 +02:00
Salvatore Martire 53d48d6f29 fix: track time spent in recursive markOrRun calls
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-22 13:05:25 +02:00
Ferdinand Thiessen ecbb5d8711 Merge pull request #61247 from nextcloud/fix/mysql
chore: bump MySQL to min 8.4 and support 9.7
2026-06-22 11:10:10 +02:00
Nextcloud bot 874ef1e0d3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-22 00:22:55 +00:00
Ferdinand Thiessen 2251dbea2b chore: bump MySQL to min 8.4 and support 9.7
- Version 8.0 is out-of-support.
- Version 8.4 is now the oldest LTS.
- New LTS is 9.7

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-21 22:25:59 +02:00
Nextcloud bot 9bba086d5d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-21 00:22:39 +00:00
Nextcloud bot bd6995dff9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-20 00:22:50 +00:00
Joas Schilling 410fdea9e7 fix(migrations): Trigger recently added migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-06-19 09:56:01 +02:00
Nextcloud bot cbc86ed620 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-19 00:23:44 +00:00
Robin Appelman 22229f93e7 fix: update cached mounts when moving share in repair step
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-18 21:55:55 +02:00
Robin Appelman 57a80c2c10 fix: properly mark CleanupShareTarget as expensive
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-18 21:55:41 +02:00
Peter R. e889c72d70 Merge pull request #61406 from nextcloud/fix/settings-nav-active-entry-mismatch
fix(settings): show app menu current-app button on settings pages
2026-06-18 15:30:49 +02:00
Peter Ringelmann 869c294a35 fix(settings): show app menu current-app button on settings pages
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-06-18 13:43:39 +02:00
Ferdinand Thiessen ec557c13da Merge pull request #61186 from nextcloud/com
fix: Fix alignment issues of app password form ( #53123 )
2026-06-18 13:42:58 +02:00
Andy Scherzinger 97c9a564d5 Merge pull request #61254 from nextcloud/jtr/fix-crossStorageRenameOverlap
fix(files_versions): avoid version snapshot races during cross-storage renames
2026-06-18 12:59:55 +02:00
Sandi Cej 8658f839a9 fix: Fix alignment issues of app password form
Signed-off-by: Sandi Cej <cej.sandi@gmail.com>
2026-06-18 12:05:52 +02:00
Micke Nordin dec38e5307 fix(OCM): Remove comment meant only for OCP APIs
Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-18 11:56:54 +02:00
Micke Nordin a88fdcbed5 Merge pull request #57234 from enriquepablo/master
Implement token exchange from OCM
2026-06-18 11:33:24 +02:00
Peter Ringelmann c3dcffda09 fix(settings): add loading feedback to account create/edit dialogs
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-06-18 10:00:28 +02:00
Nextcloud bot dad4644546 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-18 00:22:59 +00:00
F. E Noel Nfebe 13adaf91ff Merge pull request #60151 from nextcloud/fix/pending-shares-hide-incompatible-actions
fix(files_sharing): Hide incompatible actions in shares
2026-06-17 18:26:17 +01:00
Christoph Wurst e9c95a0055 Merge pull request #61293 from nextcloud/fix/federation-settings-calendar
fix(caldav): respect federation settings
2026-06-17 14:43:10 +02:00
nfebe 0632913527 fix(files_sharing): Drop permissions on unmounted pending and deleted shares
Pending and deleted shares are not mounted into the user's filesystem, so
generic file operations like delete or download produced a misleading
"file is not available" error.

These shares now carry no permissions, so every permission-aware action
hides itself automatically, without the files app having to special-case
each view. Conversion additionally requires read permission, matching the
server-side readability check.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-06-17 12:37:26 +01:00
Micke Nordin 4d5841761f fix(cloud_federation_api): accept multi-protocol share envelopes
Shares using the OCM multi-protocol envelope (name multi, with the secret carried in a sibling protocol entry such as webdav) were rejected with Missing sharedSecret in protocol. Scan every protocol entry for the shared secret during validation, resolve the secret from the matching entry, and let the files provider serve the webdav entry of a multi envelope. Covers the file and folder resource types.

Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-17 11:01:19 +02:00
Enrique Pérez Arnaud 3616212ba2 feat(files_sharing): store and refresh OCM access tokens for external shares
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:16 +02:00
Enrique Pérez Arnaud fc31f97018 feat(federatedfilesharing): create refresh tokens and sign token exchange
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:15 +02:00
Enrique Pérez Arnaud 4d56c74ba7 feat(ocm): advertise exchange-token capability and token endpoint
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:14 +02:00
Enrique Pérez Arnaud 3956c4e9be feat(cloud_federation_api): accept new protocol envelope and delegate validation
Accept both the legacy options.sharedSecret envelope and the new
protocol[name].sharedSecret form. Preserve the original cloud ID so the
factory can discover capabilities, then reset shareWith to the local
username for user lookup.

Delegate per-protocol validation to providers via the new
IValidationAwareCloudFederationProvider interface, with split exception
handling: BadRequestException -> 400, ProviderCouldNotAddShareException
-> the exception's own HTTP status (501 fallback).

In the notification handler, fall back to looking up the refresh token
via OcmTokenMapMapper when the access token cannot identify the federation.

Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:13 +02:00
Enrique Pérez Arnaud 789ff6a8a3 feat(cloud_federation_api): add token exchange endpoint issuing JWT access tokens
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:11 +02:00
Enrique Pérez Arnaud 2c54011789 feat(dav): accept bearer access tokens on webdav endpoints
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 10:44:53 +02:00
Nextcloud bot 188006bc95 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-17 00:22:57 +00:00
Andy Scherzinger 51a7ee1d0f Merge pull request #61310 from nextcloud/fix/noid/ocm-add-share-validation
fix(ocm-add-share): adjust domain validation
2026-06-16 20:34:03 +02:00
Hamza 6280efcf23 fix(caldav): respect federation settings
Signed-off-by: Hamza <hamzamahjoubi221@gmail.com>
2026-06-16 16:45:56 +02:00