Commit graph

26 commits

Author SHA1 Message Date
Daniel
3846e0aafc
Merge pull request #48529 from nextcloud/backport/48519/stable30
[stable30] fix(dav): don't crash subscription on invalid calendar object
2024-10-02 18:29:13 +02:00
escoand
48eec1fd35
fix(dav): don't crash subscription on invalid calendar object
Signed-off-by: escoand <escoand@users.noreply.github.com>
2024-10-02 15:53:50 +02:00
Anna Larch
e480fd39a2 fix(caldav): add missing handlers
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-10-02 13:13:52 +00: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
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
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
Christoph Wurst
898d2923cc
chore(dav): Add void return type to test methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-20 08:38:43 +01:00
Côme Chilliet
574c6770d1
Get rid of deprecated at matcher in dav application tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-05 18:28:07 +01:00
Thomas Citharel
741c44385f
Increase loglevel of Webcal parsing errors and modernize code
Closes #31612

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-17 15:11:58 +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
Côme Chilliet
49b650c4a4
Fix namespace of RefreshWebcalServiceTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-05-02 10:52:43 +02:00
Mikael Saarinen
14c33bb2e9 Add regex to match Windows 10 calendar user-agent
* Match first part of the Windows 10 calendar user-agent
* Exposes subscribed calendars for Windows 10 calendar
* Update unit test

Signed-off-by: Mikael Saarinen <mikaels@iki.fi>
2021-06-23 09:50:45 +03: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
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
eleith
aa956ab46e broaden exception handling on webcal refresh
when iterating through a calendar, recurrance events can throw an
exception if no instances of the recurrance are found.

this exception is of class `Exception` but the try/catch clause in the
webcal refresh loop only catches `BadRequest` exception.

this leads to the exception bubbling up and thus other calendar events
do not get processed by the event iterator.

this PR broadens the exception to handle both BadRequest and
NoInstanceFoundException so that the full webcal can be processed, even
if minor hiccups are processing on vobject

Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
2020-09-29 20:47:38 -07:00
Christoph Wurst
cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Joas Schilling
fd0c1a3bb2
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-15 08:06:51 +02:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +02:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
2ee65f177e
Use the shorter phpunit syntax for mocked return values
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:21:27 +01:00
Georg Ehrke
bd1f98cba3
RefreshWebcalService: randomly generate calendar-object uri
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-03-16 15:36:13 +01:00
Thomas Citharel
8b22b9f046
Move RefreshWebcalJob logic to a proper service so that it may be called
independently

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2020-02-10 16:04:38 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Georg Ehrke
30d13bb760
cache webcal calendars on server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-07 13:25:14 +01:00