Commit graph

524 commits

Author SHA1 Message Date
Arthur Schiwon
592aeec17e
Merge pull request #38919 from nextcloud/backport/38639/stable27
[stable27] pruneOutdatedSyncTokens deletes all entries
2023-07-12 19:50:40 +02:00
Richard Steinmetz
f2e9044494
fix(dav): close cursor when fetching max id
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-11 08:02:45 +02:00
Christoph Wurst
1bbeffa4a5 fix(caldav): Ignore invalid events for reminder generation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-07-10 18:24:05 +02:00
Christof Arnosti
8457a227e3
Issue #36644: Fix pruneOutdatedSyncTokens for CalDAV
pruneOutdatedSyncTokens accidentally deletes all entries of the calendarchanges table
instead of leaving $limit elements in the table

Signed-off-by: Christof Arnosti <charno@charno.ch>
2023-06-21 08:12:52 +02:00
Anna
9e53934498
Merge pull request #36118 from nextcloud/fix/caldav/invitation-outlook-compatibilty
Fix calendar emails to be outlook compatible
2023-05-10 12:10:42 +02:00
Daniel Teichmann
56f36b94e5
Rename setting 'sendEventRemindersToSharedGroupMembers' to 'sendEventRemindersToSharedUsers'.
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
2023-05-04 13:05:00 +02:00
Ferdinand Thiessen
62c4ae78df Feature: Provide access to app generated calendars through CalDAV
This adds CalDAV support for app generated calendars,
which are registered to the nextcloud core.
This is done by adding a dav plugin which wraps
all ICalendarProviders into a Sabre plugin (inspired by the deck app).

Add unit test for AppCalendar wrapper plugin and calendar object implementation.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2023-04-25 18:11:49 +02:00
Maximilian Martin
c8985944ec fix event move issue
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2023-04-18 09:45:30 +02:00
Simon L
66ab45b8a0
Merge pull request #36528 from nextcloud/dav-backend-transations
CalDAV/CardDAV: put every method from backends that does multiple DB calls in transactions
2023-04-18 00:55:29 +02:00
Simon L
6afda50590
Merge pull request #37645 from nextcloud/fix/improve-imip-emails
fix(dav): Parse sender PARTSTAT in REPLYs
2023-04-17 23:49:16 +02:00
Thomas Citharel
ff3b69b21d refactor(dav): Since we're in a transaction, use QB properly when incrementing synctoken
Now that we're in a transaction, we can reuse the sync token's previous value without trouble, and rewrite the increment UPDATE query without dirty direct SQL.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-17 16:08:44 +00:00
Thomas Citharel
c9a3129cb4 fix(CalDAV/CardDAV): put every method from Cal/CardDAV backends that does multiple DB calls in transactions
In a lot of methods we're doing read-after-writes (for instance calling
updateProperties after touching calendar objects).
There's also a lot of deleting methods that do stuff sequentially which
could cause trouble.
This should avoid this kind of issues.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-17 16:08:44 +00:00
Simon L
e63720b714
Merge pull request #36217 from nextcloud/handle-push-notification-with-no-calendar-name
Handle reminders where calendar name is null
2023-04-17 15:43:21 +02:00
Simon L
bdb09abd1a
Merge pull request #36845 from Murena-SAS/reminder-iterator-exception
Fix max instances exception in get vevent call
2023-04-17 15:26:11 +02:00
Anna Larch
fd85c86cde fix(dav): Parse sender PARTSTAT in REPLYs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-04-13 18:55:08 +02:00
Arthur Schiwon
784b2bd703
Merge pull request #37626 from nextcloud/fix/compare-imip-email-values
fix(dav): add string comparison for diff
2023-04-11 19:36:13 +02:00
jld3103
b153340b62
Add type hints for mappers
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-07 09:49:42 +02:00
Anna Larch
1811a0e8f9 fix(dav): add string comparison for diff
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-04-07 00:28:42 +02:00
jld3103
7e58aa1a05
Fix DAV types
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-05 07:06:50 +02:00
jld3103
02f9c3a06f
Use implementations instead of interfaces for accessing private methods
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-03-30 12:33:46 +02:00
Simon L
0e5fcb49d4
Merge pull request #36661 from onny/event-update-mail-subject
Invitation mail: Change subject if event got updated
2023-03-16 12:26:12 +01:00
Richard Steinmetz
7a020b1d1a
Merge pull request #36935 from nextcloud/fix/noid/imip-plugin-null-hardening
fix(caldav): harden null handling of iMip scheduling method
2023-03-02 12:28:17 +01:00
blizzz
e08fa78224
Merge pull request #36594 from nextcloud/fix-handling-of-invitations
fix(caldav): Correctly handle calendar recreation for invitations when the current calendar is in the trashbin
2023-03-02 11:54:51 +01:00
Richard Steinmetz
a35b960c7a fix(caldav): harden null handling of iMip scheduling method
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-03-02 09:42:10 +00:00
Richard Steinmetz
2c0d89e56a
fix(caldav): convert iMip recipient name to a string
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-28 15:20:58 +01:00
Akhil
e823718383
Remove reminder if max instances exceeded
Signed-off-by: Akhil <akhil@e.email>
2023-02-27 15:56:39 +05:30
Akhil Potukuchi
e354e9266e
Update apps/dav/lib/CalDAV/Reminder/ReminderService.php
Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Akhil Potukuchi <akhil.potukuchi@gmail.com>
2023-02-27 12:55:48 +05:30
Akhil
9f9da964f6
Fix max instances exception for get vevent call
Signed-off-by: Akhil <akhil@e.email>
2023-02-26 21:27:37 +05:30
Daniel
c6c512a19d
Merge pull request #34375 from nextcloud/fix/trashbin-uid
fix(dav) Handle Calendar trashbin UID conflicts by removing the deleted calendar object
2023-02-21 16:32:05 +01:00
Anna Larch
ed70815076 Fix calendar emails to be outlook compatible
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-21 14:37:11 +01:00
Jonas Heinrich
944efa388a Invitation mail: Change subject if event got updated
Signed-off-by: Jonas Heinrich <heinrich@synyx.de>
2023-02-20 13:53:53 +01:00
Anna Larch
5b6a0affd0 Allow reimporting prev. deleted items by deleting trashbin item
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-13 15:00:23 +01:00
rakekniven
421df8d456
l10n: Fixed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>


Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2023-02-11 22:09:26 +01:00
Christoph Wurst
b5f7afd0fb
fix(caldav): Fix reminder timezone drift for all-day events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-02-09 15:19:00 +01:00
Thomas Citharel
4fd58aa45c
fix(caldav): Correctly handle calendar recreation for invitations when the current calendar is in the trashbin
Follow-up to #32361, see https://github.com/nextcloud/calendar/issues/4098 for details

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-02-09 14:43:27 +01:00
Christoph Wurst
ee05e01cf4
Merge pull request #29010 from mattian/fix/19218/birthday-leap-day
dav: fix birthday calendar event generation for leap days
2023-02-08 08:55:22 +01:00
Côme Chilliet
c4d90f3e81
Removed catch of ValueError as we cannot know if it’s >2038 or <1970
Also fixed numericToString to correctly convert float to int if it fits

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:35 +01:00
Côme Chilliet
d315bce300
Improve behavior with dates on 32bits and fix tests or skip them
We do not support events after 2038 on 32bits but still behave better
 when date range start/end is after 2038.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:32 +01:00
