All of a sudden InfCloud is missing events.
I'm running InfCloud 0.13.2.rc2 since the end of 2015 using FireFox on Fedora. The DAViCal server is running on a separate system.
InfCloud didn't change and neither did the DAViCal server. I did upgrade FireFox as part of regular system upgrades.
This morning I noticed, the hard way, that a repeating event was missing from InfCloud. It is just gone. All occurrences, including past occurrences.
The event is on the server, since other clients (Android phones and tablets) display it.
This worries me very much. Is there anything I can do to find out what is going on? I tried cahce_update but that didn't make a difference.
Update: InfCloud with Chromium doesn't show the missing events either.
Hi Johan,
it may or may not be an InfCloud bug ... and here is why; there are 2 types of clients:
- clients which use PROPFIND requests to the list of ALL available objects on the server and then MULTIGET request (with a list of URLs from the previous step) to get the "raw" data from the server ... advantages: you always get ALL objects back from the server (trivial server implementation) disadvantages: it can be EXTREMELY slow, because the PROPFIND request always lists all the objects on the server, and then the client needs to find the "diff" between the previous list of objects and the current list of objects (using Etags) and then provide the MULTIGET request to download only the new/changed objects
- clients which use: a.) REPORT request to get the list of CHANGED objects from the server (using sync-token) and then use MULTIGET to get the "raw" data from the server advantages: very fast on client side and may be very fast on server side too (if implemented properly) disadvantages: if implemented improperly then some changes may not sync => possible problem #1 b.) time-rage filtering to get only subset of objects from the server (e.g. for the current view) advantages: you get only the data for the current view and not the whole list of events from -infinity to +infinity (fast for clients and servers too) disadvantages: especially for repeating events the server needs to "expand" the events to all "instances", and then provide the time-range filtering on these instances (not on the stored object itself) ... if the event is not "expanded" as it should, then it is NOT returned back to the client => possible problem #2
So what you must check is the list of requests and responses from the server, more precisely whether your repeating events are returned from the server or not - if yes, it can be InfCloud (or rrule.js) problem; if not then it is a server problem
Cheers,
JM
p.s.: cache_update cannot solve this problem, it only forces your browser to download the InfCloud source code again ...
On 7 Mar 2018, at 18:56, Johan Vromans jvromans@squirrel.nl wrote:
All of a sudden InfCloud is missing events.
I'm running InfCloud 0.13.2.rc2 since the end of 2015 using FireFox on Fedora. The DAViCal server is running on a separate system.
InfCloud didn't change and neither did the DAViCal server. I did upgrade FireFox as part of regular system upgrades.
This morning I noticed, the hard way, that a repeating event was missing from InfCloud. It is just gone. All occurrences, including past occurrences.
The event is on the server, since other clients (Android phones and tablets) display it.
This worries me very much. Is there anything I can do to find out what is going on? I tried cahce_update but that didn't make a difference.
Update: InfCloud with Chromium doesn't show the missing events either.
Hi Jan,
Thanks for the thinking.
This is what I have been able to find out so far.
When starting up, InfCloud issues an OPTIONS on the calendar and receives a 200 OK, but with an error text body:
The server encountered an internal error or misconfiguration and was unable to complete your request.
(I have no clue why this would fail, the server erro log contains no information. It's a 200 OK after all.)
InfCloud then issues a REPORT and receives a list of 79 calendar events.
The missing event is not part of this data.
When I download the calendar ics directly from the DAViCal server (788 events), the missing event is there:
BEGIN:VEVENT CREATED:20170103T111640Z LAST-MODIFIED:20171221T212825Z DTSTAMP:20171221T212825Z UID:a80d59e0-a0a8-47d8-a6d1-2bf4d5cefa48.1483442200530 SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z EXDATE;VALUE=DATE:20161203 TRANSP:OPAQUE STATUS:CONFIRMED CLASS:PUBLIC DTSTART;VALUE=DATE:20161203 DTEND;VALUE=DATE:20161204 DURATION:P1D SEQUENCE:1 END:VEVENT
As far as I can understand this, there's no reason why it should not be part of the current view.
-- Johan
Hi Johan,
On 7 Mar 2018, at 22:23, Johan Vromans jvromans@squirrel.nl wrote:
Hi Jan,
Thanks for the thinking.
This is what I have been able to find out so far.
When starting up, InfCloud issues an OPTIONS on the calendar and receives a 200 OK, but with an error text body:
The server encountered an internal error or misconfiguration and was unable to complete your request.
(I have no clue why this would fail, the server erro log contains no information. It's a 200 OK after all.)
the response text is not important (it is ignored anyway) so it is OK!
InfCloud then issues a REPORT and receives a list of 79 calendar events.
The missing event is not part of this data.
so it cannot be problem in InfCloud (good news for me, but it not solves your problem)
When I download the calendar ics directly from the DAViCal server (788 events), the missing event is there:
BEGIN:VEVENT CREATED:20170103T111640Z LAST-MODIFIED:20171221T212825Z DTSTAMP:20171221T212825Z UID:a80d59e0-a0a8-47d8-a6d1-2bf4d5cefa48.1483442200530 SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z EXDATE;VALUE=DATE:20161203 TRANSP:OPAQUE STATUS:CONFIRMED CLASS:PUBLIC DTSTART;VALUE=DATE:20161203 DTEND;VALUE=DATE:20161204 DURATION:P1D SEQUENCE:1 END:VEVENT
As far as I can understand this, there's no reason why it should not be part of the current view.
I tested the RRULE value using https://jakubroztocil.github.io/rrule/#rfc-input https://jakubroztocil.github.io/rrule/#rfc-input and it ("FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z") looks OK, but what is confusing for me is the "DTEND;VALUE=DATE:20161204" ... so the question is whether the problem is in your server or in the DTEND value (I'm not sure). Please try to check the RFC and if the DTEND is the problem you can fix it manually, if not then please contact the server developer.
Cheers,
JM
-- Johan
Hi Jan,
On Thu, 8 Mar 2018 12:19:34 +0100, Ján Máté jan.mate@inf-it.com wrote:
When I download the calendar ics directly from the DAViCal server (788 events), the missing event is there:
BEGIN:VEVENT CREATED:20170103T111640Z LAST-MODIFIED:20171221T212825Z DTSTAMP:20171221T212825Z UID:a80d59e0-a0a8-47d8-a6d1-2bf4d5cefa48.1483442200530 SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z EXDATE;VALUE=DATE:20161203 TRANSP:OPAQUE STATUS:CONFIRMED CLASS:PUBLIC DTSTART;VALUE=DATE:20161203 DTEND;VALUE=DATE:20161204 DURATION:P1D SEQUENCE:1 END:VEVENT
I tested the RRULE value using https://jakubroztocil.github.io/rrule/#rfc-input https://jakubroztocil.github.io/rrule/#rfc-input and it ("FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z") looks OK, but what is confusing for me is the "DTEND;VALUE=DATE:20161204" ... so the question is whether the problem is in your server or in the DTEND value (I'm not sure). Please try to check the RFC and if the DTEND is the problem you can fix it manually, if not then please contact the server developer.
Using InfCloud, I created a new event. This is how it looks:
BEGIN:VEVENT CREATED:20180307T162953Z LAST-MODIFIED:20180307T163021Z DTSTAMP:20180307T163021Z UID:iq1kydmv-4iuf-0tpv-lirk-vws61ol5xaee SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30 TRANSP:OPAQUE CLASS:PUBLIC DTSTART;VALUE=DATE:20180307 DTEND;VALUE=DATE:20180308 END:VEVENT
It has the same DTEND value.
(This event *does* show on all clients.)
-- Johan
Hmm,
thanks for the info ... so the question is what's the problem with the original event (why it is processed incorrectly by your server) ...
Cheers,
JM
On 9 Mar 2018, at 20:56, Johan Vromans jvromans@squirrel.nl wrote:
Hi Jan,
On Thu, 8 Mar 2018 12:19:34 +0100, Ján Máté jan.mate@inf-it.com wrote:
When I download the calendar ics directly from the DAViCal server (788 events), the missing event is there:
BEGIN:VEVENT CREATED:20170103T111640Z LAST-MODIFIED:20171221T212825Z DTSTAMP:20171221T212825Z UID:a80d59e0-a0a8-47d8-a6d1-2bf4d5cefa48.1483442200530 SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z EXDATE;VALUE=DATE:20161203 TRANSP:OPAQUE STATUS:CONFIRMED CLASS:PUBLIC DTSTART;VALUE=DATE:20161203 DTEND;VALUE=DATE:20161204 DURATION:P1D SEQUENCE:1 END:VEVENT
I tested the RRULE value using https://jakubroztocil.github.io/rrule/#rfc-input https://jakubroztocil.github.io/rrule/#rfc-input and it ("FREQ=DAILY;INTERVAL=30;UNTIL=20181231T000000Z") looks OK, but what is confusing for me is the "DTEND;VALUE=DATE:20161204" ... so the question is whether the problem is in your server or in the DTEND value (I'm not sure). Please try to check the RFC and if the DTEND is the problem you can fix it manually, if not then please contact the server developer.
Using InfCloud, I created a new event. This is how it looks:
BEGIN:VEVENT CREATED:20180307T162953Z LAST-MODIFIED:20180307T163021Z DTSTAMP:20180307T163021Z UID:iq1kydmv-4iuf-0tpv-lirk-vws61ol5xaee SUMMARY:Inhalers vervangen RRULE:FREQ=DAILY;INTERVAL=30 TRANSP:OPAQUE CLASS:PUBLIC DTSTART;VALUE=DATE:20180307 DTEND;VALUE=DATE:20180308 END:VEVENT
It has the same DTEND value.
(This event *does* show on all clients.)
-- Johan