Unable to dismiss Birthday notifications in Thunderbird - Results in 404
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
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:
- Install Contacts app in NextCloud
- Add contact and a birthdate
- Add calendar to Thunderbird https://cloud.mydomain.tld/remote.php/dav/calendars/user/contact_birthdays/
- Wait until birthday notification occurs
- 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:
- Press either CTRL + SHIFT + I or F12 to open the Developer Tools.
- 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
- Press F12 to open the developer tools.
- 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):
- Press F12 to open Firebug.
- Click on the “console” tab.
Opera
- Press CTRL + SHIFT + I to open Dragonfly.
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the PUT request to /remote.php/dav/calendars/user/contact_birthdays/ from the Contacts birthday calendar and compare it with dismissal requests for other calendars. Reproduce the issue with Thunderbird using the listed birthday event and inspect the 404 response. Done means dismissing the notification updates the event without a 404 or repeated notification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100