Commit Graph

27400 Commits

Author SHA1 Message Date
Micke Nordin 2beb626995 feat(OCM): Add event for received notifications
OCM is standardizing and expanding the use of notifications and having
an event for acting on in apps will be very useful.

Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-16 11:30:00 +02:00
Marcel Klehr eda0de0c14 Merge pull request #61190 from nextcloud/feat/taskprocessing-update-completionexpected
feat(TaskProcessing): Update completionExpectedAt in Manager#setTaskProgress
2026-06-16 11:19:08 +02:00
Simon L. e9eac64f33 Merge pull request #58971 from nextcloud/enh/noid/slow-caps-debug-mode
refactor(CapabilitiesManager): log slow capabilities in a single message
2026-06-16 10:14:44 +02:00
Nextcloud bot 0f657aedbe fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-16 00:23:06 +00:00
Cristian Scheid 74849c99e3 fix(team-manager): ensure team resources are only retrived for members
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-06-15 14:12:58 -03:00
Simon L. 3881d9b1fa refactor(CapabilitiesManager): log slow capabilities in a single message
Instead of logging one message per slow capability (and only in debug
mode), collect all slow capabilities and emit a single log entry with
all timings, using the highest applicable log level.

Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-15 18:42:47 +02:00
Simon L. 3e6d2dc794 fix(CapabilitiesManager): only check execution time if debug mode is enabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-Authored-By: Anna <anna@nextcloud.com>
2026-06-15 18:37:11 +02:00
niv 26526ec134 fix: trim duplicate search results for external share
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-06-15 16:57:51 +02:00
Yoan Bozhilov df2368896f docs(taskprocessing): document lockTask semantic change
Per review feedback: note in the lockTask docblock that the guard changed from
`status != RUNNING` to `status = SCHEDULED`, and that callers must now treat a
0 return as "the task is no longer claimable" rather than assuming success.

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 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
Marcel Klehr 66826df860 fix: Address review comments
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
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 802bce0a77 fix: Use token expiration for ephemeral sessions
This simplifies the code a lot.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-15 15:28:38 +02:00
Marcel Klehr 041013bb58 fix(TaskProcessing): Check $progress value is in (0,1) in setTaskProgress
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-06-15 10:02:34 +02:00
Nextcloud bot a7eb76d031 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-15 00:23:21 +00:00
Nextcloud bot eaae45d7dc fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-14 00:22:44 +00:00
Nextcloud bot d02155784b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-13 00:24:20 +00:00
Côme Chilliet 1ac195d01e Merge pull request #61245 from nextcloud/fix/fix-php-warning-in-sharehelper
fix: Fix PHP Warning foreach() argument must be of type array|object, null given
2026-06-12 18:38:28 +02:00
Robin Appelman 09d6942c11 chore: fix SearchBinaryOperator constructor type hint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-12 17:43:42 +02:00
Benjamin Gaussorgues e1eea9bee7 Merge pull request #60972 from nextcloud/feat/clean_crashed_jobs
Job run history cleanup
2026-06-12 15:49:36 +02:00
Kate 718dfd0656 Merge pull request #61142 from nextcloud/chore/php/drop-8.2
chore(PHP): Drop 8.2 for Nextcloud 35
2026-06-12 15:27:12 +02:00
Côme Chilliet d551047b8a fix: Fix PHP Warning foreach() argument must be of type array|object, null given
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-12 14:28:42 +02:00
Benjamin Gaussorgues dc5499af46 feat(jobs): clean old job runs
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 13:53:10 +02: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 3956e292b4 feat(jobs): add cleanup job for job run history
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 a7da9cd596 chore(PHP): Drop 8.2 for Nextcloud 35
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-06-12 11:11:50 +02:00
Julien Veyssier d8477ed7d4 feat(task-streaming): set preferStreaming default value to false, allow setting it with the OCS API
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-06-12 10:34:11 +02:00
Benjamin Gaussorgues 621d1328e7 Merge pull request #57227 from lpcvoid/master
fix: allow `occ maintenance:update:htaccess` to create .htaccess file in case it doesn't exist yet
2026-06-12 10:02:05 +02:00
Nextcloud bot b7b45a8118 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-06-12 00:45:50 +00:00
provokateurin dd8b4fb384 style(PHP): Fix
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-06-11 20:01:52 +02:00
Louis 14caffcc7b Merge pull request #43226 from jpsn123/master
movie preview bug fix, in some case stream reading functions may block indefinitely
2026-06-11 17:28:54 +02:00
Andy Scherzinger 2ab629fd1b Merge pull request #53464 from nextcloud/correctParentStorageMtime-id
fix: pass parent id to correctParentStorageMtime when known
2026-06-11 17:17:52 +02:00
cn-shell cb8c152ed3 fix(previews): movie preview bug fix, in some case stream reading functions may block indefinitly
Signed-off-by: cn-shell <jpsn@foxmail.com>
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-11 17:14:54 +02:00
Louis 97df391969 Merge pull request #49978 from nextcloud/jtr-feat-setupchecks-limit-type
feat: Run setup checks by category or class
2026-06-11 16:58:21 +02:00
Louis bf4b5ce8d6 Merge pull request #61208 from nextcloud/artonge/fix/psalm_from_60840
fix: Psalm errors from #60840
2026-06-11 16:53:20 +02:00
Louis Chmn d93047cfc7 fix: autoload and composer.lock content
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-06-11 16:43:30 +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
Josh b42fbab94d feat: Run setup checks by category or class
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-11 12:24:47 +02:00
Benjamin Gaussorgues 728644d647 Merge pull request #59731 from nextcloud/jtr/refactor-share-dry-exp-dat-validation
refactor(share): DRY up expiration date validation and fix dispatchEvent() log message
2026-06-11 11:42:06 +02:00
Benjamin Gaussorgues 46a81176c7 Merge pull request #60783 from nextcloud/jtr/docs-PwConfirmationRequired
docs(appframework): clarify PasswordConfirmationRequired behavior in docblocks
2026-06-11 11:40:39 +02:00
Louis 86c2b912bf Merge pull request #50835 from nextcloud/updateLastSeen
fix(session): Update `last_seen` when user session is validated
2026-06-11 11:38:03 +02:00
Marcel Klehr 573ecd0e81 feat(TaskProcessing): Update completionExpectedAt in Manager#setTaskProgress
Assisted-by: ClaudeCode:claopus-4-7
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-06-11 11:10:41 +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
Salvatore Martire 87e907592a chore: update since from 34.0.0 to 35.0.0
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-11 10:53:49 +02:00
Louis a8135190f3 Merge pull request #59916 from nextcloud/jtr/fix-MoveFromCacheTrait-hardening
fix(Files/Cache): align `MoveFromCacheTrait` fallback validation with `Cache::moveFromCache`
2026-06-11 10:28:15 +02:00
Louis 5e4abd734d Merge pull request #59984 from nextcloud/jtr/docs-lock-ILockManager-API
docs(lock): clarify ILockManager API documentation
2026-06-11 10:26:49 +02:00
Louis 421e4de7e5 Merge pull request #59979 from elicpeter/patch-1
fix(repair): restrict unserialize() in RemoveBrokenProperties
2026-06-11 10:26:04 +02:00
Marc d2ce617561 fix: create .htaccess file in case it doesn't exist yet
Currently, the updateHtaccess() function can't deal with a missing
.htaccess file, it assumes at least an empty .htaccess file.

In some cases, the file may be missing though, and this commit
adds functionality for creating it when this edgecase occurs.

Signed-off-by: Marc <mail@lpcvoid.com>
2026-06-11 10:23:00 +02:00