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

Group shared calendars missing (20.0.5) #25165

Closed
derBobby opened this issue Jan 16, 2021 · 87 comments · Fixed by #25393 or nextcloud/calendar#3232
Closed

Group shared calendars missing (20.0.5) #25165

derBobby opened this issue Jan 16, 2021 · 87 comments · Fixed by #25393 or nextcloud/calendar#3232
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav regression

Comments

@derBobby
Copy link

derBobby commented Jan 16, 2021

Steps to reproduce

0.) User A and User B are member of Group G
1.) User A has shared a calendar with group G
1a.) The shared calendar name contains a SPACE.
2.) User B can't see the shared calendar in the calendar web app
3.) User B can't sync the shared calendar on his devices

Expected behaviour

Group sharing of calendar should work
Group shared calendars should be visible for users shared with

Actual behaviour

Group shared calendars are not visible / syncable

Server configuration detail

Operating system: Linux 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64

Webserver: Apache/2.4.38 (Debian) (apache2handler)

Database: hub.docker.com: mariadb:10.4.10-bionic

PHP version:

7.4.14
Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, ftp, hash, iconv, json, mbstring, SPL, PDO, session, posix, Reflection, standard, SimpleXML, pdo_sqlite, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, apache2handler, apcu, bcmath, exif, gd, gmp, imagick, intl, ldap, memcached, pcntl, pdo_mysql, pdo_pgsql, redis, sodium, zip, Zend OPcache

Nextcloud version: 20.0.5 - 20.0.5.2

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

Where did you install Nextcloud from: hub.docker.com: nextcloud:20.0.5

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.6.0
 - activity: 2.13.4
 - admin_audit: 1.10.0
 - bruteforcesettings: 2.0.1
 - calendar: 2.1.3
 - cloud_federation_api: 1.3.0
 - comments: 1.10.0
 - contacts: 3.4.3
 - contactsinteraction: 1.1.0
 - dashboard: 7.0.0
 - dav: 1.16.2
 - deck: 1.2.3
 - documentserver_community: 0.1.8
 - drawio: 0.9.8
 - event_update_notification: 1.2.0
 - federatedfilesharing: 1.10.2
 - federation: 1.10.1
 - files: 1.15.0
 - files_pdfviewer: 2.0.1
 - files_rightclick: 0.17.0
 - files_sharing: 1.12.2
 - files_trashbin: 1.10.1
 - files_versions: 1.13.0
 - files_videoplayer: 1.9.0
 - firstrunwizard: 2.9.0
 - forms: 2.1.0
 - groupfolders: 8.2.0
 - impersonate: 1.7.0
 - issuetemplate: 0.7.0
 - keeweb: 0.6.4
 - logreader: 2.5.0
 - lookup_server_connector: 1.8.0
 - nextcloud_announcements: 1.9.0
 - notes: 4.0.2
 - notifications: 2.8.0
 - oauth2: 1.8.0
 - onlyoffice: 6.2.0
 - password_policy: 1.10.1
 - photos: 1.2.3
 - previewgenerator: 3.1.0
 - privacy: 1.4.0
 - provisioning_api: 1.10.0
 - recommendations: 0.8.0
 - registration: 0.6.0
 - serverinfo: 1.10.0
 - settings: 1.2.0
 - sharebymail: 1.10.0
 - spreed: 10.0.5
 - support: 1.3.0
 - survey_client: 1.8.0
 - systemtags: 1.10.0
 - tasks: 0.13.6
 - text: 3.1.0
 - theming: 1.11.0
 - twofactor_backupcodes: 1.9.0
 - updatenotification: 1.10.0
 - user_status: 1.0.1
 - viewer: 1.4.0
 - weather_status: 1.0.0
 - workflowengine: 2.2.0
Disabled:
 - encryption
 - files_external
 - user_ldap

Configuration (config/config.php)
{
    "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",
        "removed"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "20.0.5.2",
    "overwrite.cli.url": "https:\/\/removed",
    "overwriteprotocol": "https",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "loglevel": 0,
    "mail_sendmailmode": "smtp",
    "mail_smtpmode": "smtp",
    "mail_smtpauthtype": "PLAIN",
    "mail_smtpsecure": "tls",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "587",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpdebug": false,
    "mail_smtptimeout": 10,
    "maintenance": false,
    "allow_user_to_change_display_name": false,
    "auth.bruteforce.protection.enabled": true,
    "trashbin_retention_obligation": "730, auto",
    "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
    "forwarded_for_headers": [
        "HTTP_X_FORWARDED_FOR",
        "X-Real-IP"
    ],
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "theme": "",
    "app_install_overwrite": [
        "keeweb"
    ]
}

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

Are you using encryption: NO

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

Client configuration

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

Operating system: Windows 10

Logs

