nextcloud / nextcloud/calendar
[Bug] Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME
Open
Nobody has claimed this yet.
0. to triage
bug
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Steps to reproduce
Create an event in iOS
Expected behavior
No date parse errors from .ics calendars
Actual behavior
Date parse errors:
[webdav] Error: Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME
PUT /remote.php/dav/calendars/username/personal/F9AA1871-B1DD-4599-AD25-67A26C557188.ics
from 192.168.101.1 by username at 2026. gada 24. maijs 23:34:07
Calendar app version
6.4.1
CalDAV-clients used
No response
Browser
No response
Client operating system
No response
Server operating system
Fedora server 44
Web server
Apache
Database engine version
MySQL
PHP engine version
PHP 8.4
Nextcloud version
33.0.3
Updated from an older installed version or fresh install
None
List of activated apps
Nextcloud configuration
Web server error log
{"reqId":"ahNgv_ZvIp4BQk2zQFhCEgAAxRM","level":3,"time":"2026-05-24T20:34:07+00:00","remoteAddr":"192.168.101.1","user":"username","app":"webdav","method":"PUT","url":"/remote.php/dav/calendars/username/personal/F9AA1871-B1DD-4599-AD25-67A26C557188.ics","scriptName":"/remote.php","message":"Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME","userAgent":"python-caldav/2.1.2","version":"33.0.3.2","exception":{"Exception":"Sabre\\DAV\\Exception\\UnsupportedMediaType","Message":"Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME","Code":0,"Trace":[{"file":"/usr/share/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php","line":733,"function":"validateICalendar","class":"Sabre\\CalDAV\\Plugin","type":"->"},{"file":"/usr/share/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeWriteContent","class":"Sabre\\CalDAV\\Plugin","type":"->"},{"file":"/usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":1133,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":492,"function":"updateFile","class":"Sabre\\DAV\\Server","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/usr/share/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPut","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"/usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/nextcloud/apps/dav/lib/Connector/Sabre/Server.php","line":212,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/usr/share/nextcloud/apps/dav/lib/Server.php","line":428,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->"},{"file":"/usr/share/nextcloud/apps/dav/appinfo/v2/remote.php","line":25,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/usr/share/nextcloud/remote.php","line":151,"args":["/usr/share/nextcloud/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/usr/share/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php","Line":873,"message":"Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME","exception":"{\"class\":\"Sabre\\DAV\\Exception\\UnsupportedMediaType\",\"message\":\"Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME\",\"code\":0,\"file\":\"/usr/share/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php:873\",\"trace\":\"#0 /usr/share/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php(733): Sabre\\CalDAV\\Plugin->validateICalendar()\\n#1 /usr/share/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\CalDAV\\Plugin->beforeWriteContent()\\n#2 /usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php(1133): Sabre\\DAV\\Server->emit()\\n#3 /usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(492): Sabre\\DAV\\Server->updateFile()\\n#4 /usr/share/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPut()\\n#5 /usr/share/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit()\\n#6 /usr/share/nextcloud/apps/dav/lib/Connector/Sabre/Server.php(212): Sabre\\DAV\\Server->invokeMethod()\\n#7 /usr/share/nextcloud/apps/dav/lib/Server.php(428): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#8 /usr/share/nextcloud/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#9 /usr/share/nextcloud/remote.php(151): require_once('...')\\n#10 {main}\"}","CustomMessage":"Validation error in iCalendar: The supplied value (20250930) is not a correct DATE-TIME"},"id":"6a13ebb333b04"}
Log file
Browser log
Additional info
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at 3rdparty/sabre/dav/lib/CalDAV/Plugin.php, especially the validation path around lines 733 and 873, using the reported PUT request and DATE-TIME value as the reproduction. Trace how the uploaded .ics content is validated and identify the appropriate regression coverage; done means the iOS-created event no longer produces this validation error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100