Commit graph

6558 commits

Author SHA1 Message Date
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
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
fix(taskprocessing): claim tasks atomically so parallel workers don't duplicate
2026-06-17 10:21:33 +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
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
64a23d457f test(ocm): Add tests for deduplication of resourceTypes
Also update 3rdparty

Assisted-by: ClaudeCode:claude-fable-5
Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-16 11:30:24 +02:00
Joas Schilling
45a4c10612
Merge pull request #61275 from nextcloud/jtr/test-S3-testFileSizes
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
test(s3): fix flaky EOF check and remove PHP 8.5 skip
2026-06-15 17:38:59 +02:00
Yoan Bozhilov
022531b997 fix(taskprocessing): guard lockTask on scheduled, record started_at, Oracle fallback
Address review feedback (@marcelklehr, Copilot):
- lockTask claims only SCHEDULED tasks (was status != RUNNING) and stamps
  started_at in the same atomic UPDATE, so a finished task cannot be re-claimed
  and the external-provider claim path records started_at as well.
- claimWithBoundedRetry re-reads after lockTask instead of a follow-up UPDATE.
- Oracle joins SQLite on the bounded-retry fallback: Oracle cannot combine a
  row-limiting clause with FOR UPDATE (ORA-02014), which failed the claim tests
  on Oracle CI.
- Reword the worker docblock/comments to "prefer oldest available" (parallel
  SKIP LOCKED does not guarantee a strict global order).
- Add a regression test that lockTask does not resurrect a finished task.

Signed-off-by: Yoan Bozhilov <bygadd@gmail.com>
Assisted-by: Claude Code:claude-opus-4-8
2026-06-15 16:37:34 +02:00
Yoan Bozhilov
0799454a1f fix(taskprocessing): claim tasks atomically with SKIP LOCKED + composite index
Replace the worker retry/ignore-list claim-loop with a single atomic
SELECT ... FOR UPDATE SKIP LOCKED claim (SQLite bounded-retry fallback),
preserving the no-duplicate guarantee while removing the thundering-herd
contention that throttled backlog draining. Add a (status,type,last_updated)
index via the table-creating migration + db:add-missing-indices listener.

Signed-off-by: Yoan Bozhilov <bygadd@gmail.com>
Assisted-by: Claude Code:claude-opus-4-8
2026-06-15 16:37:34 +02:00
Côme Chilliet
088dba3c20
chore: Fix CreateSessionTokenCommandTest and add test for ephemeral session
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-15 15:28:38 +02:00
Josh
384e21b824
test(s3): drop unnecessarily added fclose
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-13 10:21:26 -04:00
Josh
ba4924b331
test(s3): make testFileSizes EOF assertion more robust
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-13 10:01:52 -04:00
Benjamin Gaussorgues
28d32d8fff
feat(snowflake): allows to generate Snowflake IDs matching a timestamp
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 13:53:10 +02:00
Benjamin Gaussorgues
60ce92a697
feat(utils): add getter for serverid with proper default
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 13:53:10 +02:00
provokateurin
3ee06f338c
ci(PHP): Only test against highest and lowest supported PHP versions
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-06-11 20:04:56 +02:00
Louis
da706223e4
Merge pull request #61140 from nextcloud/fix/fix-deprecations-in-tests
Fix deprecations in tests
2026-06-11 14:48:10 +02:00
Carl Schwan
c882abff2e
Merge pull request #60957 from nextcloud/carl/simplify-di-init
refactor(server): Register alias when needed
2026-06-11 13:57:35 +02:00
Louis
996fcfe443
Merge pull request #57216 from Roszakos/2fa-stateless-provider-interface
feat (2fa): Add IStatelessProvider interface
2026-06-11 11:01:23 +02:00
Daphne Muller
69af641e34
Merge pull request #60500 from nextcloud/enh/noid/taskprocessing-streaming
On behalf of Julien
2026-06-11 10:22:33 +02:00
Côme Chilliet
d8a6ab54e7
chore(tests): Use /dev/shm as a tempdirectory
Should fix tests in phpunit-32bits

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-11 09:45:33 +02:00
Côme Chilliet
a8f21da1f7
fix: Fix data directory permission check and its test
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-11 09:45:32 +02:00
Côme Chilliet
9fe62b6338
chore(tests): Speed up TARTest by compressing a smaller folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-11 09:45:32 +02:00
Côme Chilliet
d881bca11f
chore(tests): Adapt tests to IUser strict typing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:31 +02:00
Côme Chilliet
a51886569e
chore: Pass correct type for alias in QueryBuilderTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:31 +02:00
Côme Chilliet
b2a69d0095
fix: Silence PHP warnings from fopen and mkdir
We are testing the result and logging our own error anyway.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:30 +02:00
Côme Chilliet
1f246dec14
chore(tests): Set a token string to avoid getToken returning null from tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:29 +02:00
Côme Chilliet
805902eed3
chore: Re-enable tests failing on drone
We do not use drone anymore, let’s see if we can fix these tests or if
 they should be removed.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:29 +02:00
