Commit graph

554 commits

Author SHA1 Message Date
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
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
Louis Chemineau
33ac1c0433 Fix param name after Sabre\CalDAV update
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-22 12:43:27 -01: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
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
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
Christoph Wurst
9627176a23
Merge pull request #38610 from fsamapoor/replace_strpos_calls_in_dav_app
Refactors "strpos" calls in /apps/dav
2023-09-17 10:14:20 +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
Robin Appelman
30e9f520f3
Merge pull request #39568 from nextcloud/caldav-share-preload
Calendar optimizations
2023-08-14 10:27:35 +02:00
Christoph Wurst
42d1568b6b
Merge pull request #39741 from jmcclelland/optimize-cal-query
optimize calendar search query
2023-08-09 18:17:04 +02:00
Richard Steinmetz
2ac24d525c
feat(caldav): linkify location in scheduling mails
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-09 10:50: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
Faraz Samapoor
bbfe2fb821
Merge branch 'master' into replace_strpos_calls_in_dav_app
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-27 19:07:09 +03:30
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
Faraz Samapoor
8c64ccae01 Fixes "PossiblyNullArgument" Psalm warnings.
Co-authored-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-12 09:46:07 +02:00
Faraz Samapoor
0bae21b1d1 Refactors "strpos" calls in /apps/dav to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-12 09:46:07 +02:00
Christoph Wurst
b7e7d80173
fix(caldav): Ignore invalid events for reminder generation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-31 09:49:04 +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