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

Calendar invites not sent when using 3rd party CalDav client #17810

Closed
chaptergy opened this issue Nov 4, 2019 · 10 comments
Closed

Calendar invites not sent when using 3rd party CalDav client #17810

chaptergy opened this issue Nov 4, 2019 · 10 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: dav

Comments

@chaptergy
Copy link

Steps to reproduce

  1. Connect to the CalDav Server via DAVx5
  2. Create an event with attendees in a synced calendar

Expected behaviour

The attendees are each sent an invite via email

Actual behaviour

The calendar was updated online but no invites were sent. However when changing it in the official calendar web app, invites are sent out, so the issue can't be my email setup.

Server configuration

Operating system: I unfortunately don't know

Web server: Not showing in the server info settings tab either

Database: mysql

PHP version: 7.3.11

Nextcloud version: 17.0.0

Updated from an older Nextcloud/ownCloud or fresh install: Update

Where did you install Nextcloud from: My hosting provider did it

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.3.0
  - apporder: 0.8.0
  - calendar: 1.7.1
  - carnet: 0.18.7
  - circles: 0.17.8
  - cloud_federation_api: 1.0.0
  - contacts: 3.1.6
  - dav: 1.13.0
  - deck: 0.7.0
  - federatedfilesharing: 1.7.0
  - federation: 1.7.0
  - files: 1.12.0
  - files_pdfviewer: 1.6.0
  - files_rightclick: 0.15.1
  - files_sharing: 1.9.0
  - files_trashbin: 1.7.0
  - files_versions: 1.10.0
  - files_videoplayer: 1.6.0
  - impersonate: 1.4.0
  - logreader: 2.2.0
  - lookup_server_connector: 1.5.0
  - metadata: 0.10.0
  - nextcloud_announcements: 1.6.0
  - notifications: 2.5.0
  - oauth2: 1.5.0
  - occweb: 0.0.4
  - password_policy: 1.7.0
  - polls: 0.10.4
  - provisioning_api: 1.7.0
  - serverinfo: 1.7.0
  - sharebymail: 1.7.0
  - spreed: 7.0.1
  - tasks: 0.11.3
  - text: 1.1.0
  - theming: 1.8.0
  - twofactor_backupcodes: 1.6.0
  - twofactor_totp: 4.0.0
  - updatenotification: 1.7.0
  - viewer: 1.1.0
  - workflowengine: 1.7.0

Nextcloud configuration:

Config report
{
    "system": {
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "17.0.0.9",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "6379",
            "timeout": "1.5",
            "dbindex": "0"
        },
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "log_type": "syslog",
        "syslog_tag": "nextcloud-nx3851",
        "simpleSignUpLink.shown": false,
        "upgrade.disable-web": true,
        "updatechecker": true,
        "mail_sendmailmode": "smtp",
        "maintenance": false,
        "has_rebuilt_cache": true,
        "loglevel": 2,
        "app_install_overwrite": [
            "occweb"
        ],
        "skeletondirectory": "\/var\/www\/html\/themes\/hetzner\/skeleton"
    }
}

Are you using external storage, if yes which one: nope

Are you using encryption: no

Are you using an external user-backend, if yes which one: no

Client configuration

App: Davx5 2.6-ose

Operating system: Android 9

Logs

Unfortunately I don't have access to any of the logs

@alxnbl
Copy link

alxnbl commented Jun 5, 2020

I encoutered the same issue.
I gave some additional information on the help form, I hope it can helps : https://help.nextcloud.com/t/nextcloud-calendar-not-sending-invitation-when-creating-from-android-app/69363/3 .

@CyrilBrulebois
Copy link

Having performed a few tests, it seems to me I can confirm there some restrictions as to when invites (for attendees) are sent:

  1. if you're writing to a calendar that's shared by someone else, invitations aren't sent;
  2. if you're writing to your own calendar, but the organizer property doesn't match the mail address defined in Nextcloud, invitations aren't sent either.

This can be verified by downloading the ICS file for a given event, the relevant field is ORGANIZER. It can look like this, e.g. with various Android sync clients:

ORGANIZER:mailto:cyril@example.org

or like this, e.g. from iOS:

ORGANIZER;CN="Cyril Brulebois";EMAIL="cyril@example.org":mailto:cyril@example.org

