Import of ics calendar fails when event time is missing

Hi!

I tried to import the schedule of one of my favorite sports teams, but unfortunately it fails. They provide the link to a .ics file on their website. The subscription is added to the list of calendars in the Nextcloud calendar app, but then it shows the busy icon and it never stops. Then also the other calendars are not usable anymore. So I removed it again.
Then I downloaded the .ics file and went through the calendar import. There it goes through and adds some events, but it reports errors. So I looked in the logs.
The problem is, that the times of some of the games in the future are not set yet and instead of giving a fake time, they do not write anything. For instance:
DTSTART;TZID=Europe/Rome:20180509
instead of for instance
DTSTART;TZID=Europe/Rome:20171216T190000
So I get a “the supplied value is not a correct DATE-TIME”.

I subscribed to the very same calendar on my phone through ICSdroid. There the subscription works and all the games without a time just get 00:00 as time.

I think it would be preferable to do it the same way as ICSdroid does it and just add the fake time. And later, when the calendar is updated, the new times would be picked up. Or am I missing something?

Here is an example error message from the file import:

Fatal webdav Sabre\DAV\Exception\UnsupportedMediaType: Validation error in iCalendar: The supplied value (2018-05-09T:: ) is not a correct DATE-TIME
/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php - line 801: Sabre\CalDAV\Plugin->validateICalendar(‘BEGIN VCALENDAR…’, ‘calendars/username…’, false, Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response), true)
[internal function] Sabre\CalDAV\Plugin->beforeCreateFile(‘calendars/username…’, ‘BEGIN VCALENDAR…’, Object(OCA\DAV\CalDAV\Calendar), false)
/usr/share/webapps/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1094: Sabre\Event\EventEmitter->emit(‘beforeCreateFil…’, Array)
/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 525: Sabre\DAV\Server->createFile(‘calendars/username…’, ‘BEGIN VCALENDAR…’, NULL)
[internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/share/webapps/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit(‘method PUT’, Array)
/usr/share/webapps/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/share/webapps/nextcloud/apps/dav/lib/Server.php - line 258: Sabre\DAV\Server->exec()
/usr/share/webapps/nextcloud/apps/dav/appinfo/v2/remote.php - line 33: OCA\DAV\Server->exec()
/usr/share/webapps/nextcloud/remote.php - line 162: require_once(’/usr/share/weba…’)
{main}

Thanks a lot for looking into this!

Yes, there is an issue for that in the bug tracker.

Well, the answer is plain and simple. This is invalid calendar data and hence the error message is expected. Please report that to the sports team for them to fix it.

Thank you very much for your reply!
I did report it to the league, but I am not very optimistic, that this will be updated. I was just wondering, if this import of calendars wants to be fault tolerant concerning this, as this problem might exist also elsewhere.

Thanks again and I am looking forward to follow the progress of the calendar app!