Cannot confirm/close a calendar notification from Thunderbird/Lightning

Nextcloud version (eg, 12.0.2): 13.0.1
Operating system and version (eg, Ubuntu 17.04): FreeBSD 11.1
Apache or nginx version (eg, Apache 2.4.25): nginx 1.12.2_11,2
PHP version (eg, 7.1): 7.1.16

The issue you are facing:
The lighting plugin in Thunderbird displays a reminder for a calendar entry.
If I click on close I see the following log lines:
nextcloud.log

{"reqId":"JiMKSddekEqsV80TnS9r","level":4,"time":"2018-04-13T17:11:03+00:00","remoteAddr":"_REMOVED_","user":"idefix","app":"webdav","method":"PUT","url":"\/remote.php\/dav\/calendars\/_REMOVED_\/privat\/9a31b6f6-4bbe-4636-a37f-f27ec194ce5b.ics","message":"Exception: {\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\UnsupportedMediaType\",\"Message\":\"Validation error in iCalendar: ATTACH MUST NOT appear more than once in a VALARM component\",\"Code\":0,\"Trace\":\"#0 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php(772): Sabre\\\\CalDAV\\\\Plugin->validateICalendar('BEGIN:VCALENDAR...', 'calendars\\\/idefi...', false, Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response), false)\\n#1 [internal function]: Sabre\\\\CalDAV\\\\Plugin->beforeWriteContent('calendars\\\/idefi...', Object(OCA\\\\DAV\\\\CalDAV\\\\CalendarObject), 'BEGIN:VCALENDAR...', false)\\n#2 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#3 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1128): Sabre\\\\Event\\\\EventEmitter->emit('beforeWriteCont...', Array)\\n#4 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(513): Sabre\\\\DAV\\\\Server->updateFile('calendars\\\/idefi...', 'BEGIN:VCALENDAR...', NULL)\\n#5 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpPut(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#6 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#7 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(479): Sabre\\\\Event\\\\EventEmitter->emit('method:PUT', Array)\\n#8 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#9 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/apps-pkg\\\/dav\\\/lib\\\/Server.php(283): Sabre\\\\DAV\\\\Server->exec()\\n#10 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/apps-pkg\\\/dav\\\/appinfo\\\/v2\\\/remote.php(35): OCA\\\\DAV\\\\Server->exec()\\n#11 \\\/usr\\\/local\\\/www\\\/nextcloud\\\/remote.php(164): require_once('\\\/usr\\\/local\\\/www\\\/...')\\n#12 {main}\",\"File\":\"\\\/usr\\\/local\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/CalDAV\\\/Plugin.php\",\"Line\":917}","userAgent":"Mozilla\/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko\/20100101 Thunderbird\/52.7.0 Lightning\/5.4.7","version":"13.0.1.1"}

in the nginx access log I see:

==> access.log <==
_REMOVED_ - idefix [13/Apr/2018:19:11:03 +0200] "PUT /remote.php/dav/calendars/idefix/privat/9a31b6f6-4bbe-4636-a37f-f27ec194ce5b.ics HTTP/2.0" 415 294 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 Lightning/5.4.7"

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Wait till the calendar entry triggers the reminder
  2. Click on close and see the error message, the popup in Thunderbird does not close

The output of your Nextcloud log in Admin > Logging:

	Sabre\DAV\Exception\UnsupportedMediaType: Validation error in iCalendar: ATTACH MUST NOT appear more than once in a VALARM component
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php - line 772: Sabre\CalDAV\Plugin->validateICalendar('BEGIN VCALENDAR...', 'calendars/idefi...', false, Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response), false)
[internal function] Sabre\CalDAV\Plugin->beforeWriteContent('calendars/idefi...', Object(OCA\DAV\CalDAV\CalendarObject), 'BEGIN VCALENDAR...', false)
/usr/local/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1128: Sabre\Event\EventEmitter->emit('beforeWriteCont...', Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 513: Sabre\DAV\Server->updateFile('calendars/idefi...', 'BEGIN VCALENDAR...', NULL)
[internal function] Sabre\DAV\CorePlugin->httpPut(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/local/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php - line 105: call_user_func_array(Array, Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 479: Sabre\Event\EventEmitter->emit('method PUT', Array)
/usr/local/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 254: Sabre\DAV\Server->invokeMethod(Object(Sabre\HTTP\Request), Object(Sabre\HTTP\Response))
/usr/local/www/nextcloud/apps-pkg/dav/lib/Server.php - line 283: Sabre\DAV\Server->exec()
/usr/local/www/nextcloud/apps-pkg/dav/appinfo/v2/remote.php - line 35: OCA\DAV\Server->exec()
/usr/local/www/nextcloud/remote.php - line 164: require_once('/usr/local/www/...')
{main}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => '_REMOVED_',
  'passwordsalt' => '_REMOVED_',
  'datadirectory' => '/usr/local/clouddata',
  'dbtype' => 'mysql',
  'version' => '13.0.1.1',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => '_REMOVED_',
  'dbpassword' => '_REMOVED_',
  'installed' => true,
  'forcessl' => true,
  'loglevel' => 0,
  'theme' => '',
  'maintenance' => false,
  'trusted_domains' =>
  array (
    0 => '_REMOVED_',
    1 => '_REMOVED_',
    2 => '_REMOVED_',
    3 => '_REMOVED_',
    4 => '_REMOVED_',
  ),
  'secret' => '_REMOVED_',
  'debug' => false,
  'trashbin_retention_obligation' => 'auto',
  'preview_libreoffice_path' => '/usr/local/bin/soffice',
  'overwrite.cli.url' => 'https://_REMOVED_',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/usr/local/www/nextcloud/apps',
      'url' => '/apps',
      'writable' => true,
    ),
    1 =>
    array (
      'path' => '/usr/local/www/nextcloud/apps-pkg',
      'url' => '/apps-pkg',
      'writable' => false,
    ),
  ),
);

Same issue with latest NextCloud, latest ThundrBird in latest Ubuntu !

I also got this issue since a couple of weeks, no idea why. The setup has not been changed in a loooong time (years since I added that calendar account…)

Hello both,

have you tried to use an alternate browser like firefox …

Could simply be a cache problem.

A little internet searching turns up a number of results. Seems you’ll need to file a bug report with lightning as this issue has been popping up for years in thunderbird.

The recommendation to get around the lightning issue is to setup with cardbook.

https://docs.nextcloud.com/server/latest/user_manual/en/groupware/sync_thunderbird.html?highlight=thunderbird