Server: Unable to dismiss Birthday notifications in Thunderbird - Results in 404

Created on 2 Jul 2020  ·  8Comments  ·  Source: nextcloud/server

Describe the bug

Since the update to NextCloud 19.0.0 (well hard to say since you're not getting notifications for birthdays that often) I've been unable to dismiss notifications for birthdays in Thunderbird. I can successfully dismiss notifications triggered by other calendars in Nextcloud and therefore it's created here and not in nextcloud/server.

To Reproduce
Steps to reproduce the behavior:

  1. Install Contacts app in NextCloud
  2. Add contact and a birthdate
  3. Add calendar to Thunderbird https://cloud.mydomain.tld/remote.php/dav/calendars/user/contact_birthdays/
  4. Wait until birthday notification occurs
  5. Be unable to dismiss notification

Expected behavior
Notifications should be dismissed and no further notifications should be received regarding said birthday.

Actual behavior
Unable to dismiss notification. If closed (closing window instead of dismissing) another notification will pop up again after a while.

Screenshots
If applicable, add screenshots to help explain your problem.

Server configuration

Operating system: Linux

Web server: Nginx

Database: MariaDB

PHP version: 7.3

Nextcloud version: 19.0.0

Contacts version: 3.3.0

Updated from an older Nextcloud or fresh install: 18.0.6

Signing status:

No errors have been found.

List of activated apps:

Enabled:
  - accessibility: 1.5.0
  - activity: 2.12.0
  - admin_audit: 1.9.0
  - bruteforcesettings: 1.6.0
  - calendar: 2.0.3
  - cloud_federation_api: 1.2.0
  - comments: 1.9.0
  - contacts: 3.3.0
  - contactsinteraction: 1.0.0
  - dav: 1.15.0
  - federatedfilesharing: 1.9.0
  - federation: 1.9.0
  - files: 1.14.0
  - files_pdfviewer: 1.8.0
  - files_rightclick: 0.16.0
  - files_sharing: 1.11.0
  - files_trashbin: 1.9.0
  - files_versions: 1.12.0
  - files_videoplayer: 1.8.0
  - firstrunwizard: 2.8.0
  - logreader: 2.4.0
  - lookup_server_connector: 1.7.0
  - nextcloud_announcements: 1.8.0
  - notes: 3.6.0
  - notifications: 2.7.0
  - oauth2: 1.7.0
  - password_policy: 1.9.1
  - phonetrack: 0.6.3
  - photos: 1.1.0
  - privacy: 1.3.0
  - provisioning_api: 1.9.0
  - recommendations: 0.7.0
  - serverinfo: 1.9.0
  - settings: 1.1.0
  - sharebymail: 1.9.0
  - support: 1.2.1
  - survey_client: 1.7.0
  - systemtags: 1.9.0
  - tasks: 0.13.1
  - text: 3.0.1
  - theming: 1.10.0
  - twofactor_backupcodes: 1.8.0
  - twofactor_totp: 4.1.3
  - updatenotification: 1.9.0
  - user_ldap: 1.9.0
  - viewer: 1.3.0
  - workflowengine: 2.1.0
Disabled:
  - encryption
  - files_external

Nextcloud configuration:

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.mydomain.tld"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "https:\/\/cloud.mydomain.tld",
        "dbtype": "mysql",
        "version": "19.0.0.12",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "UTC",
        "installed": true,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 2,
        "maintenance": false,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "password": "***REMOVED SENSITIVE VALUE***",
            "timeout": 1.5
        },
        "updater.release.channel": "stable",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpsecure": "tls",
        "mysql.utf8mb4": true,
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory"
    }
}

Client configuration

Browser: Thunderbird

Operating system: Linux

CardDAV-clients: Thunderbird

Logs

Web server error log

192.168.13.1 - user [01/Jul/2020:21:32:03 +0200] "PUT /remote.php/dav/calendars/user/contact_birthdays/Contacts-C732AB46-1370-0001-D333-13306C101B82.vcf.ics HTTP/2.0" 404 869 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 Lightning/68.9.0" "-"

Nextcloud log

data/nextcloud.log

Log is almost 100MB in size. Nothing is added to it when this happens though.

Browser log


How to access your browser console (Click to expand)

Chrome

  • Press either CTRL + SHIFT + J to open the “console” tab of the Developer Tools.
  • Alternative method:

    1. Press either CTRL + SHIFT + I or F12 to open the Developer Tools.

    2. Click the “console” tab.