Web server error log
Insert your web server log here 
Nextcloud log

Browser log
@derBobby derBobby added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Jan 16, 2021
@derBobby
Copy link
Author

derBobby commented Jan 16, 2021

might be related to #25164

@nursoda
Copy link

nursoda commented Jan 16, 2021

Same issue here. No changes except for the core update.

In one case I could work around the issue by unsharing and resharing the calendar.

In another case on the same inscance when doing so it seemed (from the result in the actual sharing dialog) that it succeeded but a reload of calendar showed that the shared-to group vanishes from the list. So again: When I enter the sharing user's calendar, I see that the calendar is shared to the group. I delete that sharing. I re-add it (and see that it "is"). Then reload the web page and it's gone.

I can reliably share to users though. So in some cases it may be a (cumbersome) workaround to temporarily share to affected users directly.

@nursoda
Copy link

nursoda commented Jan 16, 2021

might be related to #25165

self-ref – I guess you meant another issue?

@derBobby
Copy link
Author

Thank you. Updated.

@jmechnich
Copy link

jmechnich commented Jan 16, 2021

In our case this issue is restricted to groups containing a whitespace in their name. Another user reports similar problems when an umlaut is used (see German Nextcloud forum).

Shared addressbooks are affected as well.

I can confirm that this issue exists since we upgraded to 20.0.5 on Friday evening.

Our setup is on Debian Buster with apache 2.4.38, PHP 7.3 and MariaDB 10.3.27.
The logs don't show any obvious errors (except 404 errors for the missing DAV shares).

@derBobby
Copy link
Author

derBobby commented Jan 16, 2021

Thank you @jmechnich !

Do you know if it is enough to rename to group in the UI or would it be necessary to rename the gid?

MariaDB [nextcloud]> select * from groups;
+------------------+------------------+
| gid              | displayname      |
+------------------+------------------+
...
+------------------+------------------+

It is probably not a good idea to change the gid and displayname via database, right?

@jmechnich
Copy link

Do you know if it is enough to rename to group in the UI or would it be necessary to rename the gid?

Is this even possible via the UI? :D
I have only seen a trash symbol so far...

At this point I am still trying to avoid modifying the database directly. The groups table is not the only one where the gid seems to come into play (e.g. dav_shares).

@jmechnich
Copy link

There was a merged pull request related to DAV shares and URL de-/encoding which might be related: 25143fc

@jmechnich
Copy link

jmechnich commented Jan 16, 2021

There was a merged pull request related to DAV shares and URL de-/encoding which might be related: 25143fc

After reverting those changes things seem to be working properly on my test server. Still a bit reluctant to implement them on our production machine as there might be side effects.

Edit: this would also fix #25164

@jmechnich
Copy link

I can confirm that reverting 25143fc also fixes the issue on our production machine.

@tflidd
Copy link
Contributor

tflidd commented Jan 16, 2021

So, this is related to PR #24515

@blizzz worked on that...

@derBobby
Copy link
Author

Updated the whitespace hint to my initial post.

@jmechnich
Thank you, I appreciate your analysis! :-) Is the rollback to the old file safe?

@regenpfeifer
Copy link

Same issue here, c.f.: https://help.nextcloud.com/t/probleme-mit-kalender-freigabe/104490
Calendars are not shareable to groups containing a SPACE. Existing shares to such groups have disappeared.

@jmechnich
Copy link

@jmechnich
Thank you, I appreciate your analysis! :-) Is the rollback to the old file safe?

@derBobby It should be quite safe in my opinion but would still advise you to create a backup of your cloud... ;)

@JB1985
Copy link

JB1985 commented Jan 18, 2021

Does this patch fix the problem? Has anyone tested that?

@simonspa
Copy link
Contributor

@JB1985 if I understand the issue correctly then the patch you referring to is the cause, not the remedy of this. The patch you linked has been included in 20.0.5, which is the version from which on users experience this problem.

@JB1985
Copy link

JB1985 commented Jan 18, 2021

Then the solution should be to take the files from 2.0.4?!

apps/dav/lib/CalDAV/CalDavBackend.php
apps/dav/lib/CardDAV/CardDavBackend.php
apps/dav/lib/DAV/GroupPrincipalBackend.php
apps/dav/lib/DAV/Sharing/Backend.php

Has anyone tested that?

@jmechnich
Copy link

@JB1985 #25165 (comment)

@k00ni
Copy link
Contributor

k00ni commented Jan 18, 2021

Is the root cause maybe also responsible for nextcloud/contacts#2023?

I have the same behavior for address books. If target group contains a white space, a share can be created but users of the group don't see it.

@jmechnich
Copy link

Is the root cause maybe also responsible for nextcloud/contacts#2023?

I have the same behavior for address books. If target group contains a white space, a share can be created but users of the group don't see it.