Côme Chilliet
c6452f01a5
chore(tests): Fix User UID mocking in TwoFactorAuth/ManagerTest.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:28 +02:00
Côme Chilliet
b4f86c032c
chore(tests): Avoid deprecation in PublicKeyTokenProvider
Also cleaned up the test a bit.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:27 +02:00
Benjamin Gaussorgues
73506e8486
chore(deprecated): remove Reflection*::setAccessible as it's noop since PHP 8.1
Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-11 09:45:27 +02:00
Carl Schwan
a459b9cc1f
refactor(server): Register alias when needed
And remove useless service registration

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 23:22:24 +02:00
Kate
8948e923e8
Merge pull request #61169 from nextcloud/test/parent-setup
test: Add missing calls to the parent setUp method
2026-06-10 22:12:55 +02:00
provokateurin
405d250aef
test: Add missing calls to the parent setUp method
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-06-10 18:07:52 +02:00
Louis
250635a9a8
Merge pull request #61150 from nextcloud/carl/speedup-tests
Speedup tests execution
2026-06-10 17:23:13 +02:00
Louis Chmn
6bb9ad60f2
test(View): Setup users and groups once
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-06-10 15:48:24 +02:00
Carl Schwan
8bff1b4968
perf(UserConfigTest): Don't recreate database between invocation
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 15:48:24 +02:00
Louis Chmn
442777762d
test(App): Setup users and groups once
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-06-10 15:48:24 +02:00
Julien Veyssier
0bd607274c feat(task-streaming): fix tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-06-10 14:52:56 +02:00
Carl Schwan
3b7ca63f43
perf(AppConfigIntegrationTest): Avoid creating too many times AppConfig
Reuse instance by merging some tests based on DataProviders

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 12:17:08 +02:00
Carl Schwan
0fee41df7c
perf: Test chunking with a lower amount of entries
Use a lower array_chunk values when running the code in the tests for
the comment manager.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 11:49:29 +02:00
Carl Schwan
84a8b7e50e
perf(tests): Cache encryption result in UserConfigTest
So that we don't need to encrypt stuff all the time.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 11:22:59 +02:00
Carl Schwan
126df9c170
perf(tests): Don't encrypt the same value each time
We have a static class, so we can save the results accross the > 100
tests cases in this class.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 11:19:22 +02:00
Stephan Orbaugh
9fe944199b
Merge pull request #60709 from nextcloud/test-speedup
Speedup share tests
2026-06-09 16:23:41 +02:00
Anna
d45d1d6bff
Merge pull request #60735 from nextcloud/fix/noid/crypto-decrypt-fallback-valueerror
fix(security): don't propagate ValueError from Crypto::decrypt() fallback
2026-06-09 15:14:44 +02:00
Robin Appelman
1f96118ef9 test: cleanup users before userbackend test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-08 15:40:03 +02:00
Robin Appelman
6100590516 fix: remove trait property conflict
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-08 15:35:08 +02:00
Robin Appelman
9651860720 test: add test trait for creating temporary groups
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-08 15:35:08 +02:00
Tobias Kaminsky
3279c40632
Merge pull request #60953 from nextcloud/carl/IInstanceFactory
chore: Remove unused and long deprecated Remote components
2026-06-03 14:50:19 +02:00
Carl Schwan
8b56c4c93d
chore: Remove unused and long deprecated Remote components
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 10:36:41 +02:00