Safari

  • Press CTRL + ALT + I to open the Web Inspector.
  • See Chrome’s step 2. (Chrome and Safari have pretty much identical dev tools.)

IE9

  1. Press F12 to open the developer tools.
  2. Click the “console” tab.

Firefox

  • Press CTRL + SHIFT + K to open the Web console (COMMAND + SHIFT + K on Macs).
  • or, if Firebug is installed (recommended):

    1. Press F12 to open Firebug.

    2. Click on the “console” tab.

Opera

  1. Press CTRL + SHIFT + I to open Dragonfly.
  2. Click on the “console” tab.

Logs from Thunderbird debug console:

Lightning: CalDAV: Unexpected status modifying item to Birthdays: 404
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VEVENT
LAST-MODIFIED:20200701T193203Z
DTSTAMP:20200701T193203Z
UID:C732AB46-1390-0001-7845-1B301B901C56
SUMMARY: Firstname Lastname (*1990)
RRULE:FREQ=YEARLY
X-MOZ-LASTACK:20200701T193203Z
DTSTART;VALUE=DATE:19900622
DTEND;VALUE=DATE:19900623
TRANSP:TRANSPARENT
X-NEXTCLOUD-BC-FIELD-TYPE:BDAY
X-NEXTCLOUD-BC-UNKNOWN-YEAR:0
X-NEXTCLOUD-BC-YEAR:1990
X-MOZ-GENERATION:1
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:PT0S
DESCRIPTION: Firstname Lastname (*1990)
X-LIC-ERROR;X-LIC-ERRORTYPE=PARAMETER-VALUE-PARSE-ERROR:Got a VALUE parameter with an illegal type for property: VALUE=DURATION
END:VALARM
END:VEVENT
END:VCALENDAR
0. Needs triage

All 8 comments

cc @georgehrke

Moving to the server

@anders-larsson Any chance you could provide us with the exact request thunderbird tries to send to the server? (With wireshark or similar?)

Using the Developer tools in Thunderbird I can see the complete request sent.

Thanks for your help.

