Patrick Fischer
76560a51b6
Bug fix: Select the correct table based on CALENDAR_TYPE_CALENDAR
...
Signed-off-by: Patrick Fischer <mail@patrickfischer.ch>
2024-02-23 20:46:07 +00:00
Christoph Wurst
c7ddc5fd54
fix(dav): Rate limit calendar/subscription creation
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-22 15:16:09 +01:00
Anna Larch
043a2528a4
fix(caldav): don't reuse query builder objects
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-11 12:50:21 +00:00
Benjamin Gaussorgues
3545a1c613
feat(caldav): Allow advanced search for events/tasks
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-10 09:21:16 +01:00
Christoph Wurst
91b31bfb15
fix(dav): Reduce CalDAV backend memory footprint
...
fetchAll inflates memory. Fetching in a loop allows GC to run earlier
and more often.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-02 11:12:34 +01: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
Robin Appelman
30e9f520f3
Merge pull request #39568 from nextcloud/caldav-share-preload
...
Calendar optimizations
2023-08-14 10:27:35 +02:00
Jamie McClelland
4a98bb9972
ensure outerquery ->where() function doesn't clobber earier ->andWhere()
...
Signed-off-by: Jamie McClelland <jm@mayfirst.org>
2023-08-07 14:43:23 -04:00
Jamie McClelland
ece685d6f5
optimize calendar search query
...
see https://github.com/nextcloud/calendar/issues/4758
Signed-off-by: Jamie McClelland <jm@mayfirst.org>
2023-08-07 14:43:23 -04:00
Robin Appelman
7c02eedabb
cache calendar objects from calendarQuery
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-26 14:36:39 +02:00
Robin Appelman
31c483b759
preload shares for calendars when listing calendars
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-26 14:36:37 +02:00
Joas Schilling
e9ac0287f2
Merge pull request #39297 from nextcloud/fix/dav/close-cursor
...
fix(dav): close cursor when fetching max id
2023-07-12 20:35:54 +02:00
Richard Steinmetz
9206c0f473
fix(dav): close cursor when fetching max id
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-11 08:05:34 +02:00
Joas Schilling
f59c74062a
fix(dav): Move DAV app to non deprecated event dispatcher
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-07 10:53:19 +02:00
Thomas Citharel
1e390e1982
style(caldav): improve getDenormalizedData method
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-27 11:16:47 +00:00
Thomas Citharel
3886b00a33
Fix creating events with old (< unix time) lastoccurence
...
Closes #20804
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-27 11:16:47 +00:00
Christof Arnosti
73fb2997f4
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-12 08:35:35 +00: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
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
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
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
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
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
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
Anna Larch
e5c290bb7f
Switch to DisplayNameCache for CalDAV
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-03 10:26:34 +01:00
Thomas Citharel
6f15873321
Add a background job to prune outdated sync tokens
...
We remove all outdated sync tokens, based on their auto-incremented ID.
By default we only keep the last 10 000, but this can be configurable.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-27 20:12:13 +00:00
Christoph Wurst
e6d8da4cdc
Fix causal reads in CalDAV backend
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-10-03 20:03:29 +02:00
Anna Larch
b044c7586b
Check calendar URI length before creation
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-08-26 13:57:43 +02:00
Anna Larch
4ca4b02793
Support iMIP invitations from Mail
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-08-22 22:10:12 +02:00
luz paz
d4637ef4d8
Fix typos in apps/dav subdirectory
...
Found via `codespell -q 3 -S l10n -L jus ./apps/dav`
Signed-off-by: luz paz <luzpaz@github.com>
2022-07-26 17:40:10 -04:00
Carl Schwan
3598ec4028
Add typing to Sharing Backend
...
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-06-22 10:25:17 +02:00
Thomas Citharel
39ef0500d1
Handle the move operation properly between shared calendars
...
- Introduce a new CalendarObjectMovedEvent typed event dedicated for
this operation
- Handle the event in the activity backend and add new appropriate activity subjects
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-06-14 14:40:24 +02:00
Vincent Petry
8e61671b82
Merge pull request #32364 from nextcloud/dav-listeners
...
🧹 Remove all legacy event dispatchers from CalDAV & CardDAV backends
2022-06-10 15:57:35 +02:00
Thomas Citharel
cf8b98bf5f
Make sure activities are not created when a deleted calendar object expires
...
Closes https://github.com/nextcloud/activity/issues/784
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-18 11:17:27 +02:00
Thomas Citharel
060c8d7c4b
Add some typed properties
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:09:49 +02:00
Thomas Citharel
4bb31c021e
Remove all legacy event dispatchers from CalDAV & CardDAV backends
...
Move them to proper EventListeners and test them
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:09:46 +02:00
Côme Chilliet
e2531f8503
Migrate dav application from ILogger to LoggerInterface
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:43 +02:00
Christoph Wurst
288f07a5a4
Fix CalDAV subscriptions calendarorder column/prop type
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Christoph Wurst
941e560b5e
Fix column/property type of the calendar order
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Christoph Wurst
4f33b6937b
Fix column/property type of the CalDAV deleted_at time stamp
...
The timestamp is an int, but we treated it as string. With this patch
the property map is enriched with types and settype casts the value if
necessary.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-03-24 17:42:03 +00:00
Anna Larch
0745fc5012
Move calendar objects between calendars instead of deleting and recreating them
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-03-16 12:48:50 +01:00
Christoph Wurst
b005846d1f
Carefully filter out non matching time ranges for CalDAV search
...
When we search for CalDAV objects in the DB we take the first and last
occurence into account. For recurring events that is when they take
place the very first time and the very last time. Searching in a more
specific time range will still match this condition, because the
recurring event starts before the end of the requested range but ends
after the start of the requested range.
Sabre has filters for this. If we apply them on all seach objects of a
search with a time range, then only the recurring events actually taking
place at the time of the requested time range will be returned.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-13 15:58:31 +01:00
Christoph Wurst
98d4aefe43
Close open cursor in the caldav back-end
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-02 14:23:59 +01:00
Christoph Wurst
ca14c02301
Document and type allowed values for calendar property searches
...
For API users it looked like any properties could be searched. But it
turned out to be a hand picked list of properties that we index and then
use for the search. To prevent application errors where special props
are not found, I suggest we document and type the allowed values.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-11 10:57:04 +01:00
Christoph Wurst
2956f1c017
Fix immutable datetime handling in DAV calendar search
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-28 19:45:39 +02:00
Anna Larch
a58d1e6b06
Add Public Calendar Provider
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-14 08:22:24 +02:00
Richard Steinmetz
09ad1c4e2b
Skip deleted calendar objects of deleted calendars
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-06-15 11:36:59 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00