SebastianKrupinski
7e92b157e3
fix: aliases and capitalization of emails
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-28 17:40:04 +07:00
Richard Steinmetz
40117dced3
Merge pull request #54426 from nextcloud/perf/prevent-fetching-account
...
perf: prevent fetching a principal's user account if the data is not needed
2025-08-28 16:59:38 +07:00
Richard Steinmetz
5b254ea39a
perf: prevent fetching a principal's user account if the data is not needed
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 14:13:29 +07:00
Richard Steinmetz
e8986db7a4
perf(caldav): preload publish statuses for a whole calendar home at once
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 14:00:18 +07:00
Richard Steinmetz
b7dc720848
feat: calendar federation
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +07:00
SebastianKrupinski
46e624a089
feat: Calendar Import
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-27 08:30:33 +07:00
Carl Schwan
d0f819ba99
Merge pull request #54409 from nextcloud/comments-db-multiple
...
perf(comments): Add a way to get comments for multiple objects at the same time
2025-08-27 11:57:24 +07:00
Andy Scherzinger
a9635044e3
Merge pull request #54533 from nextcloud/cal-edit-private-event
...
fix(caldav): show confidential event if writable
2025-08-27 09:41:57 +07:00
Richard Steinmetz
caf664ea43
fix(carddav): IAddressBook::getKey() should return a string
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-26 13:31:04 +07:00
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 +07:00
Arusekk
b3c5707a0c
fix(caldav): show confidential event if writable
...
If a party can edit the calendar/event, just display it instead of
hiding the details and risking overwrites.
This might be considered a change impacting privacy,
but it actually improves semantics.
Relevant test updates included, improving assertion correctness.
I think all the relevant use cases are solved by this.
Closes https://github.com/nextcloud/server/issues/5551
Closes https://github.com/nextcloud/calendar/issues/4044
Closes https://github.com/nextcloud/server/issues/11214
Signed-off-by: Arusekk <floss@arusekk.pl>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-20 13:34:38 +07:00
Richard Steinmetz
fa80a6199d
fix(caldav): encode calendar URLs properly when formatting search results
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-15 14:53:49 +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
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 +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
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
Christoph Wurst
0c4bb5e8c5
fix(dav): calculate permissions based on addressbook principal
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-08-06 18:15:43 +07:00
Daniel Kesselberg
13f25c9316
fix(carddav): return correct sync token for non-truncated requests
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-06 14:32:25 +07:00
Hamza Mahjoubi
36d9fcbb4d
feat(cardav): support result truncation for addressbook federation
...
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2025-08-06 14:04:55 +07:00
SebastianKrupinski
49d8e29a18
fix: do not ignore move command object target uri
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-01 09:36:07 +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
John Molakvoæ
6f0255d82a
Merge pull request #53141 from nextcloud/perf/files/setup-fs-basic-auth-request
2025-07-11 15:25:10 +07:00
Côme Chilliet
956924bdc9
chore: Remove calls to OC_App in bootstrap.php files for tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 11:40:27 +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
Daniel Kesselberg
4dee17868f
test(imip): ensure charset is set for the text/calendar attachment
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-06 20:06:44 +07:00
Joas Schilling
d67396f1b3
Merge pull request #53418 from nextcloud/fix/timedjob-execution-time
...
Fix TimedJob execution time to allow job execution exactly when scheduled
2025-07-03 14:16:56 +07:00
Robin Appelman
aa15f9d16d
chore: run rector
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +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
Salvatore Martire
289b7ab684
test: check that UserStatusAutomation is cleaned up
...
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-07-01 15:15:53 +07:00
John Molakvoæ
bd00b75b29
Merge pull request #53671 from nextcloud/fix/read-only-share-download
2025-07-01 15:11:06 +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
skjnldsv
9806a9830c
feat(files_sharing): allow viewing files with download disabled
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +07:00
Richard Steinmetz
960b3ec0eb
refactor(dav): move shared logic to a dedicated example contact service
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-19 23:46:00 +07:00
Richard Steinmetz
4a6909ffef
feat: create example event when a user logs in for the first time
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-16 11:49:20 +07:00
Daniel Kesselberg
1ac85a3298
fix: use correct format for getlastmodified webdav property
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:15:31 +07:00
skjnldsv
e41e8de0e2
fix(dav): file drop nickname
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-05 09:09:17 +07:00
Richard Steinmetz
696d76f976
fix(caldav): use direct.edit route in event activities
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-01 14:05:36 +07:00
Ferdinand Thiessen
9f8f7759a9
test(dav): adjust test cases for PHPUnit 10
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-28 09:30:21 +07: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 +07:00
Joas Schilling
96a1dd322b
test: Migrate DAV Systemtags tests to PHPUnit 10
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-27 18:27:25 +07:00
Joas Schilling
6cccdf98f4
test: Migrate CardDAV tests to PHPUnit10
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-25 22:22:57 +07:00
Joas Schilling
154d390c02
test: Migrate CalDAV tests to PHPUnit10
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-25 14:11:17 +07:00
Louis
a48bc55e2a
Merge pull request #52810 from nextcloud/artonge/feat/do_not_require_samesite_strict_cookie_on_public.php
2025-05-22 10:30:16 +07: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 +07:00
Richard Steinmetz
9a74d9a1a5
fix(caldav): don't send invitations to circles
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-05-21 13:28:57 +07:00
Ferdinand Thiessen
e693a5d4a5
fix(dav): correctly handle uploading folders with same name as a file
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-16 14:38:41 +07:00
provokateurin
78a175fc74
refactor: Apply rector refactorings
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-14 15:29:02 +07:00
Daniel Kesselberg
c05d3fdb2e
fix(caldav): prevent unshare entry creation for owner unsharing
...
- Introduces a `unshare` method in `CalDavBackend` to handle user unshares.
- Implements check to determine if unshare entry is needed based on group/circle membership.
- Ensures `updateShares` is only used when the calendar owner manages shares.
- Resolves issue where unsharing a calendar as owner created an unshare entry in `oc_dav_shares`.
Related PRs:
- https://github.com/nextcloud/server/pull/43117
- https://github.com/nextcloud/server/pull/47737
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-14 09:03:32 +07:00