COLORS : weird upload on davical



  • 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.


  • developer

    @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?



  • 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.



  • 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 ?


  • developer

    @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.



  • 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



  • 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 ?


  • developer

    @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.



  • @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) ?


  • developer

    @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.


Log in to reply
 

Similar topics

  • 1
  • 11
  • 5