COLORS : weird upload on davical

0

Hi,

I'm testing the new per event COLOR tag. I created a new server ressource with only calendar (no tasks), populated by outlook. So every event has a COLOR value, set from the category color.
I have 10 categories, here are the colors as set on the davical server :
COLOR:blue\r
COLOR:darkolivegreen\r
COLOR:darkorange\r
COLOR:darkred\r
COLOR:gray\r
COLOR:green\r
COLOR:maroon\r
COLOR:palevioletred\r
COLOR:red\r
COLOR:yellow\r

When I sync from server with davdroid, all is fine, the colors are good and displayed in any calendar app (I use mostly Pocket Informant and Pure Grid Widget, but tested with others)

Now I created a new appointmend (copied from another in Informant). Looks fine in any calendar app, with the right color (BLUE).
But if I sync it on my server I get a weird event.

Here is the original one :
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ddaysoftware.com//NONSGML DDay.iCal 1.0//EN
BEGIN:VTIMEZONE
TZID:Romance Standard Time
BEGIN:STANDARD
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYHOUR=3;BYMINUTE=0;BYMONTH=10
TZNAME:Paris, Madrid
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYHOUR=2;BYMINUTE=0;BYMONTH=3
TZNAME:Paris, Madrid (heure d’été)
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
CATEGORIES:Entreprise
CLASS:PRIVATE
COLOR:blue
DTEND;TZID=Romance Standard Time:20120905T213000
DTSTAMP:20170913T074816Z
DTSTART;TZID=Romance Standard Time:20120905T193000
PRIORITY:5
SEQUENCE:0
SUMMARY:Repet
TRANSP:OPAQUE
UID:8ec96cfb-2685-4681-93d1-da159f5871c1
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
END:VEVENT
END:VCALENDAR

Here is the copied one, sent on the server :
BEGIN:VCALENDAR
VERSION:2.0
PRODID:+//IDN bitfire.at//DAVdroid/1.7.2-ose ical4j/2.x
BEGIN:VEVENT
DTSTAMP:20170913T082648Z
UID:62048b20-c048-40c5-9cd0-c7725f6b4b39
SUMMARY:Repet
DTSTART;TZID=Europe/Paris:20170913T203000
DTEND;TZID=Europe/Paris:20170913T223000
CLASS:PUBLIC
END:VEVENT
BEGIN:VTIMEZONE
TZID:Europe/Paris
TZURL:http://tzurl.org/zoneinfo/Europe/Paris
X-LIC-LOCATION:Europe/Paris
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+000921
TZOFFSETTO:+000921
TZNAME:PMT
DTSTART:18910315T010100
RDATE:18910315T010100
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+000921
TZOFFSETTO:+0000
TZNAME:WET
DTSTART:19110311T010100
RDATE:19110311T010100
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:WEST
DTSTART:19160615T000000
RDATE:19160615T000000
RDATE:19170325T000000
RDATE:19180310T000000
RDATE:19190302T000000
RDATE:19200215T000000
RDATE:19210315T000000
RDATE:19220326T000000
RDATE:19230527T000000
RDATE:19240330T000000
RDATE:19250405T000000
RDATE:19260418T000000
RDATE:19270410T000000
RDATE:19280415T000000
RDATE:19290421T000000
RDATE:19300413T000000
RDATE:19310419T000000
RDATE:19320403T000000
RDATE:19330326T000000
RDATE:19340408T000000
RDATE:19350331T000000
RDATE:19360419T000000
RDATE:19370404T000000
RDATE:19380327T000000
RDATE:19390416T000000
RDATE:19400225T030000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:WET
DTSTART:19161002T010000
RDATE:19161002T010000
RDATE:19171008T010000
RDATE:19181007T010000
RDATE:19191006T010000
RDATE:19201024T010000
RDATE:19211026T010000
RDATE:19221008T010000
RDATE:19231007T010000
RDATE:19241005T010000
RDATE:19251004T010000
RDATE:19261003T010000
RDATE:19271002T010000
RDATE:19281007T010000
RDATE:19291006T010000
RDATE:19301005T010000
RDATE:19311004T010000
RDATE:19321002T010000
RDATE:19331008T010000
RDATE:19341007T010000
RDATE:19351006T010000
RDATE:19361004T010000
RDATE:19371003T010000
RDATE:19381002T010000
RDATE:19391119T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19400614T230000
RDATE:19400614T230000
RDATE:19430329T020000
RDATE:19440403T020000
RDATE:19760328T010000
RDATE:19770403T020000
RDATE:19780402T020000
RDATE:19790401T020000
RDATE:19800406T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19421102T030000
RDATE:19421102T030000
RDATE:19431004T030000
RDATE:19450916T030000
RDATE:19760926T010000
RDATE:19770925T030000
RDATE:19781001T030000
RDATE:19790930T030000
RDATE:19800928T030000
RDATE:19810927T030000
RDATE:19820926T030000
RDATE:19830925T030000
RDATE:19840930T030000
RDATE:19850929T030000
RDATE:19860928T030000
RDATE:19870927T030000
RDATE:19880925T030000
RDATE:19890924T030000
RDATE:19900930T030000
RDATE:19910929T030000
RDATE:19920927T030000
RDATE:19930926T030000
RDATE:19940925T030000
RDATE:19950924T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:WEMT
DTSTART:19440825T000000
RDATE:19440825T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:WEST
DTSTART:19441008T020000
RDATE:19441008T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:WEMT
DTSTART:19450402T020000
RDATE:19450402T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19770101T000000
RDATE:19770101T000000
END:STANDARD
END:VTIMEZONE
END:VCALENDAR

Same happens if I create an appointment from scratch.

0
  1. Seems like you didn't enable COLOR in DAVdroid account settings.
  2. What do you mean by "weird"?
  3. Please provide debug info as described in [READ BEFORE POSTING] What's required to diagnose a problem.

Temporal relations are not necessarily causal relations.

0

1 - Yes it is set. This is the last entry in the parameters for the account. Moreover, I see the colors on all events downloaded from the server.
2 - Well, what are all those dates starting from 1891, all the RDATE for a single appointment without recurring nor note ? It's huge compared to the copied event from Outlook and I don't see the COLOR field neither.
3 - debug info : https://paste.fedoraproject.org/paste/vGCUxlIJSPm-95YdRpARjQ# (address of the server is private as I connect through a VPN to it)
log file is big (13MB), so it's zipped and uploaded here : http://dl.free.fr/k84DcB7yH

It's the upload of one event created in Informant. No COLOR tag on the server.

0

@Mister_Slowhand

  1. This is not related to COLOR and not "weird". It's the VTIMEZONE of the Olson DB, see https://github.com/ical4j/ical4j/blob/develop/src/main/resources/zoneinfo/Europe/Paris.ics

Regarding the color: this is strange, because it works here (I just added some color to an event here). Which calendar app did you use? DAVdroid had seen the event as Event=[alarms=[], attendees=[], color=null, description=null, dtEnd=DTEND;TZID=Europe/Paris:20170920T143000, dtStart=DTSTART;TZID=Europe/Paris:20170920T140000, duration=null, exDates=[], exRule=null, exceptions=[], forPublic=true, lastModified=null, location=null, opaque=true, organizer=null, rDates=[], rRule=null, recurrenceId=null, status=null, summary=Test davdroid, unknownProperties=[], sequence=0, uid=ee29858f-450a-4cf2-96ed-9cff5f0019ec, shadow$_klass_=class at.bitfire.ical4android.Event, shadow$_monitor_=0], i.e. without color.

Have you tried to unselect the whole calendar in DAVdroid, sync, then select it again, sync again, then change the color and sync again? Maybe there are some migration artifacts?

Temporal relations are not necessarily causal relations.

0

