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
Anna Larch
5bbc23a261
fix(caldav): allow renaming of birthday calendars
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-08-20 10:16:57 +02:00
Richard Steinmetz
b8ec68d212
Merge pull request #46723 from nextcloud/feat/add-delta-sync-to-subscription-calendars
...
feat(webcal): only update modified and deleted events from webcal calendars
2024-08-14 08:57:03 +02:00
Richard Steinmetz
82615ce868
fix(caldav): allow VJOURNAL if no supported component set is specified
...
This is mandated by the RFCs.
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-08-13 15:26:17 +02:00
Anna Larch
fb94db1cd9
feat(webcal): only update modified and deleted events from webcal calendars
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-08-13 13:05:58 +02:00
hamza221
67957e98b9
fix: handle-duplicate-reminder
...
Signed-off-by: hamza221 <hamzamahjoubi221@gmail.com>
2024-08-13 11:47:03 +02:00
SebastianKrupinski
19ec5985b5
fix(caldav): test for null and blank value
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-08-07 18:56:34 -04:00
Sebastian Krupinski
4c4e414036
Merge pull request #46623 from nextcloud/fix/issue-44127
...
fix(caldav): fixed initial sync and double processing
2024-08-07 08:49:34 -04:00
SebastianKrupinski
0df30363a4
fix(caldav): Add sharee to address list when calendar is shared
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-08-06 08:39:24 -04:00
SebastianKrupinski
a56d0dbf4b
fix(caldav): fixed initial sync and double processing
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-08-01 13:20:47 -04:00
SebastianKrupinski
fc0b694d37
feat: mail provider backend
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-23 16:20:36 -04: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
SebastianKrupinski
43ee948890
feat: Improve recurrence invitations messages
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-17 19:10:32 -04:00
SebastianKrupinski
247fbb5538
fix(caldav): limit vevent size
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-04 18:56:27 -04:00
SebastianKrupinski
d7eb509b26
fix(caldav): when message is a reply compare the message sender not the recipient
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-25 16:43:51 -04:00
Joas Schilling
8130968a35
feat(notifications): Migrate server INotifiers to new exceptions
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-25 11:56:24 +02:00
Richard Steinmetz
df28c04a8f
fix(caldav): encode calendar URIs with umlauts for activities
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-20 10:56:27 +02:00
Richard Steinmetz
3a975d0a89
fix(caldav): event links in shared calendar notifications
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-11 20:08:57 +02:00
Daniel Kesselberg
b769dc4304
feat(caldav): order the calendar objects by start date for search
...
Sorting the events by the start date leads to more predictable results for the search API consumers.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-28 19:56:36 +02:00
Daniel Kesselberg
4718a7e4e0
fix(caldav): event search with limit and timerange
...
Event recurrences are evaluated at runtime because the database only knows the first and last occurrence.
Given, a user created 8 events with a yearly reoccurrence and two for events tomorrow.
The upcoming event widget asks the CalDAV backend for 7 events within the next 14 days.
If limit 7 is applied to the SQL query, we find the 7 events with a yearly reoccurrence and discard the events after evaluating the reoccurrence rules because they are not due within the next 14 days and end up with an empty result even if there are two events to show.
The workaround for search requests with a limit and time range is asking for more row than requested and retrying if we have not reached the limit.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-28 19:56:36 +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
Daniel Kesselberg
e210043ee9
feat(caldav): expose calendar subscriptions
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-07 16:03:33 +02:00
SebastianKrupinski
2088b492bf
fix(caldav): Fixed phpUnit to use userSession instead of userId and userManager
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-05-02 11:50:27 -04:00
Daniel
c0d21b4443
Merge pull request #44511 from nextcloud/perf/noid/skip-tree-lookup-for-non-calendar-requests
...
perf(dav): skip non-calendar requests in webcal caching plugin
2024-04-03 07:44:33 +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
Daniel Kesselberg
4bdb473aae
perf(dav): skip non-calendar requests in webcal caching plugin
...
The webcal caching plugin is active when the X-NC-CalDAV-Webcal-Caching header is there.
findPrincipalByUrl sends a request for /remote.php/dav/principals/users/admin/ using the caldavService which sets the header by default.[^1]
As X-NC-CalDAV-Webcal-Caching only impacts calendar requests, we can skip non-calendar requests.
[^1]: b3670f1805/src/services/caldavService.js (L43)
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-03-27 20:04:23 +01:00
Robert C. Schaller
fa6e6131ee
fix(dav): wrong comparison method between two events
...
Old comparison implementation compares each element of the array against each other with no respect for the associated array label, which leads to wrongful removals because one value is accidentally present in a completely different label. New comparison works 'by-label' individually.
Partly fixes #41084 because changes between 'SEQUENCE' not present, 'SEQUENCE:0' and 'SEQUENCE:1' were not detected in the old implementation and thus no email update sent.
Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Robert C. Schaller <gtbc_robert.schaller@rsxc.de>
2024-03-25 13:18:58 +01:00
Christoph Wurst
3dea99f42b
fix(dav): Add retention time to sync token cleanup
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-21 18:37:21 +01:00
Christoph Wurst
d4ac4b81e1
Merge pull request #44130 from nextcloud/fix/dav/occ-fix-caldav-sync-tokens
...
fix(dav): Add occ command to fix missing caldav sync tokens
2024-03-14 14:05:27 +01:00
Christoph Wurst
f40f962c2e
fix(dav): Add occ command to fix missing caldav sync tokens
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-12 12:44:00 +01:00
Christoph Wurst
1e8238b9e4
test(dav): Add unit test for no calendars/subscription limit
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-12 12:41:15 +01: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 +01:00
Anna Larch
dce69154ba
enh(sharing): enable unsharing for sharees for DAV shares (addressbooks and calendars)
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-15 18:01:12 +01:00
Joas Schilling
d086b6c81d
fix(tests): Make PHP 8.1.2 with Datetime Diff Bug pass the notifier test
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 16:16:37 +01:00
Joas Schilling
e981619c01
fix(dav): Fix user status "Undefined array key 0 at StatusService.php#98"
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-10 09:18:08 +01:00
John Molakvoæ
11096e2060
fix(dav): undeclared $cache property
...
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-21 14:23:52 +01:00
Anna Larch
4c6eff975f
fix(userstatus): set user status to 'In a meeting' if calendar is busy
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-19 14:59:00 +01:00
Christoph Wurst
8b38d49437
fix(dav): Prioritize timezone from core/login
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-29 12:17:30 +01:00
Anna Larch
f19645adab
enh(userstatus): add OOO automation and remove calendar automation
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-11-28 10:28:06 +01:00
Richard Steinmetz
8191295f66
feat(dav): dispatch out-of-office started and ended events
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-11-23 17:18:49 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Côme Chilliet
546c024f6c
Fix dynamic property in CalDav tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-11-13 12:40:44 +01:00
Anna Larch
f14a4f8fd7
feat(user status): automate user status for events
...
and automatically set a user status to free or busy depending on their calendar
transparency, event status and availability settings
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-11-09 16:20:19 +01:00
Anna Larch
a75173a9a2
fix(scheduling): don't send iMIP emails to rooms / resources
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-11-06 21:01:18 +01:00
Joas Schilling
3a265cee30
fix(3rdparty): Don't use indirect dependency "Safe/" for functions
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-23 15:25:14 +02:00
Richard Steinmetz
ace08819f9
fix(dav): expand recurrences when searching
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-09-21 23:28:35 +02:00
Côme Chilliet
4b8ef84440
Remove last at matcher call in dav application tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-14 15:01:26 +02:00
Daniel Kesselberg
457f4a530e
fix(caldav): add webroot to objectid for activities
...
A calendar uri includes the webroot: example.com/cloud/remote.php/dav/calendars/alice/personal/
The calendar app uses base64(calendar uri) as identifier for calendar objects.
Without this patch the links from activity app to calendar app don't work for installations in a subdirectory.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-13 20:33:23 +02:00
hamza221
823908b017
Enable caldav push notifications by default
...
Signed-off-by: hamza221 <hamzamahjoubi221@gmail.com>
2023-09-12 13:58:40 +02:00
Anna Larch
7eee1de65b
fix(CalDAV): check birthday calendar owner
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-06 16:57:02 +02:00