nextcloud / nextcloud/calendar

Outlook invite with time one hour minus from events of timezone America/Sao_Paulo

Open
#4,429 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. to triage bug Feature: Fullcalendar feature: language/translations (l10n/i18n)
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Steps to reproduce
  1. Set your server, mysql and user timezone to America/Sao_Paulo
  2. Create a not all day event, with 1h duration, by example and add a participant that can open invite on Outlook (or, export ics of event and open on Outlook)
  3. See the wrong start and end time read by Outlook besides ICS
Expected behavior

The start and end time of event must be equal on ics (mail body by example) to read by Outlook

Actual behaviour

The start and end time of event is different by 1 hour on ics (mail body by example) to read by Outlook

Calendar app version

3.3.1

CalDAV-clients used

No response

Browser

Firefox 103.0.2

Client operating system

Windows 11 Pro 22H2

Server operating system

Centos 7

Web server

Apache

Database engine version

MySQL

PHP engine version

PHP 8.0

Nextcloud version

24.0.1

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps
Enabled:
  - bruteforcesettings: 2.4.0
  - calendar: 3.3.1
  - cloud_federation_api: 1.7.0
  - comments: 1.14.0
  - dav: 1.22.0
  - federatedfilesharing: 1.14.0
  - files: 1.19.0
  - files_pdfviewer: 2.5.0
  - files_rightclick: 1.3.0
  - files_sharing: 1.16.2
  - files_trashbin: 1.14.0
  - files_versions: 1.17.0
  - lookup_server_connector: 1.12.0
  - notifications: 2.12.0
  - notify_push: 0.4.0
  - oauth2: 1.12.0
  - onlyoffice: 7.3.4
  - privacy: 1.8.0
  - provisioning_api: 1.14.0
  - settings: 1.6.0
  - sharebymail: 1.14.0
  - spreed: 14.0.2
  - tasks: 0.14.4
  - text: 3.5.1
  - theming: 1.15.0
  - twofactor_backupcodes: 1.13.0
  - user_ldap: 1.14.1
  - user_status: 1.4.0
  - viewer: 1.8.0
  - workflowengine: 2.6.0
Disabled:
  - accessibility: 1.7.0
  - activity: 2.15.0
  - admin_audit: 1.14.0
  - circles: 22.1.1
  - contacts: 4.1.1
  - contactsinteraction: 1.2.0
  - dashboard: 7.2.0
  - encryption
  - federation: 1.11.0
  - files_external
  - files_texteditor: 2.14.0
  - files_videoplayer: 1.10.0
  - firstrunwizard: 2.10.0
  - logreader: 2.6.0
  - nextcloud_announcements: 1.10.0
  - password_policy: 1.11.0
  - photos: 1.3.0
  - recommendations: 1.0.0
  - serverinfo: 1.11.0
  - support: 1.4.0
  - survey_client: 1.9.0
  - systemtags: 1.14.0
  - updatenotification: 1.14.0
  - user_usage_report: 1.8.0
  - weather_status: 1.1.0
Nextcloud configuration
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "updater.secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "skyboxdev.skymail.com.br"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "24.0.1.1",
        "overwrite.cli.url": "https:\/\/skyboxdev.skymail.com.br",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "theme": "skymail",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***"
        },
        "knowledgebaseenabled": false,
        "auth.webauthn.enabled": false,
        "default_language": "pt_BR",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "skybox_url_webmail_logo": "https:\/\/webmaildev.skymail.com.br\/?_task=mai&_action=plugin.logo&_user=user@%domain%",
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "mail_sendmailmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_template_class": "\\OCA\\Skybox\\EMailTemplate",
        "defaultapp": "files",
        "ldapIgnoreNamingRules": false,
        "auth.bruteforce.protection.enabled": false,
        "mail_smtpauth": 1,
        "mail_smtpdebug": 1,
        "imap_port": 143,
        "imap_host": "imap-ha.skymail.net.br",
        "simpleSignUpLink.shown": false,
        "loglevel": 2,
        "maintenance": false,
        "default_phone_region": "BR"
    }
}
Web server error log

No response

Log file

No response

Browser log
No new notification data received App.vue:323
Polling interval updated to 30000 App.vue:355
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[INFO] calendar: fetching suggestions for 0 attendees 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br" }
ConsoleLogger.js:33:8
[DEBUG] calendar: availability of room suggestions fetched 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", results: [] }
ConsoleLogger.js:29:8
Invalid avatar url null Avatar.js:150:7469
No new notification data received App.vue:323
Polling interval updated to 30000 App.vue:355
[INFO] calendar: fetching suggestions for 1 attendees 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br" }
ConsoleLogger.js:33:8
XHRGEThttps://skyboxdev.skymail.com.br/ocs/v2.php/apps/user_status/api/v1/statuses/Lucas Stevanelli Marin (lucas.marin@skymail.com.br)
[HTTP/2 404 Not Found 147ms]

XHRGEThttps://skyboxdev.skymail.com.br/ocs/v2.php/apps/user_status/api/v1/statuses/Lucas Marin (lucas.marin@emailemnuvem.com.br)
[HTTP/2 404 Not Found 237ms]

[DEBUG] calendar: availability of room suggestions fetched 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", results: [] }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
[DEBUG] calendar: Option render 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", option: {…} }
ConsoleLogger.js:29:8
XHRGEThttps://skyboxdev.skymail.com.br/ocs/v2.php/apps/user_status/api/v1/statuses/Lucas Stevanelli Marin (lucas.marin@skymail.com.br)
[HTTP/2 404 Not Found 114ms]

[INFO] calendar: fetching suggestions for 1 attendees 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br" }
ConsoleLogger.js:33:8
XHRGEThttps://skyboxdev.skymail.com.br/ocs/v2.php/apps/user_status/api/v1/statuses/Lucas Marin (lucas.marin@emailemnuvem.com.br)
[HTTP/2 404 Not Found 194ms]

[DEBUG] calendar: availability of room suggestions fetched 
Object { app: "calendar", uid: "lucas.marin@skymail.com.br", results: [] }
ConsoleLogger.js:29:8

​
Additional info

I don't know if this error is the malformatted DAYLIGHT instruction on ics or a Outlook bug.

If I remove the instruction bellow on .ics, the error can not be reproduced.

BEGIN:DAYLIGHT
TZOFFSETFROM:-0300
TZOFFSETTO:-0200
TZNAME:-02
DTSTART:20181104T000000
RDATE:20181104T000000
END:DAYLIGHT

ICS file example: from_skymailcombr-10h.txt
Please rename from .txt to .ics

image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the attached from_skymailcombr-10h.txt ICS example and reproduce the event using the stated America/Sao_Paulo timezone, MySQL, and Outlook setup. Compare the DAYLIGHT block with the one-hour discrepancy reported in Outlook; done means the ICS start and end times are read correctly without removing valid timezone data.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, mysql, php
Domain
backend, localization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.