Commit Graph

566 Commits

Author SHA1 Message Date
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
a8d69ffed1 refactor: Commands and background jobs for the trashbin
- Use modern node and SetupManager API
- Avoid passing the user by id and instead use IUser

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:44:30 +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
Josh
80caedb050 chore: php-cs fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:30:19 -05:00
Josh
853db93601 chore: typo fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:26:11 -05:00
Josh
355d6637ff refactor(trashbin): restyle DAV handlers, enhance internal docs, refactor for clarity & robustness
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:07:19 -05:00
Carl Schwan
2ae9626fec refactor(user_ldap): Port most of the remaining deprecated IConfig usage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Maxence Lange
ea8b133910 fix(trashbin): deletedBy of a file from a federated folder
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>

d
2025-12-01 16:25:05 -01:00
Carl Schwan
4d47fdaa85 chore: Run rector with new rules for fetch
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
Thomas Citharel
b44f35a42a refactor(trashbin): get expiration class directly from Server::get
instead of going through Application container

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
Thomas Citharel
05d5fdb429 fix(trashbin): include $availableSpace = 0 in checks when we need to delete expired files
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
Thomas Citharel
29d72bfb32 revert(trashbin): 195d347 due to misunderstanding
See https://github.com/nextcloud/documentation/pull/13017#issuecomment-3425782690

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-23 23:20:10 +02:00
Thomas Citharel
cea23fb53d refactor(trashbin): make the ExpireTrash background job use the Trashbin::expire static method
Instead of handling everything itself, and so that the available space is considered in deleting
trashed files even if not expired yet.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-14 11:07:25 +02:00
Thomas Citharel
195d347240 fix(trashbin): make sure the trashed files are deleted if we don't have any available space left
Logic taken from the files_versions expiration. It seems the second
argument from the isExpired method wasn't even used anywhere.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-14 10:58:30 +02:00
provokateurin
8d8f94b8ce fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 09:06:17 +02:00
Kate
81d0c73700 Merge pull request #55360 from nextcloud/refactor/rector 2025-09-28 12:28:46 +02:00
Ferdinand Thiessen
660f3f6fd1 refactor: use logical && || instead of weak and or operators
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +02:00
provokateurin
6a12fbc4f3 refactor: Run rector
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-27 18:52:58 +02:00
Marcel Müller
58440bfc67 fix: Stop infinite loop in ExpireTrash
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-24 21:41:10 +02:00
Joas Schilling
cb67bcecf0 fix(trashbin): Translate Nextcloud exception to Sabre exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-19 11:47:40 +02:00
Kate
c0dc179c8e Merge pull request #54950 from nextcloud/fix/files_trashbin/size-propagation 2025-09-09 15:36:32 +02:00
provokateurin
b36af651fd fix(files_trashbin): Fix size propagation when moving file to trash
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-09 13:39:08 +02:00
Louis Chemineau
9b5d11845a feat(files_trashbin): Refactor expire background job to support parallel run
- Follow-up of #51600

The original PR introduced the possibility to continue an `ExpireTrash` job by saving the offset. This was to prevent having to start over the whole user list when the job crashed or was killed.

But on big instances, one process is not enough to go through all the users in a timely manner. Supporting parallel run allows covering more ground faster.

This PR introduced this possibility. We are now storing the offset right away to allow another parallel job to pick up the task at that point. We are arbitrarily cutting the user list in chunk of 10 to not drastically overflow the 30 minutes time limit.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-08 12:33:25 +02:00
Côme Chilliet
5c9c2fe5e2 fix(trashbin): Fix errors in the log on MOVE operations
dirname will return '.' for files at the root, which will cause an
 Exception that gets logged.
Instead use \Sabre\Uri\split like other sabre plugins, to get an empty
 string for root directory.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 16:36:55 +02:00
Robin Appelman
f3850b141a fix: fix trashbin restore events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-19 20:46:56 +02:00
Ferdinand Thiessen
6b0bce8a2d fix(files_trashbin): has-preview must return true or false
Currently it returned the boolean value, but PHP will turn it into an
integer...

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-07 01:23:10 +02:00
Kent Delante
1ccf491a9e fix(files_trashbin): Expire trashbin items when space is needed
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-07-05 14:12:30 +08:00
Ferdinand Thiessen
5981b7eb51 chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Kent Delante
705aee5aa0 fix(files_trashbin): check if there is enough space before restoring
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-05-20 20:53:02 +08:00
provokateurin
78a175fc74 refactor: Apply rector refactorings
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-14 15:29:02 +02:00
Ferdinand Thiessen
1ae3fa4003 chore: replace leagcy OC_Helper calls with OCP\Util
- Replace legacy calls with OCP\Util
- Add missing deprecation notices
- Inline implementation in OCP\Util and call it from OC_Helper

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 10:18:04 +02:00
Louis
13af20ab3b Merge pull request #51837 from nextcloud/artonge/chore/increase_log_in_trashbin
chore(files_trashbin): Add user details in log from Trashbin
2025-04-07 15:00:27 +02:00
Louis Chemineau
b90c7b36fb chore(files_trashbin): Add user details in log from Trashbin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-07 12:48:55 +02:00
Louis Chemineau
0a585b0048 fix: Catch exceptions when expiring trashbin
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-02 17:04:06 +02:00
Louis Chemineau
9677cb86cb chore: Use iterator in ExpireTrash command
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-02 12:44:54 +02:00
Louis Chemineau
bd9a2eba76 feat: Limit trash expire job to 30 minutes
And pick up where it left off, leveraging getSeenUsers.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-03-30 08:54:41 +02:00
Côme Chilliet
64863c9d46 chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +01:00
Côme Chilliet
f758f565d4 fix: Replace getInstalledApps calls with getEnabledApps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:20 +01:00
Louis Chemineau
2d02cb1ff4 feat: Support X-NC-Skip-Trashbin header
This is useful for clients that want to directly and permanently delete a file.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-24 18:04:36 +01:00
provokateurin
31c21c7797 feat(files_trashbin): Allow preventing trash to be deleted permanently
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-13 15:19:19 +01:00
provokateurin
085d4c9364 refactor(OpenAPI): Adjust scopes to match previous behavior
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-06 14:30:40 +01:00
Christopher Ng
119e7d1bd7 feat(trashbin): Add backend dav property
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-12-03 16:09:13 -08:00
provokateurin
77114fb327 fix(OpenAPI): Adjust array syntax to avoid ambiguities
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-05 09:58:11 +01:00
provokateurin
f25a71806b fix(apps): Fix wrong or missing casts
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 17:08:29 +02:00
provokateurin
381077028a refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +02:00
dependabot[bot]
bb598c8451 chore(deps): Bump nextcloud/coding-standard in /vendor-bin/cs-fixer
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-19 07:57:35 +02:00
Git'Fellow
a1681b0756 chore(db): Apply query prepared statements
Fix: psalm

fix: bad file

fix: bug

chore: add batch

chore: add batch

chore: add batch

fix: psalm
2024-10-17 20:30:47 +02:00
Côme Chilliet
1580c8612b chore(apps): Apply new rector configuration to autouse classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-15 10:40:25 +02:00
provokateurin
6d8ffb381f refactor(files_trashbin): Add Storage parameter strong types
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:07 +02:00