883 Commits

Author SHA1 Message Date
Yoan Bozhilov 3f3f9c6464 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-17 19:00:53 +02:00
Yoan Bozhilov aa5f45cecd 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-17 19:00:53 +02:00
Benjamin Gaussorgues 368c4ae515 feat(utils): add getter for serverid with proper default
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-06-12 19:40:16 +02:00
Benjamin Gaussorgues e612661d71 feat(jobs): add command to list executed background jobs
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-29 13:10:15 +00:00
Benjamin Gaussorgues 390b4e6a3b feat(jobs): allow workers to keep track of executed jobs
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-29 10:30:07 +00:00
Benjamin Gaussorgues f936e54b8d feat(jobs): allow to keep track of job executions
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-28 10:20:07 +00:00
Peter Ringelmann 2efd282a24 fix(settings,oauth2): preserve wipe state across admin deletion paths
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-26 19:21:58 +00:00
Enjeck C. d263d13bcd feat(occ): make it possible to remove an arbitrary number of users to a group
Signed-off-by: Enjeck C. <patrathewhiz@gmail.com>
2026-05-20 09:01:30 +00:00
Arthur Schiwon c22d4d0be6 feat(occ): make it possible to add an arbitrary number of users to a group
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-05-20 09:01:30 +00:00
Ferdinand Thiessen 1c23feae3d refactor: migrate usage of OC_App to AppManager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-13 14:01:49 +02:00
Marcel Klehr b2ffaaf147 Merge pull request #59958 from nextcloud/feat/setupcheck-taskprocessing-worker
Feat: Better reporting if something is wrong with taskprocessing
2026-04-29 12:07:20 +02:00
Marcel Klehr cbaf5fa99f fix(TaskProcessingWorker): Adjust config key name
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-29 10:11:25 +02:00
Joas Schilling a0fedf1c7f Merge pull request #59985 from nextcloud/chore/psalm-v6
chore: update psalm to v6
2026-04-29 07:20:29 +02:00
Ferdinand Thiessen b1739626c4 Merge pull request #56720 from nextcloud/jtr/occ-app-remove-refactor
feat(app): allow removing installed-but-disabled apps; improve help & logging
2026-04-29 01:37:08 +02:00
Ferdinand Thiessen 20acaf307e chore: add missing Override attribute to core code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Ferdinand Thiessen 2a8aaf9c0a chore: adjust code style
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 17:24:56 +02:00
Marcel Klehr f0a3b335e6 fix(TaskProcessingWorker): Only store config value every 60s
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-28 15:53:04 +02:00
Josh e97cf02574 feat(app): allow removing installed-but-disabled apps; improve help & logging
- Allow removal of apps that are installed but currently disabled
 - Add explicit installed check (getAppPath) with clear message when not installed
- Expand help text to document uninstall behavior and --keep-data
 - Mirror console messages to logs for key events and consolidate exception logging
- miscellaneous code tidying

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-28 13:51:48 +02:00
Marcel Klehr 3802c0d24a feat(TaskProcessing): Add setup check for task processing worker status
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-28 11:43:03 +02:00
Ferdinand Thiessen a974d00571 feat: add new IRepairStepExpensive interface
Expensive repair steps are non-critical repair steps that might take a long time to execute.
Non-critical means that they are not required to directly be executed during migration to have a working instance,
but they might be required to have a fully working instance later on.

Expensive repair steps are only executed when explicitly requested by the administrator.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
Joas Schilling d6ee1eafa3 fix(updater): Make "maintenance mode kept active" more obvious
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-09 09:10:21 +02:00
Côme Chilliet 6b49aa792b chore: Remove types from const properties for PHP 8.2 compatibility
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:36:01 +01:00
Côme Chilliet cd2d09de64 fix: Remove static vars from core classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:54 +01:00
Marcel Klehr a51d74407a fix: Apply suggestions from code review
Co-authored-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:14:26 +01:00
Marcel Klehr ad5e709f7f chore: Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 549b081f2f fix: Fix task type starvation: collect all eligible task types then pick the oldest task
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] e46b967b53 fix: Fix task type starvation in WorkerCommand::processNextTask by shuffling providers
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 9cc334312b feat(taskprocessing): Add --taskTypes whitelist option to taskprocessing:worker command
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot] 118ca6a94b feat(taskprocessing): Add worker command with tests and registration
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
Josh 636345bac8 fix(db): pending migrations in occ migrations:status
Fixes #58569

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-26 12:38:00 -05:00
Kent Delante 711bd2bc6d feat(occ): allow admins to clear account passwords
Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-26 19:36:22 +08:00
Carl Schwan f6c839d125 refactor(psalm): Modernize migration doc
And remove all the duplication in the subclasses

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 11:25:55 +01:00
provokateurin f12cecb684 feat(rector): Enable SafeDeclareStrictTypesRector
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Carl Schwan c96ece0bcb refactor: Add more typing
- repairs job
- database
- redis

And remove Helpertest which was unused outside of some tests.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:39 +01:00
Carl Schwan fb3f9fe2de refactor: Update repairs jobs
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:54:24 +01:00
Maksim Sukharev 170d17a067 Merge pull request #58096 from nextcloud/fix/noid/app-update-showcurrent
feat(occ): show current version with occ app:update command
2026-02-05 18:14:44 +01:00
Maksim Sukharev 43bf6bc26b feat(occ): show current version with occ app:update command
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-02-05 12:20:22 +01:00
Nikolaos Karaolidis d73d5a25cb feat: declarative password salt, secret config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2026-02-03 13:21:38 +01:00
Carl Schwan ae73f7aaf5 refactor(setup-manager): Use ISetupManager instead of SetupManager
Keep using the OC API in the mount manager and OC_Utils, but the rest is
now using the public API.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 15:19:19 +01:00
Marcel Klehr 1f12126715 fix(TaskProcessing): Fix occ commands to cast strings to integer
fixes #57111

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-19 15:12:37 +01:00
Benjamin Gaussorgues 91a544ef45 Merge pull request #53414 from nextcloud/fix/49584-background-worker-remove-interval 2026-01-08 15:57:05 +01:00
Côme Chilliet 2da078f258 Merge pull request #55861 from nextcloud/feat/allow-decrypt-all-with-encryption-disabled
feat(encryption): Support running decrypt-all when encryption is already disabled
2026-01-08 14:19:06 +01:00
Salvatore Martire 43f2470f90 fix: use interval value in JobWorker
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-08 13:45:11 +01:00
Anna Larch f546daada7 refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Git'Fellow b585280534 feat(userList): Allow to list all users
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-18 13:53:41 +01:00
Côme Chilliet a6184661bd feat(encryption): Support running decrypt-all when encryption is already disabled
This was an arbitrary limitation since the first thing the command does
 is disabling encryption anyway, it makes little sence to force the admin
 to enable encryption first.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-16 11:09:46 +01:00
Stephan Orbaugh 282341a8d6 Merge pull request #55738 from nextcloud/carl/cleanup-preview-command
fix(preview-cleanup): Also delete previews stored in the oc_previews table
2025-12-11 14:07:50 +01:00
Carl Schwan 247b66c5ee fix(preview-cleanup): Also delete previews stored in the oc_previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-10 13:49:24 +01:00
Joas Schilling da1dd481e9 Merge pull request #56900 from nextcloud/fix/noid/allow-macos-on-ci
fix: Allow installation on macOS CI
2025-12-10 11:39:21 +01:00
Marcel Müller ae85eab73c fix: Allow installation on macOS CI
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-12-07 13:32:43 +01:00