Open KolbeinNL opened 5 years ago
Can you please upload your event data? Or at least some reproducing test data before and after the remove of a single occurrence
Please see the update ticket and the network logging with xml data
Any errors in the server log or browser console? Looks weird. Exdate props are set correctly
Console and owncloud log stays empty . I have a tail -f on data/owncloud.log. No errors. I could see this however further up..
{"reqId":"JaRNx4SIklMqtKFJqEY3","level":4,"time":"2019-05-03T14:30:08+00:00","remoteAddr":"185.65.134.166","user":"jessica.vanpanhuis@fijnthuiszorg.nl","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/calendars\/jessica.vanpanhuis%40fijnthuiszorg.nl\/daviddrentjefijnthuiszorgnl_shared_by_simone.wassink%40fijnthuiszorg.nl\/779f5fff-38fa-47c9-b519-6629fdd7eab7.ics","message":"Exception: This recurrence rule does not generate any valid instances: {\"Exception\":\"Sabre\\VObject\\Recur\\NoInstancesException\",\"Message\":\"This recurrence rule does not generate any valid instances\",\"Code\":0,\"Trace\":\"#0 \\/var\\/www\\/owncloud\\/apps\\/dav\\/lib\\/CalDAV\\/CalDavBackend.php(1546): Sabre\\VObject\\Recur\\EventIterator->__construct(Object(Sabre\\VObject\\Component\\VCalendar), '779f5fff-38fa-4...')\n#1 \\/var\\/www\\/owncloud\\/apps\\/dav\\/lib\\/CalDAV\\/CalDavBackend.php(867): OCA\\DAV\\CalDAV\\CalDavBackend->getDenormalizedData('BEGIN:VCALENDAR...')\n#2 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/CalDAV\\/CalendarObject.php(106): OCA\\DAV\\CalDAV\\CalDavBackend->updateCalendarObject(80, '779f5fff-38fa-4...', 'BEGIN:VCALENDAR...')\n#3 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(1129): Sabre\\CalDAV\\CalendarObject->put('BEGIN:VCALENDAR...')\n#4 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/CorePlugin.php(513): Sabre\\DAV\\Server->updateFile('calendars\\/jessi...', 'BEGIN:VCALENDAR...', NULL)\n#5 [internal function]: Sabre\\DAV\\CorePlugin->httpPut(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#6 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/event\\/lib\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\n#7 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(479): Sabre\\Event\\EventEmitter->emit('method:PUT', Array)\n#8 \\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/dav\\/lib\\/DAV\\/Server.php(254): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\n#9 \\/var\\/www\\/owncloud\\/apps\\/dav\\/lib\\/Server.php(298): Sabre\\DAV\\Server->exec()\n#10 \\/var\\/www\\/owncloud\\/apps\\/dav\\/appinfo\\/v2\\/remote.php(31): OCA\\DAV\\Server->exec()\n#11 \\/var\\/www\\/owncloud\\/remote.php(165): require_once('\\/var\\/www\\/ownclo...')\n#12 {main}\",\"File\":\"\\/var\\/www\\/owncloud\\/lib\\/composer\\/sabre\\/vobject\\/lib\\/Recur\\/EventIterator.php\",\"Line\":203}"}
But that is something with PUT
That's interesting... seems like RRULE:FREQ=YEARLY;UNTIL=19961027T030000;COUNT=17;BYDAY=-1SU;BYMONTH=9 throws a parser error.... I will have a deeper look into the ical specs when I got time
Anything that I can do?
You are always welcome to fix it since we are a community driven project anyway :P
Ok. I have no dev environment setup or anything. Don't know how difficult such a thing is. I'll notice by the way that in thunderbird it is working correct.
<?xml version="1.0"?>
Hi Julian,
I'm busy setting up dev environment. Do you know where in the calendar app can I find the code that displays the calendar Items based on the recurrence rule?
https://github.com/owncloud/calendar/blob/master/js/app/models/veventModel.js?
I see in the following code:
while ((next = iterator.next())) { const occurrence = iCalEvent.getOccurrenceDetails(next);
if (occurrence.endDate.compare(iCalStart) < 0) {
continue;
}
if (occurrence.startDate.compare(iCalEnd) > 0) {
break;
}
const dtstart = context.convertTz(occurrence.startDate, timezone.jCal);
const dtend = context.convertTz(occurrence.endDate, timezone.jCal);
const fcEvent = FcEvent(iface, occurrence.item.component, dtstart, dtend);
fcEvents.push(fcEvent);
}
Looks like the exdate part is ignored?!
As far as I know our dependency fullcalender is responsible for all the rendering stuff
But let me have a quick look tomorrow
This issue may resolved with https://github.com/owncloud/calendar/pull/964 . @KolbeinNL would you test this issue with master branch?
Steps to reproduce
Expected behaviour
The exception event should not be visible
Actual behaviour
The exception event is still visible in owncloud
Server configuration
Operating system:
Ubuntu
Web server:
Apache
Database:
Postgres
PHP version: 7.0
ownCloud version: (see your admin page)
10.0.10
Calendar version: (see the apps page)
1.6.2
Updated from an older installed version or fresh install:
Fresh
Signing status (ownCloud 9.0 and above):
No errors have been found.
List of activated apps:
ownCloud configuration:
Are you using external storage, if yes which one: local/smb/sftp/... no
Are you using encryption: yes/no
no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
no
LDAP configuration (delete this part if not used)
Client configuration
Browser:
Operating system:
CalDAV-clients:
Logs
Web server error log
Log file (data/owncloud.log)
Browser log
Event data after removing the occurrence: