Nextcloud calendar timezone confusion

The Basics

  • Nextcloud Server version: 31.0.7
  • Operating system and version : Unraid 7.1.4
  • Web server and version: nginx 1.26.3
  • Reverse proxy and version: nginx proxy manager 2.12.3
  • PHP version: 8.3.19
  • Is this the first time you’ve seen this error? (Yes / No): No
  • When did this problem seem to first start?
    • Right from the start when I tried to use Nextcloud calendar
  • Installation method: Unraid docker store
  • Are you using CloudfIare, mod_security, or similar?: Using Namecheap for DNS only

Summary of the issue you are facing:

Nextcloud seems to confuse timezones for notifications if the event is created outside of web Calendar.

If I create an event in web - everything is fine, and i get notification from the server at the correct time (1 hour before, with correct time zone - UTC +3 in my case).

If I create an event in another calendar app (i.e. my Samsung Calendar on android, synced with DavX5) - the time of the notification is wrong and appears as if the event was created in UTC +0 timezone.
In this case timezone for the event is correct in both Samsung Calendar and in Nextcloud Calendar on web, but the notification timing is wrong.
So if I create and event for 3pm UTC+3, the event time is at 3pm UTC+3 in all the calendars, but the notification form Nextcloud comes not 1 hour before (at 2pm UTC+3), but 2 hours after - at 2pm UTC +0 (4pm UTC +3).

But both event created in web and in calendar app on adroid look exacly the same in web, correct timezones, times etc., only notification timing is wrong for the one created outside web.

Everywhere on the server, in Unraid, on the phone - timezone is set correctly, so no problem there.

Steps to replicate it (hint: details matter!):

  1. Link Nextcloud calendar to your calendar app on android with DavX5
  2. Create an event in you calendar app with a timezone different than UTC +0

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

I can't find any logs connected to calendar in the Logging tab.

Apps

The output of occ app:list (if possible).

Enabled:
  - activity: 4.0.0
  - app_api: 5.0.2
  - bruteforcesettings: 4.0.0
  - calendar: 5.3.5
  - cloud_federation_api: 1.14.0
  - comments: 1.21.0
  - contactsinteraction: 1.12.0
  - dashboard: 7.11.0
  - dav: 1.33.0
  - federatedfilesharing: 1.21.0
  - federation: 1.21.0
  - files: 2.3.1
  - files_downloadlimit: 4.0.0
  - files_pdfviewer: 4.0.0
  - files_reminders: 1.4.0
  - files_sharing: 1.23.1
  - files_trashbin: 1.21.0
  - files_versions: 1.24.0
  - firstrunwizard: 4.0.0
  - logreader: 4.0.0
  - lookup_server_connector: 1.19.0
  - nextcloud_announcements: 3.0.0
  - notifications: 4.0.0
  - oauth2: 1.19.1
  - password_policy: 3.0.0
  - photos: 4.0.0
  - privacy: 3.0.0
  - profile: 1.0.0
  - provisioning_api: 1.21.0
  - recommendations: 4.0.0
  - related_resources: 2.0.0
  - serverinfo: 3.0.0
  - settings: 1.14.0
  - sharebymail: 1.21.0
  - survey_client: 3.0.0
  - systemtags: 1.21.1
  - tasks: 0.16.1
  - text: 5.0.0
  - theming: 2.6.1
  - twofactor_backupcodes: 1.20.0
  - updatenotification: 1.21.0
  - user_status: 1.11.0
  - viewer: 4.0.0
  - webhook_listeners: 1.2.0
  - workflowengine: 2.13.0
Disabled:
  - admin_audit: 1.21.0
  - camerarawpreviews: 0.8.7 (installed 0.8.7)
  - circles: 31.0.0 (installed 30.0.0)
  - encryption: 2.19.0
  - files_external: 1.23.0
  - support: 3.0.0 (installed 2.0.0)
  - suspicious_login: 9.0.1
  - twofactor_nextcloud_notification: 5.0.0
  - twofactor_totp: 13.0.0-dev.0
  - user_ldap: 1.22.0
  - weather_status: 1.11.0 (installed 1.10.0)

Did you try other caldav clients?

I don’t know exactly the caldav protocol how the notifications are managed (how they define the deltatime between notification and event, or the client does the calculation and gives the time with/without timezone).

Just tried Simple Calendar, and it indeed looks like the issue is with Samsung Calendar. Events created in simple calendar have correct notification time