Commit Graph

27400 Commits

Author SHA1 Message Date
Git'Fellow 5dda39a61e refactor(dbal): move to modern calls
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-24 10:35:00 +02:00
Nextcloud bot 47cda2c9c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-24 00:29:27 +00:00
Ferdinand Thiessen 2afb18ba20 Merge pull request #61532 from nextcloud/fix/logger-normalize-later
perf(log): normalize log data only when logging
2026-06-23 22:30:01 +02:00
Andy Scherzinger b54e98a64b Merge pull request #60898 from nextcloud/carl/user-interface
fix: Make the IProvideUserSecretBackend usable
2026-06-23 17:14:35 +02:00
Andy Scherzinger 20dbecde69 Merge pull request #61539 from nextcloud/carl/soft-remove-emitter
refactor: Soft remove Emitter from IRootFolder interface
2026-06-23 17:07:06 +02:00
Carl Schwan 5b1de7556e Merge pull request #58602 from nextcloud/carl/systemtag-lifecycle-event
refactor: Add new modern events for system tag lifecycle
2026-06-23 16:17:06 +02:00
Carl Schwan 0b9e592796 refactor: Soft remove Emitter from IRootFolder interface
Move this to the private implementation in OC, so that using IRootFolder
in apps doesn't require dummy stubs.

This will create a new psalm warnings for users of this method but
considering that this is deprecated for a long time and that it still
works at runtime, this shouldn't cause any issue.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-23 16:11:23 +02:00
Carl Schwan e76d290b67 Merge pull request #61440 from nextcloud/carl/findIn-mount-point
perf(View):  don't sort twice the same array
2026-06-23 14:00:21 +02:00
Carl Schwan e6b5f763a4 perf: Avoid sorting an already sorted array
Improve performance a bit as this is in the hotpath and take ~2s in
prod.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-23 13:11:42 +02:00
Salvatore Martire 3eab7b8e82 perf(log): normalize log data only when logging
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-23 11:14:07 +02:00
Carl Schwan a213e6bb1d Merge pull request #61011 from nextcloud/carl/cleanup-preview
fix(preview): First cleanup from filecache and then from preview table
2026-06-23 11:08:57 +02:00
Carl Schwan cc97151dfb Merge pull request #60643 from nextcloud/carl/remove-AutoCompleteEvent
refactor: Remove deprecated AutoCompleteEvent
2026-06-23 10:59:42 +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
Andy Scherzinger 143e72ddf6 Merge pull request #61294 from nextcloud/fix/noid/appapi-maintenance-mode
fix(maintenance): allow AppAPI to serve requests during maintenance mode
2026-06-23 10:10:39 +02:00
Carl Schwan d49df488a1 fix: Make the IProvideUserSecretBackend usable
When implementing this for user_saml, I noticed that we do need to make
the return value nullable as otherwise there are no way for this feature
to be optional for the admin.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-22 14:07:48 -04:00
Kate 26df031675 Merge pull request #61489 from nextcloud/fix/remove-uses-of-deprecated-aliases
fix: Remove uses of deprecated service string names
2026-06-22 14:15:49 +02:00
Côme Chilliet 32f8ff2445 fix: Remove uses of deprecated service string names
Use the class/interface name instead to avoid logging.
This was breaking in some cases as logging would trigger a deprecation
 warning, resulting in an infinite loop.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-22 11:19:00 +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 43dc92df52 fix: add handling for MD5 on new MySQL and deprecate MD5 SQL function
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-21 22:26:00 +02:00
Andy Scherzinger f84b816273 Merge pull request #55993 from nextcloud/fix/direct-editing-interface
fix(DirectEditing): expose already used methods on the public interface
2026-06-21 18:12:40 +02:00
Josh cd4c60ff37 chore(DirectEditing): add override attribute to Token::getToken
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-20 11:54:51 -04:00
Josh 3003e3899e chore(DirectEditing): add override attribute to Manager::open
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-20 11:54:08 -04: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
Josh 094326c2ac chore(DirectEditing): drop redundant docblock typing from IToken
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-18 18:15:57 +02:00
Josh c5cadcc8cd chore(DirectEditing): drop redundant docblock typing from IManager
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-18 18:15:57 +02:00
Julius Knorr e001b6493e fix: Expose already used public interface methods
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2026-06-18 18:15:57 +02:00
Carl Schwan 30b173765e refactor: Remove deprecated AutoCompleteEvent
No longer used.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-18 11:54:42 +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
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
Benjamin Gaussorgues 3048d95615 Merge pull request #61368 from nextcloud/chore/prevent_subadmin_edit
fix: prevent editing delegated admins
2026-06-17 16:02:11 +02:00
Robin Appelman 61037332f0 Merge pull request #60988 from nextcloud/search-operator-params
chore: fix SearchBinaryOperator constructor type hint
2026-06-17 13:16:24 +02: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 3d3b49ce63 chore: regenerate autoloaders and update psalm baseline
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:18 +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 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 ac2f9816a6 feat(auth): support permanent OCM refresh tokens and bearer login
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 10:44:51 +02:00
Andy Scherzinger 9af6fe9500 Merge pull request #61053 from bygadd/fix/taskprocessing-worker-atomic-claim
fix(taskprocessing): claim tasks atomically so parallel workers don't duplicate
2026-06-17 10:21:33 +02:00
Benjamin Gaussorgues ab29b132e5 fix: prevent editing delegated admins
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-17 10:18:54 +02:00
Andy Scherzinger f985b90a77 Merge pull request #61332 from nextcloud/fix/string-expected-int-given
fix: ensure file names are string-typed
2026-06-17 07:25:09 +02:00
Yoan Bozhilov 80f72a86e7 fix(taskprocessing): @since 35.0.0 for claimNextScheduledTask
The new public IManager::claimNextScheduledTask lands in master (35.0.0),
not 34.0.0. Addresses review feedback.

