Skip to content

Meeting invites miss VTIMEZONE block in attached ICS file #18039

Description

@p-try

Tip

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Create a room and add participants.
  2. Schedule a meeting using the feature within Talk (top right button next to "Start call") and send out invites.
  3. Look at the event.ics file attached to the e-mail message.

Expected behaviour

The attendees receive invites bearing the correct start and end time.

Actual behaviour

Some clients (e.g. Grommunio) misinterpret the time and add the appointment to the user's calendar at an incorrect time. This is due to a missing VTIMEZONE block in the ICS file. Example of an 'event.ics' file attached to a meeting invitation sent out by NC Talk:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sabre//Sabre VObject 4.5.6//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
UID:8feJwIDaR8ekuqTpknKxIqcDHfL3RJHn
SUMMARY:Besprechung Nextcloud
DTSTART;TZID=Europe/Berlin:20260511T110000
DTEND;TZID=Europe/Berlin:20260511T130000
STATUS:CONFIRMED
DESCRIPTION:Naechste Schritte Nextcloud
LOCATION:https://nextcloud.example.com/call/5bqrw7mv
ORGANIZER;CN=XX;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:xxx@example.com
ATTENDEE;CN=YY;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION:mailto:yyy@example.com
DTSTAMP:20260422T140209Z
END:VEVENT
END:VCALENDAR

The time zone is specified as "Europe/Berlin", thus referencing a VTIMEZONE component with that name, but this component is missing. VTIMEZONE is optional, allowing references to global time zone definitions, but in this case the TZID must be prepended with a forward slash like so:

DTSTART;TZID=/Europe/Berlin:20260511T110000

Side note: once the user edits the calendar item using Nextcloud Calendar (like adding a description or changing the time), and an update is sent out to the attendees, a correctly formatted ICS file bearing a VTIMEZONE component is sent.

Talk app

Talk app version: 23.0.4

Custom Signaling server configured: yes, 2.1.1~docker

Custom TURN server configured: yes

Custom STUN server configured: yes

Browser

Microphone available: yes

Camera available: yes

Operating system: Ubuntu

Browser name: Firefox

Browser version: 150.0.3

Browser log

Details (irrelevant)

Server configuration

Operating system: Ubuntu 24.04

Web server: Apache

Database: MariaDB

PHP version: 8.3

Nextcloud Version: 33.0.3

List of activated apps:

Details Enabled: - activity: 6.0.0 - app_api: 33.0.0 - assistant: 3.4.1 - bruteforcesettings: 6.0.0 - calendar: 6.4.0 - circles: 33.0.0 - cloud_federation_api: 1.17.0 - collectives: 4.4.0 - comments: 1.23.0 - contacts: 8.4.5 - contactsinteraction: 1.14.1 - context_chat: 5.3.1 - dashboard: 7.13.0 - dav: 1.36.0 - deck: 1.17.1 - external: 8.0.1 - federatedfilesharing: 1.23.0 - federation: 1.23.0 - files: 2.5.0 - files_downloadlimit: 5.1.0 - files_external: 1.25.1 - files_pdfviewer: 6.0.0 - files_reminders: 1.6.0 - files_sharing: 1.25.2 - files_trashbin: 1.23.0 - files_versions: 1.26.0 - fileslibreofficeedit: 2.0.1 - firstrunwizard: 6.0.0 - forms: 5.2.7 - impersonate: 4.0.0 - integration_giphy: 2.2.1 - integration_openai: 4.4.0 - integration_windmill: 1.0.0 - logreader: 6.0.0 - lookup_server_connector: 1.21.0 - mail: 5.7.15 - nextcloud_announcements: 5.0.0 - notes: 5.0.0 - notifications: 6.0.0 - notify_push: 1.3.2 - oauth2: 1.21.0 - password_policy: 5.0.0 - passwords: 2026.5.10 - photos: 6.0.0 - polls: 9.1.2 - privacy: 5.0.0 - profile: 1.2.0 - provisioning_api: 1.23.0 - recommendations: 6.0.0 - related_resources: 4.0.0 - richdocuments: 10.1.3 - serverinfo: 5.0.0 - settings: 1.16.0 - sharebymail: 1.23.0 - spreed: 23.0.4 - support: 5.0.0 - survey_client: 5.0.0 - systemtags: 1.23.0 - tables: 2.1.1 - tasks: 0.17.1 - text: 7.0.1 - theming: 2.8.0 - theming_customcss: 1.20.0 - twofactor_backupcodes: 1.22.0 - twofactor_totp: 15.0.0 - updatenotification: 1.23.0 - user_ldap: 1.24.0 - user_status: 1.13.0 - viewer: 6.0.0 - weather_status: 1.13.0 - webhook_listeners: 1.5.0 - whiteboard: 1.5.8 - workflowengine: 2.15.0 Disabled: - admin_audit: 1.23.0 - encryption: 2.21.0 - suspicious_login: 11.0.0 - testing: 1.23.0 - twofactor_nextcloud_notification: 7.0.0

Nextcloud configuration:

Details { "system": { "debug": false, "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "datentausch.iconics.de", "roundcube.iconics.de" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "overwrite.cli.url": "https:\/\/datentausch.iconics.de\/", "htaccess.RewriteBase": "\/", "dbtype": "mysql", "version": "33.0.3.2", "installed": true, "maintenance": false, "theme": "", "loglevel": 2, "mail_smtpmode": "smtp", "mail_smtpauthtype": "LOGIN", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtpauth": true, "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpport": "587", "mail_smtpname": "***REMOVED SENSITIVE VALUE***", "mail_smtppassword": "***REMOVED SENSITIVE VALUE***", "updater.release.channel": "stable", "mysql.utf8mb4": true, "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "default_phone_region": "DE", "app_install_overwrite": [ "impersonate", "hsts", "talk-message-transcription" ], "memcache.local": "\\OC\\Memcache\\APCu", "memcache.locking": "\\OC\\Memcache\\APCu", "mail_sendmailmode": "smtp", "maintenance_window_start": 1, "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory", "trusted_proxies": "***REMOVED SENSITIVE VALUE***", "twofactor_enforced": "false", "twofactor_enforced_groups": [ "Nextcloud 2FA" ], "twofactor_enforced_excluded_groups": [], "auth.bruteforce.protection.enabled": false } }

Server log (data/nextcloud.log)

Details (no error messages)

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Bug.

Projects

Status
🏗️ In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions