- it is being used on frontend by users
- user and big instances benefit from quicker results and less load
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
The circles app depends on a valid userId. A public shared calender might be viewed by guests without a user session. For such requests the principal is null.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
instead of using the sabredav fallback (which does a read+write stream copy)
this greatly speeds up dav copies
Signed-off-by: Robin Appelman <robin@icewind.nl>
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)
The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
update styling for conditionals and simplifying conditional by only
relying on dtstart instead of also counting vevents (since they imply
the same condition, assuming valid events)
Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
when importing ics files from third party services (ex: google), long
running recurrence vcalander objects can contain numerous vevents
relating to past exemptions or edits.
these objects are handled incorrectly, leading to incorrect first and/or
last occurence dates from being inferred. as a result, a number of
imported events are not rendered in the calendar.
this PR makes use of EventIterator's constructor that takes in an array
of VEVENTS to properly handle these complex cases.
Also of note is that other parameter signatures of EventIterator's constructor,
will be deprecated, according to comments in sabre dav EventIterator.php
Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
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>
TypeError: strpos() expects parameter 1 to be string, int given
The problem is that in cacheNode() we strip of any slashes, so
a folder "0/" will be trimmed to "0" and be used as an array key.
Since PHP automatically casts numeric array keys to integers,
you afterwards get $nodePath as int(0). Since it's now a number,
the strpos() function does not accept it anymore. Simply casting
$nodePath to a string again in the foreach solves the issue
Signed-off-by: Joas Schilling <coding@schilljs.com>