I use the WebIs Informant calendar app. It can display and set a color, any color.
The color I chose is displayed in other calendards (Pure Grid Widget, Agenda wear...).

The server side ressource has been created this morning and populated with Outlook calendar. Device side, I added the sync to this "events" ressource right after. Downloaded all and got correct colours.
I tried what you said and still no color on the server.
Once the new event is synced, if I change the color (on outlook), the Android calendar gets the new color. Works one way.

0

I installed Digical to test.
It sees the right color when opening the calendar. But if I set the color to another, Informant sees the new color and the server gets the COLOR value set ?!
So there's something in the calendar base that sets the color right, that Informant uses, but you don't see it ?

0

@mister_slowhand Do you have adb installed? You can check what's really set by the calendar with adb shell content query --uri content://com.android.calendar/events, see https://davdroid.bitfire.at/faq/entry/how-to-debug/

Would be interesting how the event looks like when the color is set by WebIs Informant calendar app.

Temporal relations are not necessarily causal relations.

0

Yes, I do, I'll try, but having over 8000 events in my calendar, I'll need to add the where clause !

Edit : much easier than I thought !
Here is the event just after setting it in Informant :
Row: 0 sync_data10=NULL, cal_sync6=NULL, rrule=NULL, sync_data6=NULL, cal_sync8=NULL, eventTimezone=Europe/Paris, hasAttendeeData=0, _sync_id=NULL, customAppPackage=NULL, originalInstanceTime=NULL, sync_data2=NULL, allowedReminders=1, uid2445=NULL, calendar_timezone=NULL, dirty=1, originalAllDay=NULL, cal_sync10=NULL, exrule=NULL, calendar_color=-7617718, cal_sync3=NULL, lastDate=1505921400000, canOrganizerRespond=1, guestsCanSeeGuests=1, rdate=NULL, account_type=bitfire.at.davdroid, eventEndTimezone=NULL, selfAttendeeStatus=0, cal_sync2=NULL, mutators=net.webis.pi3, exdate=NULL, hasExtendedProperties=0, eventColor_index=NULL, organizer=marc, calendar_color_index=NULL, sync_data9=NULL, cal_sync5=NULL, eventColor=-205, cal_sync4=NULL, availability=0, dtstart=1505919600000, ownerAccount=marc, lastSynced=0, duration=NULL, accessLevel=3, maxReminders=5, displayColor=-205, allDay=0, eventStatus=NULL, dtend=1505921400000, sync_data3=NULL, sync_data4=NULL, original_id=NULL, _id=23141, guestsCanModify=0, customAppUri=NULL, calendar_access_level=700, calendar_displayName=Events, sync_data5=NULL, guestsCanInviteOthers=1, sync_data8=NULL, cal_sync9=NULL, original_sync_id=NULL, cal_sync1="000d78db4538fd59b8481e7ac80e584e", cal_sync7=NULL, canModifyTimeZone=1, visible=1, allowedAttendeeTypes=2,1,3, sync_data1=NULL, allowedAvailability=2,1,0, description=NULL, title=Azerty, calendar_id=5, sync_data7=NULL, deleted=0, eventLocation=NULL, account_name=marc, hasAlarm=0, isOrganizer=1