@k00ni That is very likely the case.

@ximex
Copy link

ximex commented Feb 25, 2021

If i didn't do anything wrong i couldn't confirm that it is fixed for 20.0.8. I still couldn't add new calender shares with groups with "space" and "&" in the name.

@Flachzange
Copy link

Unfortunately, I musst confirm what @ximex said. It works for existing shares. It does NOT work if you want to add a new share.

@tcitworld
Copy link
Member

cc @blizzz

@blizzz
Copy link
Member

blizzz commented Feb 25, 2021

If i didn't do anything wrong i couldn't confirm that it is fixed for 20.0.8. I still couldn't add new calender shares with groups with "space" and "&" in the name.

Mh, that's two things mixed up here. The report originally is about existing shares that disappeared. That's fixed. I'll revisit the space and ampersand issue.

@nursoda
Copy link

nursoda commented Mar 1, 2021

Shoudn't this bug stay open then?

BTW, the bug is still present in NC 21.0.0.18 with current calendar and contacts apps.
And, YES it also applies to sharing an address book in Contacts to a group that contains whitespace character(s).

@quentinDupont
Copy link

I confirm that the bug is still in NC 20.0.8 for sharing calendar with space in his name.

@chatlumo
Copy link

Hello, I updated to NC 20.0.8 and that bug is still here.

@alasserr
Copy link

Well, I even installed the last NC 21 version .. and still here !

@nursoda
Copy link

nursoda commented Mar 30, 2021

@rullzer could you please reopen this bug?

@fenvarien
Copy link

The problem with group shared calendars still exists with NC 21.0.1 - this bug really needs to be reopened, please. @rullzer

@k00ni
Copy link
Contributor

k00ni commented Apr 9, 2021

I know that NC dev's might work on many other things, but this issue is affecting a customer of mine. Where do you need a hand to prepare a fix?

CC @blizzz @tcitworld

@Magicrafter13
Copy link

Don't have much to add, but I'm wondering if this bug is related? nextcloud/files_pdfviewer#381

Seems spaces in paths/names break a lot of things in our wonderful world of technology...

@JB1985

This comment has been minimized.

@JB1972de

This comment has been minimized.

@nursoda
Copy link

nursoda commented Jun 7, 2021

I hate to beak the news to you, but this is not commercial software you paid for and have some "right" to receive some working software in return. (Not that you get that in most commercial software either ;) ) I'm not saying that it would be nice that this bug got fixed (as many others), but still this is a community project. So somebody must step up and fix it. That's the way OSS is "paid" for. I think that your tone is inappropriate here as it doesn't motivate anyone to work on the issue nor does it provide new insights to help find out why it broke. Please delete your last comment, and I'll delete mine.

@stweil
Copy link
Member

stweil commented Jun 8, 2021

@nursoda, but there exists also a commercial product called Nextcloud Enterprise which claims to be "optimized and tested for mission critical environments". Does that product contain the same bugs, or does it use different code? Which one?

"Open source" and "free software" is no excuse for bad quality. I'd expect that contributions which introduce new bugs are either reverted or that the contributor fixes it.

@llucax
Copy link

llucax commented Jun 8, 2021

Please keep discussing the philosophical and ethical implications of this issue in the forum: https://help.nextcloud.com/

This is not the place for debate, you are spamming everyone subscribed to this issue (sorry everyone about this one too 😬).

@nextcloud nextcloud locked as off-topic and limited conversation to collaborators Jun 8, 2021
@jospoortvliet
Copy link
Member

@stweil you get what you pay for. If you pay nothing, then you get only what volunteers are willing and able to do for you - and most volunteers I know respond a lot better to friendly requests than angry demands. Anyhow, I don't think we're getting anywhere so please discuss these things on help.nextcloud.com or do something more productive - contribute, for example.

@stweil
Copy link
Member

stweil commented Jun 8, 2021

I am sorry if my comment caused misunderstandings. I asked several questions which I think might help solving this issue. Which release is used by Nextcloud Enterprise?

And personally I contribute a lot to open source, also to Nextcloud code (that's why I have member status). Therefore quality issues in Nextcloud are a personal challenge for me, too.

@blizzz
Copy link
Member

blizzz commented Jun 10, 2021

I think we have a wrong and/or double encoding in the frontend code. I am looking at the calendar here. Upon searching for a group containing a space, say "Rock Roll", the URI is reported from the server as such.

When initiating the share, the URI ends with "Rock%2bRoll", which is "Rock+Roll". Somewhere the encoding is done. It might not even be calendar, but in the cdav library, because when processing the results from search (which is done via cdav lib) we do already see that the encoding has happened. Needs further digging.

@ChristophWurst
Copy link
Member

Please see nextcloud/calendar#3232 for a potential fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav regression
Projects
None yet