Carl Schwan
94e2af0302
perf(comments): Also cache the comments count
...
Since we now have an easy way to fetch the comments count.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:30:56 +02:00
Salvatore Martire
75d9aaa3b5
Merge pull request #54318 from nextcloud/feat/54115/emitPreloadCollectionEvent
...
Emits a `preloadCollection` event in the DAV server, so that plugins can listen to it and preload DAV properties for files inside a collection, to avoid the N+1 issue that would follow if loading properties on a per-file basis.
2025-08-15 11:06:48 +02:00
Salvatore Martire
bdcd583045
feat: make use of preloadCollection in core apps
...
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +02:00
Salvatore Martire
9bbebd6034
feat: emit preloadCollection event in DAV
...
This allows plugins to preload the content of a Collection to speed-up
subsequent per-node PROPFINDs and reduce database load.
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +02:00
Carl Schwan
46f0c6ebb5
perf(caldav): Cache calendars in CustomPropertiesBackend
...
We already do that for files, we are now also doing for calendars.
With relatively small amount of calendars, I managed to reduce the
number of DB requests by 35% and from 23 DB requests touching the
oc_properties table to only 3.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +02:00
Salvatore Martire
ec176a933a
feat(dav): report inefficient DAV plugins in logs
...
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-13 19:46:18 +02:00
John Molakvoæ
2b50d9b2c5
Revert "perf(base): Stop setting up the FS for every basic auth request"
2025-07-11 17:07:44 +02:00
provokateurin
689a853dc6
fix(dav): Initialize the FS for the user right after authenticating
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:38:58 +02:00
Robin Appelman
aa15f9d16d
chore: run rector
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +02: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
Joas Schilling
76e6ab1dff
test: Migrate remaining DAV tests to PHPUnit 10
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-28 09:25:47 +02:00
Louis Chemineau
009d0c550c
fix: Move CSRF check from base to PublicAuth for public.php
...
This currently prevent directly accessing a ressource when clicking on a link on a third party site. Example, clicking on `https://example.com/public.php/dav/files/pqLWcA269zfzXez/?accept=zip ` in a GitHub comment.
Skipping the check is an issue with password protected shares, as it allows third party sites to request the ressource when the user already entered the password, aka CSRF. So after removing the check from `base.php`, we need to add the it again in the `PublicAuth` plugin.
We also add a redirect to be helpful to the user.
**Warning**: this adds the limitation that clicking on a direct download link for password protected shares will redirect you to the password form, and then to the main share view.
Fix #52482
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-05-21 16:01:36 +02:00
provokateurin
78a175fc74
refactor: Apply rector refactorings
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-14 15:29:02 +02:00
provokateurin
7f0953d520
refactor(dav): Replace baseuri manipulation with RootCollection for public shares
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-05 13:23:11 +02:00
skjnldsv
58aaddeca5
fix(dav): check the owner displayName scope before giving attribute
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-30 08:37:08 +02:00
Richard Steinmetz
246da73a36
fix(oauth2): retain support for legacy ownCloud clients
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-01 11:25:52 +02:00
Daniel Kesselberg
db86cf8db1
fix: skip caching lastSeenQuotaUsage for remote shares
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-03-14 10:24:34 +01: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
Robin Appelman
757076af29
fix: explicitly ignore nested mounts when transfering ownership
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-06 14:45:35 +01:00
grnd-alt
2d02d83597
fix(dav): add activity logging for favorites in dav
...
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>
2024-12-03 20:56:36 +01:00
skjnldsv
8c0f8db6ca
feat(config): add maximum.supported.desktop.version
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-27 11:39:49 +01: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
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
2489608a72
refactor(dav): Add Storage parameter strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:07 +02:00
provokateurin
256a8d8903
test: Fix IStorage return types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 17:29:48 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Robin Appelman
627980ec2a
test: fix service overwrite in PartFileInRootUploadTest
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 16:10:14 +02:00
Côme Chilliet
03b969fb95
chore: Improve typing and phpdoc comments
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 20:29:48 +02:00
Côme Chilliet
801733e523
fix: Remove OCP\Files\Storage interface deprecated since version 9
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:10:48 +02:00
Ferdinand Thiessen
5fc715a9e2
fix: Adjust unit tests and protect against XSS
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-06 17:16:10 +02:00
Camila
0a72756d96
fix(dav): Update 403 error message
...
* The user should get a more friendly warning when their desktop client version is not supported anymore by the server.
See #nextcloud/desktop/issues/6273
* Update BlockLegacyClientPluginTest to reflect the new 403 error message.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-06 17:15:45 +02:00
Ferdinand Thiessen
0d41c49918
fix(dav): Pre-check if node can be copied or moved in DAV files plugin
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 17:22:20 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Ferdinand Thiessen
4bbcbc5206
feat: Make ISharedStorage public API and reuse where possible
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-12 11:42:10 +02:00
Richard Steinmetz
cbea787233
fix(caldav): stricter default calendar checks
...
Reject calendars that
- are subscriptions
- are not writable
- are shared with a user
- are deleted
- don't support VEVENTs
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-22 15:24:39 +02:00
Ferdinand Thiessen
322b3946d9
fix(dav): Verify target path in setName instead of source path
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:57:11 +02:00
Ferdinand Thiessen
69341e4306
refactor: Migrate filename validation logic from Storage to FilenameValidator
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:49:09 +02:00
Julius Härtl
637a91e767
Merge pull request #45973 from nextcloud/remove-chunking-v1
...
chore: remove chunking-v1
2024-06-24 09:52:18 +02:00
Robin Appelman
957a00b9de
chore: remove chunking-v1
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-19 16:57:42 +02:00
Ferdinand Thiessen
67a0e01382
fix(dav): Try basic auth for ajax WebDAV requests
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-18 10:47:11 +02:00
skjnldsv
4a77fe3530
fix(dav): also return shared-with-me shares data
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-12 10:27:29 +02:00
Andy Scherzinger
56d4f3aa2d
chore: Add SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-28 14:41:28 +02:00
Ferdinand Thiessen
f82c5f0146
fix(tests): Replace deprecated methods in FileTest
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-02 20:56:09 +02:00
Côme Chilliet
9aa7225ed3
Merge pull request #44332 from nextcloud/fix/fix-chunkupload-quota-check
...
fix(dav): Fix quota check for chunk upload
2024-04-02 17:44:21 +02:00
Côme Chilliet
ec5133b739
fix: Apply new coding standard to all files
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Côme Chilliet
01f59be55a
chore(dav): Fix tests for length headers on upload
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:13 +02:00
Robin Appelman
e7a7b4a401
perf: switch places that always use the first getById result to getFirstNodeById
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +01:00
Richard Steinmetz
53ef6c5f71
feat(dav): update a principal's schedule-default-calendar-URL
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-28 14:51:10 +01:00
Hamid Dehnavi
7bf31df0bc
Refactors "substr" calls to improve code readability
...
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-23 15:54:10 +01:00
John Molakvoæ
18399fc1cf
fix: improve typing and use \OCP\Server::get
...
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-09 10:56:34 +01:00