nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.2k stars 4.04k forks source link

[Bug]: Nextcloud calender reminder & invitation notifications are broken #34499

Open dzatoah opened 2 years ago

dzatoah commented 2 years ago

⚠️ This issue respects the following points: ⚠️

Bug description

The reminder notifications and invitations behaviour is unpredictable and pretty random. Something is definitely broken. I could reproduce this issue in Nextcloud 25 RC2 and various older production Nextcloud 24's

Two scenarios:

Send reminder notifications to calendar sharees as well set to off:

What should happen with a private calender:

The organizer creates a calendar entry and invites one person.

What should happen with a group calender:

The organizer creates a calendar entry and invites one person.

Send reminder notifications to calendar sharees as well set to on:

Then everyone in the group will receive a notification even though they are not included in the appointment as a participant. That's how it's intended. (So the principle is correct. So only the invitation is missing here.)

So the boil down the issues:

  1. Private calender, off -> double notifications
  2. Group calendar -> Invitees doesn't get invitation (Invitees should always get an invitation)
  3. Group calendar, off -> reminder notifications are sent only at exact appointment time

Probably related:

Thanks to @mircokam for spotting this issues.

Steps to reproduce

  1. Create a group calendar
  2. Add member to group calendar
  3. Create an event in said group calendar
  4. Add an e-mail address to invitees
  5. Add an Nextcloud user to invitees
  6. Add event reminder notification e.g. 5 minutes before event

Expected behavior

.

Installation method

No response

Operating system

No response

PHP engine version

No response

Web server

No response

Database engine version

No response

Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

No response

What user-backends are you using?

Configuration report

No response

List of activated Apps

.

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

CarlSchwan commented 2 years ago

Possibly related #34465

dzatoah commented 2 years ago

Definitely related to: https://github.com/nextcloud/calendar/issues/4400

gohrner commented 1 year ago

Maybe related to https://github.com/nextcloud/server/issues/22500 ? (Or the other way around.)

komoricodrutz commented 1 year ago

Hi, Issue seems to still be there I have 2 instances of nextcloud, one is 25.0.7, the other is 27.0.2 - for testing before implementation. I have the same (yahoo) account set up as the "system mail" account and the same (gmail) account set up in the mail app (v2.2.6 on the 25.0.7 instance and v3.2.2 on the 26.0.2 instance). Both mail systems work fine, they send mails as they should. The options to send invitations to attendees, send notifications for events and send reminder notifications are enabled on both instances. Log from the 25.0.7 instance when trying to reproduce: `[dav] Error: Swift_TransportException: Expected response code 250 but got code "550", with message "550 Request failed; Mailbox unavailable " at <>

  1. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 344 Swift_Transport_AbstractSmtpTransport->assertResponseCode()
  2. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php line 305 Swift_Transport_AbstractSmtpTransport->executeCommand()
  3. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 406 Swift_Transport_EsmtpTransport->executeCommand()
  4. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 502 Swift_Transport_AbstractSmtpTransport->streamMessage()
  5. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 518 Swift_Transport_AbstractSmtpTransport->doMailTransaction()
  6. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 206 Swift_Transport_AbstractSmtpTransport->sendTo()
  7. /var/www/nextcloud/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php line 71 Swift_Transport_AbstractSmtpTransport->send()
  8. /var/www/nextcloud/lib/private/Mail/Mailer.php line 191 Swift_Mailer->send()
  9. /var/www/nextcloud/apps/dav/lib/CalDAV/Schedule/IMipPlugin.php line 290 OC\Mail\Mailer->send()
  10. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 OCA\DAV\CalDAV\Schedule\IMipPlugin->schedule()
    1. /var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Schedule/Plugin.php line 350 Sabre\DAV\Server->emit()
    2. /var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Schedule/Plugin.php line 627 Sabre\CalDAV\Schedule\Plugin->deliver()
    3. /var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Schedule/Plugin.php line 337 Sabre\CalDAV\Schedule\Plugin->processICalendarChange()
    4. /var/www/nextcloud/apps/dav/lib/CalDAV/Schedule/Plugin.php line 162 Sabre\CalDAV\Schedule\Plugin->calendarObjectChange()
    5. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 OCA\DAV\CalDAV\Schedule\Plugin->calendarObjectChange()
    6. /var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php line 897 Sabre\DAV\Server->emit()
    7. /var/www/nextcloud/3rdparty/sabre/dav/lib/CalDAV/Plugin.php line 766 Sabre\CalDAV\Plugin->validateICalendar()
    8. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 Sabre\CalDAV\Plugin->beforeCreateFile()
    9. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1094 Sabre\DAV\Server->emit()
    10. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 504 Sabre\DAV\Server->createFile()
    11. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89 Sabre\DAV\CorePlugin->httpPut()
    12. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 472 Sabre\DAV\Server->emit()
    13. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 253 Sabre\DAV\Server->invokeMethod()
    14. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 321 Sabre\DAV\Server->start()
    15. /var/www/nextcloud/apps/dav/lib/Server.php line 360 Sabre\DAV\Server->exec()
    16. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35 OCA\DAV\Server->exec()
    17. /var/www/nextcloud/remote.php line 172 require_once("/var/www/nextcl ... p")

PUT /remote.php/dav/calendars/myuser/personal/38108168-4171-4A8C-B2FC-5639A8D0F7C4.ics from xxx.xxx.xxx.xxx by myuser at 2023-06-20T14:52:57+00:00`

Log from 26.0.2 instance when trying to reproduce: `[dav] Error: Unable to deliver message to invitee@company.com

PUT /remote.php/dav/calendars/myuser/personal/1F5F1257-B2B9-481C-A28F-B3748EEB9C9E.ics from xxx.xxx.xxx.xxx by myuser at 2023-06-20T14:57:33+00:00` A lot less verbose, although the log reader app is installed

Cheers!

meichthys commented 8 months ago

Just for reference, this still seems to be an issue in Nextcloud 28.0.1 and Calendar v4.6.3 Perhaps the Email Notification option for calendar events should be removed from the UI until this is fixed. It is quite confusing to users.

ChildLearningClub commented 5 months ago

I get email notifications reminders for a calendar that I have, but that same calendar shared with others does not send out the email notification reminders that I have set for the events to their emails. I used the impersonate tool to verify that the calendar events and event reminders are all set correctly as well as their emails.

Edit: I see that my issue is probably related to #22441 which is still open.

Edit 2: No, wait, they do also have edit rights.