Open antondollmaier opened 1 month ago
Just a side note: https://github.com/abdulsametsahin/php-timezone-converter
Please find a test ical file attached (rename to .ics
): test_ics.txt
Is there any update on this? Do we have a workaround? Facing the same issue with Outlook and CalDav Synchronizer and Nextcloud Server version 30.
apps/dav/lib/CalDAV/EventReader.php","Line":131,"message":"DateTimeZone::construct(): Unknown or bad timezone (W. Europe Standard Time)","exception":{},"CustomMessage":"DateTimeZone::construct(): Unknown or bad timezone (W. Europe Standard Time)"}}
Ok, the root cause seems to be that "W. Europe Standard Time" is not an IANA Timezone but a windows timezone. But IMHO PHP needs IANA timezones and therefore the exception. For whatever reason, nextcloud suddenly can no longer cope with this. A workaround in the em-client is to simply specify the time zone explicitly for an appointment, then it works. Unfortunately, this does not work when moving from one calendar to another, as the em-client uses the Windows time zone again. Therefore, a fix in nextcloud would be wonderful ;-)
Same problem here with "Romance Standard Time". Nothing changed on the client side.
Ok, the root cause seems to be that "W. Europe Standard Time" is not an IANA Timezone but a windows timezone. But IMHO PHP needs IANA timezones and therefore the exception. For whatever reason, nextcloud suddenly can no longer cope with this. A workaround in the em-client is to simply specify the time zone explicitly for an appointment, then it works. Unfortunately, this does not work when moving from one calendar to another, as the em-client uses the Windows time zone again. Therefore, a fix in nextcloud would be wonderful ;-)
Not sure if it is only the timezone. It's only affecting certain appointments. I have appointments with timezone "W. Europe Standard" without problem. But there are appointments with other attendees invited and after they accept the invitation the error occurs for each sync.
I have the same issue but with "DateTimeZone::__construct(): Unknown or bad timezone (W. Europe Standard Time)" on the latest Nextcloud Version with debian 12 and php 8.2.24. The calendar in the browser no longer loads completely.
⚠️ This issue respects the following points: ⚠️
Bug description
When creating a new calendar meeting via eMClient on Windows, the server rejects the creation of the calendar event due to "unknown or bad timezone".
The client uses Windows 11. The timezone is configured per Windows default (UTC+01, Berlin, with daylight savings enabled).
The creation of appointments did work previously, so the issue was introduced either with NextCloud 30 (updated today) or previously, but not today, due to an updated emClient 10.
Steps to reproduce
Expected behavior
The event is created, even though the Windows timezone specified in the request is unknown to NextCloud/Linux.
Nextcloud Server version
30
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.2
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 28 to 29)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
I've compared the code of the "dav" app from v29 to v30. The newly introduced "EventReader" class directly hands over the
TZID
toDateTime
when being called inbuildBodyData
- while previouslygenerateWhenString()
relied onProperty\ICalendar\DateTime $dtstart
.The timezone submitted by emClient is the default naming in Windows. There seems to be a mapping from Windows timezone names to Linux (e.g., in https://stackoverflow.com/questions/4967903/linux-windows-timezone-mapping ). Others recommend using the Caldav Synchronizer in Outlook (which my colleague doesn't use).