nextcloud / nextcloud/server

Closing reminder in thunderbird leads to activity/notification

Open
#12,721 11 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop 26-feedback bug feature: caldav feature: dav
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Closing a reminder in Thunderbird leads to an update of the event on the server, which generates an unnecessary notification event. While using a shared calender this leads to extreme many emails.

Steps to reproduce
  1. Create new event in a shared calendar including a reminder
  2. Wait until the reminder pops up in Thunderbird
  3. Close the reminder in Thunderbird
Expected behaviour

The described behavior (closing a reminder) should not generate an email notification for the users of the shared calender.

Actual behaviour

The server notices the reminder update by Thunderbird as update of the event. Therefore it is generated an
email notification "User B updates the event test in calender personal".

Server configuration

Operating system: Debian 9
Web server: Apache 2.4
Database: MariaDB 10.1.26
PHP version: 7.0
Nextcloud version: 13.0.5

Logs

See attached log of debug console of Thunderbird:
thunderbird_log.txt

Event is created:
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20181129T081553Z
LAST-MODIFIED:20181129T081617Z
DTSTAMP:20181129T081617Z
UID:63c9dce9-f740-47df-9f7e-53de6b39ea77
SUMMARY:new event
DTSTART;TZID=Europe/Berlin:20181129T091800
DTEND;TZID=Europe/Berlin:20181129T101800
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT1M
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
END:VCALENDAR

Event is updated after closing the reminder:
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20181129T081553Z
LAST-MODIFIED:20181129T081703Z
DTSTAMP:20181129T081703Z
UID:63c9dce9-f740-47df-9f7e-53de6b39ea77
SUMMARY:new event
X-MOZ-LASTACK:20181129T081703Z
DTSTART;TZID=Europe/Berlin:20181129T091800
DTEND;TZID=Europe/Berlin:20181129T101800
TRANSP:OPAQUE
X-MOZ-GENERATION:1
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT1M
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
END:VCALENDAR

The only difference are the following four attributes:
LAST-MODIFIED
DTSTAMP
X-MOZ-LASTACK:
X-MOZ-GENERATION

When I compare the following link none of these attributes should lead to a notification email:
https://github.com/nextcloud/3rdparty/blob/214c4155f587f5178d792fe4a839044bdc9982f1/sabre/vobject/lib/ITip/Broker.php#L69

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 by comparing the event payloads in the issue, especially LAST-MODIFIED, DTSTAMP, X-MOZ-LASTACK, and X-MOZ-GENERATION, then inspect the referenced 3rdparty/sabre/vobject/lib/ITip/Broker.php entry point. Done means closing a Thunderbird reminder no longer produces an email notification for shared-calendar users when only those attributes change.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.