Signed-off-by: Yoan Bozhilov <bygadd@gmail.com>
Assisted-by: Claude Code:claude-opus-4-8
2026-06-17 07:45:49 +03: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 d6086c2325 Merge pull request #61308 from nextcloud/fix/noid/team-manager-resources
fix(team-manager): ensure team resources are only retrived for members
2026-06-16 20:33:49 +02:00
Andy Scherzinger c409abfc63 Merge pull request #61322 from nextcloud/fix/improve-password-confirmation-middleware
fix: Do not set last-password-confirm for apptoken sessions
2026-06-16 19:49:28 +02:00
Stephan Orbaugh 03077b52f9 Merge pull request #60587 from nextcloud/fix/99281/lookup-duplicates
fix: trim duplicate search results for external share
2026-06-16 16:10:49 +02:00
Micke Nordin ebc6ef64a0 Merge pull request #61126 from nextcloud/kano-fix-ocm-discovery
fix(ocm): merge resource types by name in discovery
2026-06-16 15:43:18 +02:00
Arthur Schiwon 437952bd70 fix: ensure file names are string-typed
- `$child` was used as an array key earlier. If they are numeric, they
  are automatically converted to ints, leading to type issues later.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-06-16 13:13:38 +02:00
Oleksander Piskun 1701f1770b fix(maintenance): allow AppAPI to serve requests during maintenance mode
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
2026-06-16 13:42:19 +03:00
Côme Chilliet f7f9a47ceb fix: Do not set last-password-confirm for apptoken sessions
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-16 11:59:13 +02:00
Micke Nordin 41e9022100 fix(ocm): merge resource types by name in discovery
Current code blindy adds any resources to the ocm disocvery, this makes
it so that different cloud federation providers can not add different
protocols for the same resourceType without the resourceType being
duplicated, something that OCM does not allow:

```
REQUIRED: resourceTypes (array) - A list of all resource types this
server supports in both the Sending Server role and the Receiving
Server role, with their access protocols. Each item in this list MUST
itself be an object containing the following fields:

name (string) - A supported resource type (file, calendar, contact, ...).
Implementations MUST offer support for at least one resource type, where
file is the commonly supported one. Each resource type is identified by
its name: the list MUST NOT contain more than one resource type object
per given name.

...
```

https://datatracker.ietf.org/doc/html/draft-ietf-ocm-open-cloud-mesh-04#name-fields

This patch changes this behaviour from this example result:
```
   {
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp": {}
      }
    },
    {
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp-receive": {
          "targets": [
            "blank",
            "iframe"
          ]
        }
      }
```

to:

```
{
      "name": "folder",
      "shareTypes": [
        "user"
      ],
      "protocols": {
        "webapp": {},
        "webapp-receive": {
          "targets": [
            "blank",
            "iframe"
          ]
        }
      }
```

which is the correct behaviour according to OCM.

Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-16 11:30:24 +02:00