@rfc2822 Thank you, this was actually the solution! 😄 After enabling the android calendar, synchronisation works as it should.
InvalidCalendarException: Couldn't parse iCalendar object
-
I’ve got the following error when trying to sync calendar events from SOGo (v4.0.8):
(I’ve redacted the user and domain)
--- BEGIN DEBUG INFO --- SYNCHRONIZATION INFO Account name: user@example.com Authority: com.android.calendar REMOTE RESOURCE: https://example.com/SOGo/dav/user@example.com/Calendar/personal/5B9D-5DBEB400-55-15F54A60.ics EXCEPTION: at.bitfire.ical4android.InvalidCalendarException: Couldn't parse iCalendar object at at.bitfire.ical4android.Event$Companion.fromReader(Event.kt:81) at at.bitfire.ical4android.Event$Companion.fromReader$default(Event.kt:73) at at.bitfire.davdroid.syncadapter.CalendarSyncManager.processVEvent(CalendarSyncManager.kt:160) at at.bitfire.davdroid.syncadapter.CalendarSyncManager.access$processVEvent(CalendarSyncManager.kt:42) at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1.invoke(CalendarSyncManager.kt:124) at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1$1.invoke(CalendarSyncManager.kt:42) at at.bitfire.dav4jvm.DavResource.get(DavResource.kt:211) at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1.invoke(CalendarSyncManager.kt:118) at at.bitfire.davdroid.syncadapter.CalendarSyncManager$downloadRemote$1.invoke(CalendarSyncManager.kt:42) at at.bitfire.davdroid.syncadapter.SyncManager.useRemote(SyncManager.kt:810) at at.bitfire.davdroid.syncadapter.CalendarSyncManager.downloadRemote(CalendarSyncManager.kt:117) at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$1.run(SyncManager.kt:452) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:459) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:764) Caused by: net.fortuna.ical4j.data.ParserException: Error at line 13:Expected [-3], read [58] at net.fortuna.ical4j.data.CalendarParserImpl.assertToken(CalendarParserImpl.java:462) at net.fortuna.ical4j.data.CalendarParserImpl.access$700(CalendarParserImpl.java:56) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterParser.parse(CalendarParserImpl.java:328) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterParser.access$1800(CalendarParserImpl.java:322) at net.fortuna.ical4j.data.CalendarParserImpl$ParameterListParser.parse(CalendarParserImpl.java:310) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.parse(CalendarParserImpl.java:247) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.access$1100(CalendarParserImpl.java:229) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:210) at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.parse(CalendarParserImpl.java:422) at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.access$900(CalendarParserImpl.java:406) at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:208) at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendar(CalendarParserImpl.java:115) at net.fortuna.ical4j.data.CalendarParserImpl.parseCalendarList(CalendarParserImpl.java:180) at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:149) at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:198) at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:178) at at.bitfire.ical4android.Event$Companion.fromReader(Event.kt:79) ... 16 more SOFTWARE INFORMATION * at.bitfire.davdroid 2.6-ose (308) from com.google.android.packageinstaller * com.samsung.android.providers.contacts 10.1.22 (1012203100) * com.android.providers.calendar 10.0.00.14 (1000000014) * com.samsung.android.contacts 10.2.02.9 (1020200009) * com.samsung.android.calendar 10.5.06.1 (1050600001) CONNECTIVITY (at the moment) - [ Transports: WIFI Capabilities: WIFI_P2P&NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND&NOT_SUSPENDED Unwanted: LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps] - [ Transports: WIFI Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED Unwanted: LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps SignalStrength: -61] CONFIGURATION Power saving disabled: yes android.permission.READ_CONTACTS: granted android.permission.WRITE_CONTACTS: granted android.permission.READ_CALENDAR: granted android.permission.WRITE_CALENDAR: granted org.dmfs.permission.READ_TASKS: denied org.dmfs.permission.WRITE_TASKS: denied android.permission.ACCESS_COARSE_LOCATION: denied System-wide synchronization: automatically Account: user@example.com Address book sync. interval: 15 min Calendar sync. interval: 15 min OpenTasks sync. interval: — WiFi only: false [CardDAV] Contact group method: GROUP_VCARDS [CalDAV] Time range (past days): null Manage calendar colors: false Use event colors: false Address book account: Personal Address Book (user@example.com 5g) Main account: Account {name=user@example.com, type=bitfire.at.davdroid} URL: https://example.com/SOGo/dav/user@example.com/Contacts/personal/ Sync automatically: true SQLITE DUMP android_metadata | locale | | en_US | ---------- room_master_table | id | identity_hash | | 42 | a7554d1ebc5ecfe0c7aefe271485d63c | ---------- service | id | accountName | type | principal | | 1 | user@example.com | carddav | https://example.com/SOGo/dav/user@example.com | | 2 | user@example.com | caldav | https://example.com/SOGo/dav/user@example.com | ---------- sqlite_sequence | name | seq | | service | 2 | | collection | 3 | | homeset | 2 | ---------- homeset | id | serviceId | url | privBind | displayName | | 1 | 2 | https://example.com/SOGo/dav/user@example.com/Calendar/ | 1 | Calendar | | 2 | 1 | https://example.com/SOGo/dav/user@example.com/Contacts/ | 1 | Contacts | ---------- collection | id | serviceId | type | url | privWriteContent | privUnbind | forceReadOnly | displayName | description | color | timezone | supportsVEVENT | supportsVTODO | supportsVJOURNAL | source | sync | | 1 | 2 | CALENDAR | https://example.com/SOGo/dav/user@example.com/Calendar/personal/ | 1 | 1 | 0 | Personal Calendar | <null> | -5592406 | <null> | 1 | 1 | 0 | <null> | 1 | | 2 | 1 | ADDRESS_BOOK | https://example.com/SOGo/dav/user@example.com/Contacts/personal/ | 1 | 1 | 0 | Personal Address Book | <null> | <null> | <null> | <null> | <null> | <null> | <null> | 1 | | 3 | 1 | ADDRESS_BOOK | https://example.com/SOGo/dav/user@example.com/Contacts/directory/ | 1 | 1 | 0 | directory | <null> | <null> | <null> | <null> | <null> | <null> | <null> | 0 | ---------- SYSTEM INFORMATION Android version: 9 (PPR1.180610.011.G970FXXS3ASJG) Device: samsung SM-G970F (beyond0) --- END DEBUG INFO ---
The ics content is the following:
BEGIN:VCALENDAR PRODID:-//Inverse inc./SOGo 4.0.8//EN VERSION:2.0 BEGIN:VEVENT UID:5B9D-5DBEB400-55-15F54A60 SUMMARY:Test from SOGo CLASS:PUBLIC BEGIN:VALARM TRIGGER;RELATED=START;VALUE=DURATION:-PT15M ACTION:DISPLAY END:VALARM TRANSP:OPAQUE DTSTART;:20191103T150000Z DTEND;:20191103T160000Z CREATED:20191103T110402Z DTSTAMP:20191103T110402Z LAST-MODIFIED:20191103T110402Z END:VEVENT END:VCALENDAR
The error
Error at line 13:Expected [-3], read [58]
suggest there’s an error at this line, but I can’t see what:DTSTART;:20191103T150000Z
Using DAVx⁵ version 2.6-ose (308)
-
@otiel Hi,
This line is not valid. If there is a
;
, it means a parameter will follow:DTSTART;paramname=value:20191103T150000Z
. In your case, there is no parameter.The line should be:
DTSTART:20191103T150000Z
instead.Does that help? How did you create this event?
-
@rfc2822 Thanks.
I’ve created the event using the SOGo web app, nothing special as you can see on the screen capture below.
I’ve seen that SOGo is on the list of tested services, could it mean that my provider has “tampered” with the SOGo setup? What’s my options there, contact my provider?
-
Is it this problem? https://sogo.nu/bugs/view.php?id=4802
Does setting a time zone (probably for the system/user) help?
-
Yes, exactly! I had not configured my timezone, thus it was UTC by default.
After setting my timezone, events now sync correctly. Thanks a lot @rfc2822, problem solved.
For those having the same issue, go to Settings > General under SOGo web app to set the timezone:
-
@otiel Thanks for the update!