Commit Graph

165 Commits (f3383f9f90729c81ef18f37cff5d62bcef9b6e5a)

Author SHA1 Message Date
Daniel Kesselberg 83a691709c
refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-04 21:54:22 +07:00
Ferdinand Thiessen cd550d57ef
Merge pull request #54402 from nextcloud/fix/streamer-mtime-zip
fix(Streamer): use localtime for ZIP files
2025-08-18 14:39:37 +07: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 +07: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 +07: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 +07:00
Ferdinand Thiessen ba00416040 refactor(Streamer): inject `IDateTimeZone` as constructor arg
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +07: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 +07:00
John Molakvoæ 2b50d9b2c5
Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-07-11 17:07:44 +07: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 +07: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 +07:00
Julius Knorr 82e299401e perf(dav): Preload dav search with tags/favorites
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-06-27 20:42:07 +07:00
Salvatore Martire 8167b07118 feat(files): automatically create directories on upload
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-06-26 15:08:11 +07:00
Daniel Kesselberg 3d1de793b1
refactor(dav): replace IAppData with IAppDataFactory for PhotoCache
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-15 18:28:45 +07: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 +07: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 +07: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 +07:00
Benjamin Gaussorgues 1c29257149 feat(dav): introduce paginate with custom headers
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-12-20 09:16:18 +07: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 +07:00
Daniel Kesselberg 6b383faf41
Revert "fix(dav): Always respond custom error page on exceptions"
This reverts commit 9992e7d439.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-11-22 11:55:25 +07:00
SebastianKrupinski 3e870695bc feat: mail provider settings
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-11-12 13:19:35 +07:00
provokateurin 381077028a
refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +07: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 +07:00
Ferdinand Thiessen e0c00af3bf
fix(dav): Emit `BeforeZipCreatedEvent` when creating folder zip archive
This is required to not break behavior on zip download (apps should be able to react to zip download especially for shares).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-29 13:29:04 +07:00
Ferdinand Thiessen d66e16b07e
feat(dav): New `ZipFolderPlugin` which allows to download folders using GET requests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-28 13:18:23 +07:00
Côme Chilliet 1a4978c4ea
chore: Apply rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-20 17:51:00 +07: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 +07:00
Louis Chemineau 9992e7d439
fix(dav): Always respond custom error page on exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-05 16:17:32 +07: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 +07:00
SebastianKrupinski fc0b694d37 feat: mail provider backend
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-23 16:20:36 +07:00
Richard Steinmetz e54d39b076
Merge pull request #45667 from nextcloud/fix/caldav/strict-default-calendar-checks
fix(caldav): stricter default calendar checks
2024-07-23 08:40:50 +07:00
Christoph Wurst f5e9be96ae
fix(dav): Call Sabre server start
exec is deprecated and calls start.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-07-22 19:35:45 +07: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 +07:00
SebastianKrupinski 247fbb5538 fix(caldav): limit vevent size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-04 18:56:27 +07:00
SebastianKrupinski cb6c091e08 fix(carddav): limit vcard size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-04 16:42:09 +07: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 +07:00
Hamza 236c9494c8
Merge pull request #44664 from nextcloud/fix/dav/rate-limit-create-adress-book
fix(dav): Rate limit address book creation
2024-05-28 16:46:05 +07:00
Andy Scherzinger 9d4b944098
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-27 20:11:22 +07:00
Hamza Mahjoubi fe780945e2 fix(dav): Rate limit address book creation
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-05-27 14:55:07 +07:00
SebastianKrupinski f44b73e2db fix(caldav): Use userSession instead of userId
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-04-30 10:30:12 +07:00
SebastianKrupinski 9859a44908 fix(caldav): Do not load IMipPlugin before user auth and session is created
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-04-29 14:29:17 +07: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 +07:00
Louis Chemineau 5137757053
fix(dav): Init ViewOnlyPlugin after auth
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-27 09:22:29 +07:00
Christoph Wurst dc7f2baf26 fix(dav): Rate limit calendar/subscription creation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-23 08:52:59 +07:00
Louis Chemineau 8e95d0f3ae
Check share attributes when downloading versions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 15:06:01 +07:00
Christoph Wurst 97f24302b3
chore(dav): Remove dead \OCA\DAV\Server::getSabreServer
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-11 13:16:06 +07:00
Christoph Wurst 5b7a5474b9
feat(caldav): Create personal event for out-of-office messages
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-14 13:57:12 +07:00
Maxence Lange e62e9e3dbf IFilesMetadata
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-11-07 00:21:38 +07:00
Christoph Wurst 9627176a23
Merge pull request #38610 from fsamapoor/replace_strpos_calls_in_dav_app
Refactors "strpos" calls in /apps/dav
2023-09-17 10:14:20 +07:00
Anna Larch 7eee1de65b fix(CalDAV): check birthday calendar owner
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-06 16:57:02 +07:00
Joas Schilling 72667a667d
feat(dav): Emit a typed event to deprecate OCA\DAV\Connector\Sabre::addPlugin
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-17 16:06:15 +07:00