And now, right after changing it in Digical :
Row: 0 sync_data10=NULL, cal_sync6=NULL, rrule=NULL, sync_data6=NULL, cal_sync8=NULL, eventTimezone=Europe/Paris, hasAttendeeData=0, _sync_id=NULL, customAppPackage=NULL, originalInstanceTime=NULL, sync_data2=NULL, allowedReminders=1, uid2445=NULL, calendar_timezone=NULL, dirty=1, originalAllDay=NULL, cal_sync10=NULL, exrule=NULL, calendar_color=-7617718, cal_sync3=NULL, lastDate=1505921400000, canOrganizerRespond=1, guestsCanSeeGuests=1, rdate=NULL, account_type=bitfire.at.davdroid, eventEndTimezone=Europe/Paris, selfAttendeeStatus=0, cal_sync2=NULL, mutators=com.digibites.calendar, exdate=NULL, hasExtendedProperties=0, eventColor_index=brown, organizer=marc, calendar_color_index=NULL, sync_data9=NULL, cal_sync5=NULL, eventColor=-5952982, cal_sync4=NULL, availability=0, dtstart=1505919600000, ownerAccount=marc, lastSynced=0, duration=NULL, accessLevel=3, maxReminders=5, displayColor=-5952982, allDay=0, eventStatus=0, dtend=1505921400000, sync_data3=NULL, sync_data4=NULL, original_id=NULL, _id=23141, guestsCanModify=0, customAppUri=NULL, calendar_access_level=700, calendar_displayName=Events, sync_data5=NULL, guestsCanInviteOthers=1, sync_data8=NULL, cal_sync9=NULL, original_sync_id=NULL, cal_sync1="000d78db4538fd59b8481e7ac80e584e", cal_sync7=NULL, canModifyTimeZone=1, visible=1, allowedAttendeeTypes=2,1,3, sync_data1=NULL, allowedAvailability=2,1,0, description=, title=Azerty, calendar_id=5, sync_data7=NULL, deleted=0, eventLocation=, account_name=marc, hasAlarm=0, isOrganizer=1

0

Does it make any sense to you ? I can only see 3 fileds changing, only one seems to be mandatory for event color ?

I have another question. Made some changes to the Davical server so that on events, COLOR and CATEGORIES tags are updated on insert/update (Android doesn't handle CATEGORIES, Thunderbird doesn't sync COLOR...). As a side effect, I now also have both CATEGORIES and COLOR set for VTODO. But OpenTask doesn't seem to see that. Is it because of the application, because the storage doesn't have a color field or because you don't handle that for tasks ?

0

@mister_slowhand said in COLORS : weird upload on davical:

eventColor_index=brown

Looks correct. I will test with Informant as soon as I find some time.

I have another question. Made some changes to the Davical server so that on events, COLOR and CATEGORIES tags are updated on insert/update (Android doesn't handle CATEGORIES, Thunderbird doesn't sync COLOR...). As a side effect, I now also have both CATEGORIES and COLOR set for VTODO. But OpenTask doesn't seem to see that. Is it because of the application, because the storage doesn't have a color field or because you don't handle that for tasks ?

I'm not sure that I understand what you mean. Please create a separate thread if this is not related to COLOR.

Temporal relations are not necessarily causal relations.

0

@rfc2822 said in COLORS : weird upload on davical:

@mister_slowhand said in COLORS : weird upload on davical:

eventColor_index=brown

Looks correct. I will test with Informant as soon as I find some time.

The eventColor_index value is set after modify by Digical. Informant sets only eventColor and displayColor, the former looks like the only needed to set a specific color for the event.

I'm not sure that I understand what you mean. Please create a separate thread if this is not related to COLOR.

It's COLOR, but for VTODO, not only VEVENT. Do you handle this while syncing tasks (VTODO) or is it only for calendar (VEVENT) ?

0

@mister_slowhand said in COLORS : weird upload on davical:

The eventColor_index value is set after modify by Digical. Informant sets only eventColor and displayColor, the former looks like the only needed to set a specific color for the event.

CalDAV only supports indexed colors. According to https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns.html#EVENT_COLOR, EVENT_COLOR should only by updated by sync adapters and not regular apps like Informant. Instead, EVENT_COLOR_KEY should be used, which then causes EVENT_COLOR to be updated automatically and DAVdroid to recognize the color.

Can you please report that to Informant support and provide some kind of reference here?

It's COLOR, but for VTODO, not only VEVENT. Do you handle this while syncing tasks (VTODO) or is it only for calendar (VEVENT) ?

As far as I know, OpenTasks does not support per-task colors.

Temporal relations are not necessarily causal relations.

Log in to reply

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.