Declined events are not marked as ATTENDEE_STATUS_DECLINED



  • Hello,

    Firstly, thank you for developing and maintaining DAVx⁵ and all other apps and libs from Bitfire!

    I have to use Google Calendar for work and I use DAVx⁵ to access calendar events from my phone. It works very well except one detail: when I mark an event as “declined”, it is not marked as such on my phone. It’s a detail but I would prefer not to get reminders when I am not supposed to work 🙂

    To be more precise, my calendar app (Etar) shows my email address in the “NO” section but for the “attending” bit, nothing is checked: not Yes/Maybe/No:

    Screenshot_Etar_20200721-165753_1_1.png

    I quickly looked at Etar’s source code and it seems they look at the “Attendee Status”: https://developer.android.com/reference/android/provider/CalendarContract.Attendees

    From DavX⁵ logs, I can see that the iCal downloaded for the test event I created is properly retrieved:

    PRODID:-//Google Inc//Google Calendar 70.9054//EN
    VERSION:2.0
    CALSCALE:GREGORIAN
    X-WR-CALNAME:MY@EMAIL.ADDRESS
    X-WR-TIMEZONE:Europe/Brussels
    BEGIN:VTIMEZONE
    TZID:Europe/Brussels
    X-LIC-LOCATION:Europe/Brussels
    BEGIN:DAYLIGHT
    TZOFFSETFROM:+0100
    TZOFFSETTO:+0200
    TZNAME:CEST
    DTSTART:19700329T020000
    RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
    END:DAYLIGHT
    BEGIN:STANDARD
    TZOFFSETFROM:+0200
    TZOFFSETTO:+0100
    TZNAME:CET
    DTSTART:19701025T030000
    RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
    END:STANDARD
    END:VTIMEZONE
    BEGIN:VEVENT
    DTSTART;TZID=Europe/Brussels:20200721T164500
    DTEND;TZID=Europe/Brussels:20200721T170000
    DTSTAMP:20200721T144144Z
    ORGANIZER;CN=MY@EMAIL.ADDRESS:mailto:MY@EMAIL.ADDRE
     SS
    UID:0nd7m6abt7p5mn55ijo5j8unat@google.com
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=OT
     HER@EMAIL.ADDRESS;X-NUM-GUESTS=0:mailto:OTHER@EMAIL.ADDRESS
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=DECLINED;CN=MY@EMA
     IL.ADDRESS;X-NUM-GUESTS=0:mailto:MY@EMAIL.ADDRESS
    CREATED:20200721T144137Z
    DESCRIPTION:
    LAST-MODIFIED:20200721T144144Z
    LOCATION:
    SEQUENCE:0
    STATUS:CONFIRMED
    SUMMARY:test5
    TRANSP:OPAQUE
    BEGIN:VALARM
    ACTION:DISPLAY
    DESCRIPTION:This is an event reminder
    TRIGGER:-P0DT0H2M0S
    END:VALARM
    END:VEVENT
    END:VCALENDAR
    

    (I replaced my email addresses and the invited one: I need at least two people to decline an event without cancelling it)

    Later, we can see the event is added to the local calendar but with availability=0: I guess it means ATTENDEE_STATUS_NONE, no?

    2020-07-21 16:42:10 1073 [syncadapter.CalendarSyncManager] Adding 0nd7m6abt7p5mn55ijo5j8unat@google.com.ics to local calendar
    	PARAMETER #0 = Event=[alarms=[BEGIN:VALARM
    ACTION:DISPLAY
    DESCRIPTION:This is an event reminder
    TRIGGER:-PT2M
    END:VALARM
    ], attendees=[ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=OTHER@EMAIL.ADDRESS;X-NUM-GUESTS=0:mailto:OTHER@EMAIL.ADDRESS
    , ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=DECLINED;CN=MY@EMAIL.ADDRESS;X-NUM-GUESTS=0:mailto:MY@EMAIL.ADDRESS
    ], categories=[], classification=null, color=null, description=, dtEnd=DTEND;TZID=Europe/Brussels:20200721T170000, dtStart=DTSTART;TZID=Europe/Brussels:20200721T164500, duration=null, exDates=[], exRules=[], exceptions=[], lastModified=LAST-MODIFIED:20200721T144144Z, location=, opaque=true, organizer=ORGANIZER;CN=MY@EMAIL.ADDRESS:mailto:MY@EMAIL.ADDRESS, rDates=[], rRules=[], recurrenceId=null, status=STATUS:CONFIRMED, summary=test5, unknownProperties=[CREATED:20200721T144137Z
    ], userAgents=[], sequence=0, uid=0nd7m6abt7p5mn55ijo5j8unat@google.com]
    2020-07-21 16:42:10 1073 [AndroidEvent] Built event object
    	PARAMETER #0 = mType: 1, mUri: content://com.android.calendar/events?caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid&caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid, mSelection: null, mExpectedCount: null, mYieldAllowed: false, mValues: organizer=MY@EMAIL.ADDRESS description= allDay=0 accessLevel=3 hasAttendeeData=1 eventLocation= dtend=1595343600000 eventStatus=1 title=test5 eventEndTimezone=Europe/Brussels eventTimezone=Europe/Brussels calendar_id=5 dtstart=1595342700000 availability=0, mValuesBackReferences: null, mSelectionArgsBackReferences: null
    2020-07-21 16:42:10 1073 [AndroidEvent] Built alarm 2 minutes before event
    	PARAMETER #0 = mType: 1, mUri: content://com.android.calendar/reminders?caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid, mSelection: null, mExpectedCount: null, mYieldAllowed: false, mValues: method=1 minutes=2, mValuesBackReferences: null, mSelectionArgsBackReferences: null
    2020-07-21 16:42:10 1073 [AndroidEvent] Built attendee
    	PARAMETER #0 = mType: 1, mUri: content://com.android.calendar/attendees?caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid, mSelection: null, mExpectedCount: null, mYieldAllowed: false, mValues: attendeeEmail=OTHER@EMAIL.ADDRESS attendeeName=OTHER@EMAIL.ADDRESS attendeeType=1 attendeeRelationship=1 attendeeStatus=3, mValuesBackReferences: null, mSelectionArgsBackReferences: null
    2020-07-21 16:42:10 1073 [AndroidEvent] Built attendee
    	PARAMETER #0 = mType: 1, mUri: content://com.android.calendar/attendees?caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid, mSelection: null, mExpectedCount: null, mYieldAllowed: false, mValues: attendeeEmail=MY@EMAIL.ADDRESS attendeeName=MY@EMAIL.ADDRESS attendeeType=1 attendeeRelationship=1 attendeeStatus=2, mValuesBackReferences: null, mSelectionArgsBackReferences: null
    2020-07-21 16:42:10 1073 [AndroidEvent] Built unknown property: CREATED
    

    (again I replaced email addresses)

    Do you think it would be possible to set the attendee status to Accepted / Declined / Tentative by looking at the ATTENDEE list from the iCal file and matching on the email address of the account? Or is it a configuration issue somewhere 🙂

    Have a good day!
    Matt



  • I just quickly looked at the code of ical4android and I see that availability=0 means “Busy” (vs. “Free”), that’s not linked to the the attending status.
    I don’t know exactly what is missing. When looking at the doc for the events (CalendarContract.Events), I don’t what is missing. Maybe SELF_ATTENDEE_STATUS?
    I am really not familiar to this, I trust you for that 🙂


  • developer

    Hello,

    I have tested this with our test server and got a similar result as in your logs, and its working as expected. From your logs:

    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=DECLINED;CN=MY@EMAIL.ADDRESS;X-NUM-GUESTS=0:mailto:MY@EMAIL.ADDRESS

    2020-07-21 16:42:10 1073 [AndroidEvent] Built attendee
    PARAMETER #0 = mType: 1, mUri: content://com.android.calendar/attendees?caller_is_syncadapter=true&account_name=Calendar%20Work&account_type=bitfire.at.davdroid, mSelection: null, mExpectedCount: null, mYieldAllowed: false, mValues: attendeeEmail=MY@EMAIL.ADDRESS attendeeName=MY@EMAIL.ADDRESS attendeeType=1 attendeeRelationship=1 attendeeStatus=2, mValuesBackReferences: null, mSelectionArgsBackReferences: null

    attendeeStatus=2 is ATTENDEE_STATUS_DECLINED. In Etar, such events are greyed out and shown as “Attending? No”. (Assuming that your account name is MY@EMAIL.ADDRESS.)

    Only when there is no ATTENDEE row for the organizer, no value is selected like in your screenshot (which seems correct, because there’s no known status).

    So, please provide exact steps how I can reproduce your problem (we have a mailbox.org test account), and what you would expect and what the actual result is.

    Also, please always provide the DAVx5 debug info, too, because it contains information like the account name, which is important.


  • developer

    Update: I have just found this in your logs:

    account_name=Calendar%20Work

    The account name must be the same as the email address used for scheduling (in your case, MY@EMAIL.ADDRESS). This is shown when creating an account. Otherwise, the Android calendar provider doesn’t know that MY@EMAIL.ADDRESS is you and doesn’t update SELF_ATTENDEE_STATUS, and then you don’t see the status.

    Does it work when you rename the account to MY@EMAIL.ADDRESS?



  • Hi @rfc2822

    Thank you for your quick answer!

    The account name must be the same as the email address used for scheduling (in your case, MY@EMAIL.ADDRESS). This is shown when creating an account. Otherwise, the Android calendar provider doesn’t know that MY@EMAIL.ADDRESS is you and doesn’t update SELF_ATTENDEE_STATUS, and then you don’t see the status.

    My bad, I missed this. In my case, to sync both contacts and the calendar with Google, I had to set two accounts. That’s why I picked two different names. I now see I should have only change the account name for the CardDAV only one.

    (by chance, for the others that would do the same mistake as me, if the name is not an email address, is it not possible to get the email address from somewhere else? Or ask for the email address if it is not picked for the account?)

    I tried to rename my account but I got this error:

    --- BEGIN DEBUG INFO ---
    
    EXCEPTION:
    android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: service.accountName, service.type (code 2067 SQLITE_CONSTRAINT_UNIQUE)
    	at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
    	at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:831)
    	at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:756)
    	at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:66)
    	at androidx.sqlite.db.framework.FrameworkSQLiteStatement.executeUpdateDelete(FrameworkSQLiteStatement.java:1)
    	at at.bitfire.davdroid.model.ServiceDao_Impl.renameAccount(ServiceDao_Impl.java:12)
    	at at.bitfire.davdroid.ui.account.RenameAccountFragment$Model.onAccountRenamed(RenameAccountFragment.kt:7)
    	at at.bitfire.davdroid.ui.account.RenameAccountFragment$Model$renameAccount$1$1.invokeSuspend(RenameAccountFragment.kt:2)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:2)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:15)
    
    SOFTWARE INFORMATION
    * DAVx⁵ 3.2.1.1-ose (at.bitfire.davdroid 302010100) from F-Droid Privileged Extension (org.fdroid.fdroid.privileged)
    * OpenTasks 1.2.4 (org.dmfs.tasks 78500) from F-Droid Privileged Extension (org.fdroid.fdroid.privileged)
    * Contacts Storage 10 (com.android.providers.contacts 29)
    * Calendar Storage 10 (com.android.providers.calendar 29)
    * Contacts 1.7.31 (com.android.contacts 10731)
    * Calendar 6.9.3 (com.simplemobiletools.calendar.pro 176)
    * Etar 1.0.22 (ws.xsoh.etar 24) from F-Droid Privileged Extension (org.fdroid.fdroid.privileged)
    
    CONNECTIVITY (at the moment)
    - [ Transports: WIFI Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps SignalStrength: -54]
    Data saver: disabled
    
    CONFIGURATION
    Power saving disabled: yes
    Notifications (not blocked):
      [group] sync isBlocked=false
        syncProblems: importance=3
        syncIoErrors: importance=1
        syncWarnings: importance=2
      general: importance=3
      debug: importance=4
    Permissions:
      READ_CONTACTS: granted
      WRITE_CONTACTS: granted
      READ_CALENDAR: granted
      WRITE_CALENDAR: granted
      READ_TASKS: granted
      WRITE_TASKS: granted
      ACCESS_COARSE_LOCATION: denied
    System-wide synchronization: automatically
    
    APP SETTINGS
    Distrust system certs: false
    Override system proxy: false
    
    ACCOUNTS
    Account: PERSONAL@EMAIL.ADDRESS
      Address book sync. interval: 1440 min
      Calendar     sync. interval: 120 min
      OpenTasks    sync. interval: 60 min
      WiFi only: false
      getIsSyncable(CalendarContract): 1
      getIsSyncable(OpenTasks): 1
      [CardDAV] Contact group method: GROUP_VCARDS
      [CalDAV] Time range (past days): 90
               Default alarm (min before): null
               Manage calendar colors: true
               Use event colors: false
    Account: Contact Work
      Address book sync. interval: 1440 min
      Calendar     sync. interval: —
      OpenTasks    sync. interval: —
      WiFi only: false
      getIsSyncable(CalendarContract): 0
      getIsSyncable(OpenTasks): 0
      [CardDAV] Contact group method: GROUP_VCARDS
      [CalDAV] Time range (past days): 90
               Default alarm (min before): null
               Manage calendar colors: true
               Use event colors: false
    Account: WORK@EMAIL.ADDRESS
      Address book sync. interval: —
      Calendar     sync. interval: —
      OpenTasks    sync. interval: 240 min
      WiFi only: false
      getIsSyncable(CalendarContract): -1
      getIsSyncable(OpenTasks): 1
      [CardDAV] Contact group method: GROUP_VCARDS
      [CalDAV] Time range (past days): 90
               Default alarm (min before): null
               Manage calendar colors: true
               Use event colors: false
    Address book account: Contacts (PERSONAL@EMAIL.ADDRESS kQ)
      Main account: Account {name=PERSONAL@EMAIL.ADDRESS, type=bitfire.at.davdroid}
      URL: https://<NEXTCLOUD>/remote.php/dav/addressbooks/users/USER/contacts/
      isSyncable(com.android.contacts): 1
      Sync automatically: true
    Address book account: Address Book (Contact Work DA)
      Main account: Account {name=Contact Work, type=bitfire.at.davdroid}
      URL: https://www.googleapis.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/default/
      isSyncable(com.android.contacts): 1
      Sync automatically: true
    
    SQLITE DUMP
    android_metadata
    	|  locale |
    	|  en_US |
    ----------
    service
    	|  id | accountName | type | principal |
    	|  23 | WORK@EMAIL.ADDRESS | carddav | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS |
    	|  24 | WORK@EMAIL.ADDRESS | caldav | <null> |
    	|  25 | PERSONAL@EMAIL.ADDRESS | carddav | https://<NEXTCLOUD>/remote.php/dav/principals/users/USER/ |
    	|  26 | PERSONAL@EMAIL.ADDRESS | caldav | https://<NEXTCLOUD>/remote.php/dav/principals/users/USER/ |
    	|  27 | Contact Work | carddav | https://www.googleapis.com/carddav/v1/principals/WORK@EMAIL.ADDRESS |
    	|  28 | Calendar Work | carddav | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS |
    	|  29 | Calendar Work | caldav | <null> |
    ----------
    sqlite_sequence
    	|  name | seq |
    	|  service | 29 |
    	|  homeset | 30 |
    	|  collection | 71 |
    ----------
    homeset
    	|  id | serviceId | url | privBind | displayName |
    	|  24 | 23 | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/ | 1 | <null> |
    	|  27 | 26 | https://<NEXTCLOUD>/remote.php/dav/calendars/USER/ | 1 | <null> |
    	|  28 | 25 | https://<NEXTCLOUD>/remote.php/dav/addressbooks/users/USER/ | 1 | <null> |
    	|  29 | 27 | https://www.googleapis.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/ | 1 | Homeset |
    	|  30 | 28 | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/ | 1 | Homeset |
    ----------
    collection
    	|  id | serviceId | type | url | privWriteContent | privUnbind | forceReadOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | supportsVJOURNAL | source | sync |
    	|  57 | 23 | ADDRESS_BOOK | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/default/ | 1 | 1 | 0 | Address Book | My Contacts | <null> | <null> | <null> | <null> | <null> | <null> | 1 |
    	|  58 | 24 | CALENDAR | https://www.google.com/calendar/dav/WORK@EMAIL.ADDRESS/events/ | 1 | 1 | 0 | WORK@EMAIL.ADDRESS | WORK@EMAIL.ADDRESS | -21178 | BEGIN:VCALENDAR<LF>PRODID:-//Google Inc//Google Calendar 70.9054//EN<LF>VERSION:2.0<LF>CALSCALE:GREGORIAN<LF>X-WR-CALNAME:WORK@EMAIL.ADDRESS<LF>X-WR-TIMEZONE:Europe/Brussels<LF>BEGIN:VTIMEZONE<LF>TZID:Europe/Brussels<LF>X-LIC-LOCATION:Europe/Brussels<LF>BEGIN:DAYLIGHT<LF>TZOFFSETFROM:+0100<LF>TZOFFSETTO:+0200<LF>TZNAME:CEST<LF>DTSTART:19700329T020000<LF>RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU<LF>END:DAYLIGHT<LF>BEGIN:STANDARD<LF>TZOFFSETFROM:+0200<LF>TZOFFSETTO:+0100<LF>TZNAME:CET<LF>DTSTART:19701025T030000<LF>RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU<LF>END:STANDARD<LF>END:VTIMEZONE<LF>END:VCALENDAR<LF> | 1 | 0 | <null> | <null> | 1 |
    	|  64 | 26 | CALENDAR | https://<NEXTCLOUD>/remote.php/dav/calendars/USER/personal/ | 1 | 1 | 0 | Personal | <null> | -22784 | <null> | 1 | 1 | 0 | <null> | 1 |
    	|  65 | 26 | CALENDAR | https://<NEXTCLOUD>/remote.php/dav/calendars/USER/contact_birthdays/ | 0 | 0 | 0 | Contact birthdays | <null> | -54 | <null> | 1 | 0 | 0 | <null> | 1 |
    	|  66 | 26 | CALENDAR | https://<NEXTCLOUD>/remote.php/dav/calendars/USER/SHARED-USER/ | 1 | 1 | 0 | SHARED-USER | <null> | -16757063 | <null> | 1 | 1 | 0 | <null> | 1 |
    	|  67 | 26 | CALENDAR | https://<NEXTCLOUD>/remote.php/dav/calendars/USER/bins/ | 1 | 1 | 0 | Bins | <null> | -13513604 | <null> | 1 | 1 | 0 | <null> | 1 |
    	|  68 | 25 | ADDRESS_BOOK | https://<NEXTCLOUD>/remote.php/dav/addressbooks/users/USER/contacts/ | 1 | 1 | 0 | Contacts | <null> | <null> | <null> | <null> | <null> | <null> | <null> | 1 |
    	|  69 | 27 | ADDRESS_BOOK | https://www.googleapis.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/default/ | 1 | 1 | 0 | Address Book | My Contacts | <null> | <null> | <null> | <null> | <null> | <null> | 1 |
    	|  70 | 29 | CALENDAR | https://www.google.com/calendar/dav/WORK@EMAIL.ADDRESS/events/ | 1 | 1 | 0 | WORK@EMAIL.ADDRESS | WORK@EMAIL.ADDRESS | -21178 | BEGIN:VCALENDAR<LF>PRODID:-//Google Inc//Google Calendar 70.9054//EN<LF>VERSION:2.0<LF>CALSCALE:GREGORIAN<LF>X-WR-CALNAME:WORK@EMAIL.ADDRESS<LF>X-WR-TIMEZONE:Europe/Brussels<LF>BEGIN:VTIMEZONE<LF>TZID:Europe/Brussels<LF>X-LIC-LOCATION:Europe/Brussels<LF>BEGIN:DAYLIGHT<LF>TZOFFSETFROM:+0100<LF>TZOFFSETTO:+0200<LF>TZNAME:CEST<LF>DTSTART:19700329T020000<LF>RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU<LF>END:DAYLIGHT<LF>BEGIN:STANDARD<LF>TZOFFSETFROM:+0200<LF>TZOFFSETTO:+0100<LF>TZNAME:CET<LF>DTSTART:19701025T030000<LF>RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU<LF>END:STANDARD<LF>END:VTIMEZONE<LF>END:VCALENDAR<LF> | 1 | 0 | 0 | <null> | 1 |
    	|  71 | 28 | ADDRESS_BOOK | https://www.google.com/carddav/v1/principals/WORK@EMAIL.ADDRESS/lists/default/ | 1 | 1 | 0 | Address Book | My Contacts | <null> | <null> | <null> | <null> | <null> | <null> | 0 |
    ----------
    room_master_table
    	|  id | identity_hash |
    	|  42 | <HASH> |
    ----------
    
    SYSTEM INFORMATION
    Android version: 10 (QQ3A.200705.002)
    Device: DEVICE
    
    --- END DEBUG INFO ---
    

    (with some hidden info: now MY@EMAIL.ADDRESS is WORK@EMAIL.ADDRESS).

    It seems I had a previous account with this email account in the DB. Do you think I can continue or should I wipe data? I think I will have to, I don’t see any events related to my work calendar.

    I have some meetings, I will try this afternoon.

    Thanks for the help!



  • Hi @rfc2822

    I just deleted the work calendar account – it cleaned the old previous entries in the DB – and recreated it.

    Indeed, it seems working fine when using the email address as account name! I created my account a while ago and I certainly missed the info about the account name that has to be the email address 🙂

    I wanted to check the debug info but it seems that when you turn the debug on, export them in a file, turn off and repeat that, from the second time, this no longer works: the exported file is empty while the first export was OK. Do you want me to open a new topic for this small issue?

    Have a good day,
    Matt


  • developer

    My bad, I missed this. In my case, to sync both contacts and the calendar with Google, I had to set two accounts. That’s why I picked two different names. I now see I should have only change the account name for the CardDAV only one.

    Yes, at the moment, this is the best solution, but:

    (by chance, for the others that would do the same mistake as me, if the name is not an email address, is it not possible to get the email address from somewhere else? Or ask for the email address if it is not picked for the account?)

    Indeed, it’s technically possible to tell the Calendar API a different email address than the account name (default is account name). We’re planning to make an “email address” CalDAV account setting in DAVx5 for this purpose. However, at the moment, the account name will be used as email address.

    I tried to rename my account but I got this error:
    android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: service.accountName, service.type (code 2067 SQLITE_CONSTRAINT_UNIQUE)

    You have renamed the account to a name that’s already existing. DAVx5 didn’t handle this error properly, but it should now be fixed (show an error message instead of crashing).

    Indeed, it seems working fine when using the email address as account name!

    Perfect, so I’ll set this as solved.

    I wanted to check the debug info but it seems that when you turn the debug on, export them in a file, turn off and repeat that, from the second time, this no longer works: the exported file is empty while the first export was OK. Do you want me to open a new topic for this small issue?

    Absolutely. We hear this from time to time, and I have often tried to reproduce it, but never succeeded. If you find a way to reproduce this, please let us know in a new thread.



  • @rfc2822 said in Declined events are not marked as ATTENDEE_STATUS_DECLINED:

    Indeed, it’s technically possible to tell the Calendar API a different email address than the account name (default is account name). We’re planning to make an “email address” CalDAV account setting in DAVx5 for this purpose. However, at the moment, the account name will be used as email address.

    That would be great, thanks for planning that!

    You have renamed the account to a name that’s already existing. DAVx5 didn’t handle this error properly, but it should now be fixed (show an error message instead of crashing).

    It is likely possible these entries 23 and 24 in the service DB came from an old backup that failed. I didn’t have an account listed in the app with that name already.
    Thank you for having improved that!

    Perfect, so I’ll set this as solved.

    👍

    Absolutely. We hear this from time to time, and I have often tried to reproduce it, but never succeeded. If you find a way to reproduce this, please let us know in a new thread.

    I can create a new topic, no problem

    Thanks for you help!



Similar topics

  • 5
  • 6
  • 5