Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Irritating behavior: Reminders get send to all users with write access within a shared group. #31303

Closed
4 of 8 tasks
dzatoah opened this issue Feb 21, 2022 · 0 comments · Fixed by #31337
Closed
4 of 8 tasks
Labels
3. to review Waiting for reviews bug

Comments

@dzatoah
Copy link
Contributor

dzatoah commented Feb 21, 2022

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

Firstly, this is a duplicate of nextcloud/calendar#3946. But it fits in this Repo better, since I think the bug lies in the Reminder background job. (Which is in this repo.)

Event reminders are not only sent to the attendees of an event, but to all members of all shared groups which have write access too. This behavior is very confusing for end users.

Steps to reproduce

  1. Go to the user settings. (index.php/settings/users)
  2. Create a group with the following members:
    peter@example.com
    max@example.com
  3. Go to the calendar app. (index.php/apps/calendar/timeGridWeek/now )
  4. Create new calendar
  5. Share the newly created calendar with the new group (with write-access!)
  6. Create a new event in the calendar.
  7. Activate a reminder: 5 mins before the event.
  8. Under attendees -> Invite the following people:
    john@example.com
    jane@example.comnot

Expected behavior

john@example.com, jane@example.com and the calendar owner should get a reminder notification.
peter@example.com and max@example.com should only be able to edit the event and not get a notification, since they're not attendees.

So, only the attendees plus the event owner should get a reminder notification.
But I think that some people also want that group members get a notification too, so this behavior should be configurable in the settings.
And I don't think that write-access should have something to do with who gets reminder notifications and who don't.

Actual behaviour

peter@example.com, max@example.com, john@example.com, jane@example.com and the calendar owner get notifications.

Also members of groups which don't have write-access don't get reminders!

Possible solution

I imagine a toggle switch in Settings -> Administration -> Groupware:
"Send reminder notifications to attendees and also shared group members."

Installation method

Manual installation (Cloned git repo)

Operating system

Debian/Ubuntu

PHP engine version

PHP 7.4

Web server

Apache (supported)

Database engine version

SQlite

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

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "10.0.2.5"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "sqlite3",
        "version": "24.0.0.4",
        "overwrite.cli.url": "http:\/\/10.0.2.5",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "installed": true,
        "debug": true,
        "app_install_overwrite": [
            "richdocuments",
            "richdocumentscode",
            "announcementcenter",
            "deck"
        ],
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_sendmailmode": "smtp",
        "mail_smtpauth": 1,
        "mail_smtpsecure": "tls",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "force_language": "en"
    }
}

List of activated Apps

Enabled:
  - accessibility: 1.10.0
  - calendar: 3.1.0-alpha.1
  - cloud_federation_api: 1.7.0
  - comments: 1.14.0
  - contactsinteraction: 1.5.0
  - dashboard: 7.4.0
  - dav: 1.22.0
  - deck: 1.6.0
  - federatedfilesharing: 1.14.0
  - federation: 1.14.0
  - files: 1.19.0
  - files_sharing: 1.16.0
  - files_trashbin: 1.14.0
  - files_versions: 1.17.0
  - lookup_server_connector: 1.12.0
  - oauth2: 1.12.0
  - provisioning_api: 1.14.0
  - settings: 1.6.0
  - sharebymail: 1.14.0
  - systemtags: 1.14.0
  - theming: 1.15.0
  - twofactor_backupcodes: 1.13.0
  - updatenotification: 1.14.0
  - user_status: 1.4.0
  - weather_status: 1.4.0
  - workflowengine: 2.6.0
Disabled:
  - admin_audit
  - bruteforcesettings
  - encryption
  - files_external
  - testing
  - user_ldap

Additional info

I think the issue lies in this file:

$users = $this->getAllUsersWithWriteAccessToCalendar($reminder['calendar_id']);

$users = $this->getAllUsersWithWriteAccessToCalendar($reminder['calendar_id']);
$user = $this->getUserFromPrincipalURI($reminder['principaluri']);
if ($user) {
$users[] = $user;
}
@dzatoah dzatoah added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Feb 21, 2022
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 24, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Feb 25, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 14, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 14, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 14, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 14, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 15, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 15, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 15, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 15, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 15, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 18, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 21, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 21, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
dzatoah added a commit to dzatoah/server that referenced this issue Mar 21, 2022
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
@ChristophWurst ChristophWurst added 3. to review Waiting for reviews and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap labels Mar 21, 2022
ChristophWurst added a commit that referenced this issue Mar 21, 2022
…nt-reminder-behaviour

Fix #31303: Make reminder notification behaviour selectable..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review Waiting for reviews bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants