Last Comment Bug 465853 - Events with UID that contains '/' are not displayed
: Events with UID that contains '/' are not displayed
Product: Calendar
Classification: Client Software
Component: Provider: CalDAV (show other bugs)
: unspecified
: All All
-- normal with 1 vote (vote)
: ---
Assigned To: Philipp Kewisch [:Fallen]
: 606462 995740 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2008-11-19 16:41 PST by Bernard Desruisseaux
Modified: 2014-10-01 02:04 PDT (History)
7 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---

messages in error console when loading event with and without slashes in UID from davical server (7.00 KB, text/plain)
2012-10-01 07:15 PDT, Alois Schloegl
no flags Details
Always Encode Paths - v1 (11.17 KB, patch)
2013-03-14 07:47 PDT, Philipp Kewisch [:Fallen]
no flags Details | Diff | Splinter Review

Description User image Bernard Desruisseaux 2008-11-19 16:41:11 PST
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20081029 Firefox/
Build Identifier: Lightning 0.9

While testing Lightning's CalDAV support with Google Calendar I noticed that a bunch of meetings weren't displayed in Lightning. Turns out the meetings that were not displayed had UID values that looks like:


Most likely the '/' characters are causing issues here.

I can confirm that Google Calendar is actually returning those calendar components to Lightning and is properly percent encoding the '/' in their URL.

  <D:response>    <D:href>/calendar/dav/</D:href>
      <D:status>HTTP/1.1 200 OK</D:status>

Reproducible: Always

Steps to Reproduce:
1. Create event with a UID value that contains a '/' in a CalDAV calendar collection.

Actual Results:  
Mozilla Lightning doesn't display the event.

Expected Results:  
Event should be displayed.

I've lost track of how these events were imported into the calendar.
I'm pretty sure the events originally had UID such as:


and that Google must have changed them automatically to


It's possible that I actually moved those events from one calendar to another at some point and that would be when Google changes their UID... Don't know for sure. Anyway, only Google would know and care about this...
Comment 1 User image Philipp Kewisch [:Fallen] 2008-11-26 03:53:45 PST
I'm not quite sure this is the reason, but I believe it may have to do with the way we separate the id from the rest of the url.

Needs investigation...
Comment 2 User image Philipp Kewisch [:Fallen] 2009-01-20 07:14:29 PST
Bernard, is it possible that you could invite me to the event with the strange id (kewisch.moz at ?

Otherwise, it would be nice if you could provide some more debug output so I can find out exactly where its failing...
Comment 3 User image Bernard Desruisseaux 2009-01-20 12:48:39 PST

I just added you as a "guest" to one of those events.
Comment 4 User image Philipp Kewisch [:Fallen] 2009-01-21 01:12:41 PST
Thanks Bernard.

Some debugging shows that while the event is shown during the getetag query, it is not found on the server when doing the calendar-multiget. The same happens on a simple get.

I've extended to track the issue on the server side.
Comment 5 User image Daniel Boelzle [:dbo] 2009-01-27 01:23:15 PST
I think this needs to be tracked for 1.0, at least relnoted.
Comment 6 User image Philipp Kewisch [:Fallen] 2009-01-27 11:40:14 PST
This is a Google Server issue against which we can't do a thing. I'm fine with relnoting though.
Comment 7 User image Alois Schloegl 2012-09-14 00:31:39 PDT
I see also the phenomenon that VEVENT's with an UID containing a slash "/" are not displayed. However, I do not use any Google calendar, but the ical data is experted from phpScheduleIt and imported in DavICal server. 

Events with an UID like this are not displayed: 

After removing the slashes, the events are displayed. 

I've also checked with RFC 2445 and 5545, and the forward slash ASCII(x2f) is part of the TSAFE-CHAR set. 

Therefore, I'm pretty sure this is not google server issue, but an issue of the mozilla calendar client. 

For testing, I've been using Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20120724 Iceowl/1.0b1 Icedove/3.0.11
Comment 8 User image Alois Schloegl 2012-09-14 00:55:25 PDT
Another observation is, that this bug is only triggered when importing the calender using the format "CalDav"; when using the option "iCalendar (ICS)", there is no problem and all events are properly shown. 

Perhaps this can help fixing the problem.
Comment 9 User image Alois Schloegl 2012-09-16 23:10:18 PDT
(In reply to Alois Schloegl from comment #7)

.. of course, this does also not work, 

> UID:503ca6c43ab87&

It should read like this:  
Comment 10 User image Philipp Kewisch [:Fallen] 2012-09-29 09:54:29 PDT
Its been a while since I checked this, but I think it had to do with how Google responds to certain calendar queries that contain the UID.

Could you enable calendar.debug.log and calendar.debug.log.verbose in the advanced config editor, do an update (preferably on a new calendar that only has this one event, otherwise you will get a lot of logging) and post the log messages here? The ones that contain the UID should be enough.
Comment 11 User image Alois Schloegl 2012-10-01 07:15:42 PDT
Created attachment 666534 [details]
messages in error console when loading event with and without slashes in UID from davical server

The attachment contains the log messages from the console. It contains two parts, the first part are the messages when a new calendar in davical was imported containing a single event with an UID containing slashes, namely:    


The second part contains the log, when the same event but with 


was important into davical, and then the calendar was reloaded. 
Only after the second step was performed, the event became visible in the client. 

Of course, the problem might be also on the server side (we are using davical from debian squeeze). Either the mozilla client or davical does not handle forward slashes in a correct way.
Comment 12 User image Philipp Kewisch [:Fallen] 2012-10-01 09:02:43 PDT
Alois, it looks to me like the event is not even being returned in the XML, this means it might be a server issue. I think this deserves a new bug, possibly with davical.
Comment 13 User image Philipp Kewisch [:Fallen] 2013-03-14 07:47:10 PDT
Created attachment 724908 [details] [diff] [review]
Always Encode Paths - v1

Not requesting review for this yet, since there is more testing to do. Specifically:

* On a Davmail Server, where the item path contains the title, does adding an event with an "ΓΌ" in its name still work (compare bug 575782).

* Does upgrading with a cached calendar that saves the location path decoded work, i.e is it still possible to: change events client side, change events serverside then update, ...

* Any other regressions with different caldav servers?
Comment 14 User image Philipp Kewisch [:Fallen] 2013-04-02 01:22:03 PDT
Alois, can you give this patch a test run?
Comment 15 User image Alois Schloegl 2013-05-12 23:33:38 PDT
I'm unable to comment on this patch. Sorry.
Comment 16 User image Philipp Kewisch [:Fallen] 2014-09-29 08:09:21 PDT
*** Bug 606462 has been marked as a duplicate of this bug. ***
Comment 17 User image Philipp Kewisch [:Fallen] 2014-10-01 02:04:34 PDT
*** Bug 995740 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.