Mattia Narducci
b55c62c6c2 dav: fix birthday calendar event generation for leap days
Fix generation of birthday calendar events for the 29th of February.

A recurring event for the 29th of February in the (default) Gregorian
calendar system would only generate instances in leap years. Fix this
behaviour by generating recurring events for the last day of February,
the 29th on leap years and the 28th otherwise.

Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
2023-02-06 19:11:46 +01:00
Anna Larch
38e9cb6a05 Use recurrence instance to build iMip email
instead of the main VEVENT of a repeating event

Fixes part of https://github.com/nextcloud/calendar/issues/3919

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-02 16:25:59 +01:00
Côme Chilliet
dde5c46a3e
Migrate to Symfony Mailer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-02 10:30:06 +01:00
Joas Schilling
1a31ddb56d
Do not reuse query builder objects in DAV account deletion
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-01 21:49:34 +01:00
Christoph Wurst
954284f8cd
fix(caldav): Fix wrong Psalm report for nullable calendar data
> Docblock-defined type Sabre\VObject\Component\VCalendar for $vcalendar is never falsy

^ is a lie

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-26 11:24:53 +01:00
Christoph Wurst
83711e9267
Merge pull request #36254 from nextcloud/chore/dav/throw-json-encode-decode
chore(dav): Make json_encode and json_decode throw on error
2023-01-23 12:52:22 +01:00
Christoph Wurst
afd1ddb0ea
chore(dav): Make json_encode and json_decode throw on error
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-19 19:19:22 +01:00
Christoph Wurst
3c9ceffa7c
chore(dav): Remove useless var tag
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-19 19:05:23 +01:00
Anna Larch
a9264b007f fix(dav): catch MaxInstancesExceedeException for recurring events without end date
Ref https://github.com/nextcloud/calendar/issues/4811

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-18 15:40:36 +01:00
Thomas Citharel
62739ecf6c
Handle reminders where calendar name is null
This adds an interface change, but that's not a public API.

We're handling this in the providers and not in ReminderService because
the fallback is translated with the user's language.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-18 14:30:43 +01:00
Anna Larch
d58ecdcfad Hook into sabre event lifecycle for iMip Messages
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-05 11:55:26 +01:00
Anna Larch
05f2dc68fc [WIP] Add logging to Scheduling Plugin
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-04 16:58:00 +01:00