```
{
"log": {
"version": "1.2",
"creator": {
"name": "Thunderbird",
"version": "68.10.0"
},
"browser": {
"name": "Thunderbird",
"version": "68.10.0"
},
"pages": [
{
"startedDateTime": "2020-07-14T14:08:02.178+02:00",
"id": "page_2",
"pageTimings": {
"onContentLoad": -1,
"onLoad": -1
}
}
],
"entries": [
{
"pageref": "page_2",
"startedDateTime": "2020-07-14T14:08:02.178+02:00",
"request": {
"bodySize": 747,
"method": "PUT",
"url": "https://cloud.domain.tld/remote.php/dav/calendars/user/contact_birthdays/Contacts-BDB2E634-0770-479B-9074-F2DC82D146B8.vcf.ics",
"httpVersion": "HTTP/2.0",
"headers": [
{
"name": "Host",
"value": "cloud.domain.tld"
},
{
"name": "User-Agent",
"value": "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Lightning/68.10.0"
},
{
"name": "Accept",
"value": "text/xml"
},
{
"name": "Accept-Language",
"value": "en-GB,en;q=0.5"
},
{
"name": "Accept-Encoding",
"value": "gzip, deflate, br"
},
{
"name": "Accept-Charset",
"value": "utf-8,*;q=0.1"
},
{
"name": "Content-Type",
"value": "text/calendar; charset=utf-8"
},
{
"name": "Content-Length",
"value": "751"
},
{
"name": "If-Match",
"value": "\"\""
},
{
"name": "Authorization",
"value": "Basic "
},
{
"name": "Connection",
"value": "keep-alive"
},
{
"name": "Pragma",
"value": "no-cache"
},
{
"name": "Cache-Control",
"value": "no-cache"
},
{
"name": "TE",
"value": "Trailers"
}
],
"cookies": [],
"queryString": [],
"headersSize": 620,
"postData": {
"mimeType": "text/calendar; charset=utf-8",
"params": [],
"text": "BEGIN:VCALENDAR\r\nPRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN\r\nVERSION:2.0\r\nBEGIN:VEVENT\r\nLAST-MODIFIED:20200714T120802Z\r\nDTSTAMP:20200714T120802Z\r\nUID:29b41597-0e5a-4f9e-9c75-e855e516f24d\r\nSUMMARY:🎂 Firstname Lastname (2020)\r\nRRULE:FREQ=YEARLY\r\nX-MOZ-LASTACK:20200714T120802Z\r\nDTSTART;VALUE=DATE:20200714\r\nDTEND;VALUE=DATE:20200715\r\nTRANSP:TRANSPARENT\r\nX-NEXTCLOUD-BC-FIELD-TYPE:BDAY\r\nX-NEXTCLOUD-BC-UNKNOWN-YEAR:0\r\nX-NEXTCLOUD-BC-YEAR:2020\r\nX-MOZ-GENERATION:1\r\nBEGIN:VALARM\r\nACTION:DISPLAY\r\nTRIGGER;VALUE=DURATION:PT0S\r\nDESCRIPTION:🎂 Firstname Lastname (2020)\r\nX-LIC-ERROR;X-LIC-ERRORTYPE=PARAMETER-VALUE-PARSE-ERROR:Got a VALUE parame\r\n ter with an illegal type for property: VALUE=DURATION\r\nEND:VALARM\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"
}
},
"response": {
"status": 404,
"statusText": "Not Found",
"httpVersion": "HTTP/2.0",
"headers": [
{
"name": "server",
"value": "nginx"
},
{
"name": "date",
"value": "Tue, 14 Jul 2020 12:08:02 GMT"
},
{
"name": "content-type",
"value": "text/html; charset=UTF-8"
},
{
"name": "location",
"value": "https://cloud.domain.tld/apps/files/"
},
{
"name": "expires",
"value": "Thu, 19 Nov 1981 08:52:00 GMT"
},
{
"name": "cache-control",
"value": "no-store, no-cache, must-revalidate"
},
{
"name": "pragma",
"value": "no-cache"
},
{
"name": "set-cookie",
"value": "oc_sessionPassphrase=; path=/; secure; HttpOnly; SameSite=Lax"
},
{
"name": "content-security-policy",
"value": "default-src 'self'; script-src 'self' 'nonce-='; style-src 'self' 'unsafe-inline'; frame-src *; img-src * data: blob:; font-src 'self' data:; media-src *; connect-src *; object-src 'none'; base-uri 'self';"
},
{
"name": "set-cookie",
"value": "__Host-nc_sameSiteCookielax=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax"
},
{
"name": "set-cookie",
"value": "__Host-nc_sameSiteCookiestrict=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict"
},
{
"name": "set-cookie",
"value": "; path=/; secure; HttpOnly; SameSite=Lax"
},
{
"name": "X-Firefox-Spdy",
"value": "h2"
}
],
"cookies": [
{
"name": "oc_sessionPassphrase",
"value": ""
},
{
"name": "__Host-nc_sameSiteCookielax",
"value": "true"
},
{
"name": "__Host-nc_sameSiteCookiestrict",
"value": "true"
},
{
"name": "",
"value": ""
}
],
"content": {
"mimeType": "text/html; charset=UTF-8",
"size": 0,
"text": ""
},
"redirectURL": "https://cloud.domain.tld/apps/files/",
"headersSize": 1165,
"bodySize": 2536
},
"cache": {},
"timings": {
"blocked": 0,
"dns": 0,
"connect": 0,
"ssl": 0,
"send": 0,
"wait": 117,
"receive": 0
},
"time": 117,
"_securityState": "secure",
"serverIPAddress": "",
"connection": "443"
}
]
}
}

Exactly the same problem here with the birthday reminder and

X-LIC-ERROR;X-LIC-ERRORTYPE=PARAMETER-VALUE-PARSE-ERROR:Got a VALUE parameter with an illegal type for property: VALUE=DURATION

Can't close the reminders in TB 68.12.0 with NC 19.0.2

Also see https://bugs.launchpad.net/ubuntu/+source/thunderbird/+bug/1846423

I'm affected by this bug as well. Nextcloud is v20.0, Thunderbird is 68.12.0. My first guess was this is caused because the birthday calendar is read-only (only contains birthdays of contacts) but Thunderbird tries to write to it in order to mark the reminders as "dismissed"? Because dismissing other reminders seems to work. Thanks for reading!

Just hit the same bug. TB 68.12.0 and nextcloud 18.0.1

Was this page helpful?
0 / 5 - 0 ratings

Related issues

williambargent picture williambargent  ·  3Comments

georgehrke picture georgehrke  ·  3Comments

ChristophWurst picture ChristophWurst  ·  3Comments

ghost picture ghost  ·  3Comments

ThomasLeister picture ThomasLeister  ·  3Comments