Commit graph

598 commits

Author SHA1 Message Date
Anna Larch
8f838b2fe8 fix(caldav): allow renaming of birthday calendars
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-04 23:18:30 +02:00
Anna Larch
975f1f596f fix(caldav): limit property length
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-08-22 11:20:49 +00:00
Anna Larch
06ad7009f4 fix(userstatus): add missing parenthesis
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-08-01 16:16:10 +00:00
Richard Steinmetz
25f56e75ef
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-23 08:50:30 +02:00
Sebastian Krupinski
33f39035e6
Merge pull request #46602 from nextcloud/backport/46593/stable29
[stable29] fix(caldav): Throw 403 Forbidden Error instead of 500 Internal Server…
2024-07-18 18:05:42 -04:00
SebastianKrupinski
658f225138 fix(caldav): decode values before returning
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-18 14:02:34 +00:00
SebastianKrupinski
9f3d07e339 fix(caldav): Throw 403 Forbidden Error instead of 500 Internal Server Error
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-18 08:17:13 +00:00
Andy Scherzinger
440968fe2c
Merge pull request #46012 from nextcloud/backport/45999/stable29
[stable29] fix(caldav): encode calendar URIs with umlauts for activities
2024-07-10 19:58:13 +02:00
SebastianKrupinski
7728bbcf25 fix(caldav): limit vevent size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-10 14:55:52 +00:00
Richard Steinmetz
d9d4f1e16f fix(caldav): encode calendar URIs with umlauts for activities
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-10 15:18:27 +02:00
SebastianKrupinski
6fa1acae8e 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-27 09:23:49 +02:00
Richard Steinmetz
a794f15b1f fix(caldav): event links in shared calendar notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-11 18:44:14 +00:00
Daniel Kesselberg
8330825f3e 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-06-06 12:29:29 +02:00
Daniel Kesselberg
449af33c29 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-06-06 12:29:29 +02:00
Anna Larch
ec94f5499c fix(caldav): automatically delete outdated scheduling objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-06-03 11:10:03 +00:00
Anna Larch
9bea6eca98 fix(userstatus): catch unique constrain violation on revert
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-29 10:31:14 +02:00
Anna
d8a29a459c
Merge pull request #45224 from nextcloud/backport/44752/stable29
[stable29] Expose subscription calendars
2024-05-24 16:42:31 +02:00
Anna Larch
21dd449e47 fix(caldav): loop through all events for busy events
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-14 13:35:27 +00:00
Daniel Kesselberg
9faddcd5d8
feat(caldav): expose calendar subscriptions
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-08 10:49:21 +02:00
Côme Chilliet
82e593b83b
chore: Fix small psalm errors related to documented return types
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-06 18:21:38 +02:00
Anna Larch
e32ea9ab37 fix(CalDAV): remove UNKNOWN from room / resource consideration
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-04-26 11:20:08 +00:00
Côme Chilliet
0b332ceac2 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-04 11:45:22 +02: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
Anna Larch
a96f8f7fee fix(caldav): add EXDATE and EXRULE to confidential object
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-03-21 10:01:33 +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
a2fcf50f43
fix(dav): Fix atomic calendar/subscription updates
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-29 09:42:51 +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
John Molakvoæ
9eece36235
Merge pull request #39553 from zero0cool0/fix/caldavbackend_getChangesForCalendar 2024-02-23 21:35:43 +01:00
John Molakvoæ
54e6ad6e63
Merge pull request #39750 from nextcloud/Jerome-Herbinet-to-dos-wording-change 2024-02-23 21:30:06 +01:00
Jérôme Herbinet
678c003546 "Taks" to fit calendar wording
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2024-02-23 17:05:56 +01:00
Patrick Fischer
0f16153e4a Bug fix: Select the correct table based on CALENDAR_TYPE_CALENDAR
Signed-off-by: Patrick Fischer <mail@patrickfischer.ch>
2024-02-23 16:18:01 +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
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
Thomas Citharel
2bfe67c8ab fix(caldav): only call getTimestamp() on actual DateTime data
For some reason the value of $component['DTSTART'][0] may not be a DateTimeImmutable

Closes #42464

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 10:46:48 +01:00
Joas Schilling
71add5561a
fix(userstatus): Also set the user status when the user has no status at all
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-25 11:05:48 +01:00
Anna Larch
e1b957e17b fix(userstatus): CALL status should overwrite MEETING status
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-01-24 18:23:21 +01:00
Christoph Wurst
d9d222d18a
Merge pull request #42850 from nextcloud/fix/caldav/update-acls-deletedcalendarobjectscollection
fix(CalDAV): set acls for DeletedCalendarObjectsCollection
2024-01-18 10:42:14 +01:00
Johannes Merkel
b454156f57
fix(CalDAV): set acls for DeletedCalendarObjectsCollection
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2024-01-17 17:08:31 +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
jld3103
08b43021e1
fix(dav): Hide less than minute diff in calendar notification title
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-12-20 18:29:57 +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
Richard Steinmetz
06aba2a5c8 fix(dav): allow multiple organizers if possible
This is very hacky! However, we want to allow saving events with multiple
organizers. Those events are not RFC compliant, but sometimes imported from major
external calendar services (e.g. Google). If the current user is not an organizer of
the event we ignore the exception as no scheduling messages will be sent anyway.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-12-17 17:46:00 +01:00
Anna Larch
3475d52741 fix(caldav): don't reuse query builder objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-11 11:32:32 +01:00
Joas Schilling
73c0f596f7
fix(copyright): Fix copyright doc blocks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-30 11:53:47 +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
Christoph Wurst
096537eae5
fix(dav): Avoid date diffing if PHP is buggy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-24 09:45:56 +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