It seems the mail address after mailto: is the part that matters, and what must match what's defined in Nextcloud. This means that the first use case I've mentioned is actually just a particular case of the second one, but one might get confused when testing (e.g. Android client for a person who gets access to a shared calendar → KO vs. iOS client for a person who shared their calendar → OK but that's actually not at all an Android vs. iOS difference in the end!).

As it stands: One needs to make extra sure that the configured sync client knows about the proper mail address, and that one writes to a calendar which is linked to the same address.

It might be possible to have some kind of policy to allow (or not) other persons having access to an agenda to have invitations sent out, I've seen the notion of privilege, ACL, etc. so maybe the building bricks are already available (see schedule-send*), but I won't dive deeper into the code today.

Hope this help!

@tcitworld
Copy link
Member

tcitworld commented Jun 4, 2021

if you're writing to a calendar that's shared by someone else, invitations aren't sent;

This is #26668 (previously at nextcloud/calendar#2055 and related issues, especially #15676 )

if you're writing to your own calendar, but the organizer property doesn't match the mail address defined in Nextcloud, invitations aren't sent either.

This is #27201

@distefam
Copy link

distefam commented Feb 5, 2022

@CyrilBrulebois Did you manage to get the organizer property to be the correct value on iOS or macOS?

@lkthomas
Copy link

if you're writing to your own calendar, but the organizer property doesn't match the mail address defined in Nextcloud, invitations aren't sent either. <- this statement help me solve the Android DAVx5 setting, the "account name" on DAVx5 can't set randomly and has to match the email which you set on your NC account, I guess you can rename your account to match it on DAVx5 if you got it wrong.

@rurod
Copy link

rurod commented Nov 14, 2023

@distefam Hi, I was looking for a solution to achieve this on iOS too.
If you use the email rather than the username to log into the nextcloud account, it works.
I have tried this on :

  • iOS 17.0.3
  • MacOS Sonoma 14.1.1
  • Nextcloud 27.1.3
  • CalendarApp 4.5.3

@russell
Copy link

russell commented Nov 13, 2024

Yep, hit the same issue, attendees are not sent a notification or have the event added to their calendars if the account name doesn't match

if you're writing to your own calendar, but the organizer property doesn't match the mail address defined in Nextcloud, invitations aren't sent either. <- this statement help me solve the Android DAVx5 setting, the "account name" on DAVx5 can't set randomly and has to match the email which you set on your NC account, I guess you can rename your account to match it on DAVx5 if you got it wrong.

when using e/os with the built in nextcloud integration, the account name was my first name russell and it had to be updated to my email address.

@Superpigdots
Copy link

@russell and @lkthomas @CyrilBrulebois @tcitworld I am confused by what you are saying when you say the solution is in matching the account name with the email.

  1. I have my Nextcloud admin account setup under email1@example.com, which I see under the Personal Info tab of my Nextcloud dashboard.
  2. I have the email account setup for Calendar invites, as can be seen under Administration > Basic Settings. This is email2@example.com
  3. I have my DAVx5 account username, also listed for me as email1@example.com, the first thing I see when I open the DAVx5 app and get past the app intro slides.
  4. I have the calendar email listed within the DAVx5 account email1@example.com, which is also shown to be email1@example.com.
    1. Under the settings in the Authentication section of the DAVx5 email1@example.com account, it has a part that says ":User Name" which I have entered as my non-email Nextcloud username.

Are you saying the solution must be to set the DAVx5 account username in 3. to be the same as my Nextcloud admin account email in 1.? Or are you saying that the solution must be to set the DAVx5 account username in 3. to be the same as my email account setup for Calendar invites in 2., which is email2@example.com? Or are you saying something else?

@russell
Copy link

russell commented Dec 8, 2024

From my experience, i needed to have 3 match the match the email address i have setup in Nextcloud.

So my working setup according to your breakdown would be

  1. nextcloud admin admin@mydomain.com
  2. nextcloud calendar configured as nextcloud@mydomain.com
  3. my davx5 account configured as russell@mydomain.com
  4. ? i'm not sure about this one, i can't find another way to set an email address in davx5
  5. my davx5 nextcloud authentication account is russell
  6. within nextcloud for my account russell i have my notification email found under /settings/user set to russell@mydomain.com

To make it work for me I changed 3, I found that the way e/OS setup davx5 it configured my davx5 account name to russell and this needed to be changed to russell@mydomain.com

So i'm saying something else, 3 needs to match to 6, because 6 is my user i'm connecting as notification email, it should match the davx5 account name.

@Superpigdots
Copy link

@russell thank you so much for the detailed reply! So, I'm not quire sure how I fixed it but, between reporting my inquiry and your reply, my tinkering somehow fixed my calendar invites and now people are getting them. :)))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: dav
Projects
None yet
Development

No branches or pull requests

9 participants