nextcloud / server

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

Group shared calendars missing (20.0.5) #25165

Closed derBobby closed 3 years ago

derBobby commented 3 years ago

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
nursoda commented 3 years ago

Before I update to 20.0.6: Since it was sufficient in my case (only umlauts, no spaces) to remove and re-add a calendar share, I did not modify the php files. Will updating to 20.0.6 in that case reinstate the issue, so that I have to re- "remove&re-add" after the upgrade?

manu-p commented 3 years ago

On my side, after updating to 20.0.6, no group shared calendars/contacts again. Just replaced the 4 php files with the previously patched ones and it was ok. No need to re-share any calendar/contacts.

blizzz commented 3 years ago

Before I update to 20.0.6: In certain cases (like umlauts) it helped to remove and re-add a calendar share. Will updating to 20.0.6 reinstate the issue, so that I have to re- "remove&re-add" after the upgrade?

Recreated and newly created shares in 20.0.5 remain intact.

fenvarien commented 3 years ago

Sharing calendars with a group is quite important. Why ist 20.0.6 released without a proper fix for this issue?

julian70400 commented 3 years ago

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?

It works like a charm, thanks dude !

k00ni commented 3 years ago

@blizzz Thank you for your work. After looking into the PR, can I assume this fix is part of the next minor release for 20.x? Just to be sure, is it fixing my broken shares or do I have to re-create all of them manually?

simonspa commented 3 years ago

It is scheduled for 20.0.8 and will repair existing shares.

mtippmann commented 3 years ago

fwiw applied https://github.com/nextcloud/server/pull/25448 manually against 20.0.7 and ran the repair-script but it didn't work - only reverting to 20.0.4 files worked.

k00ni commented 3 years ago

fwiw applied #25448 manually against 20.0.7 and ran the repair-script but it didn't work - only reverting to 20.0.4 files worked.

@mtippmann thank you for the feedback. Can someone else please confirm that?

MegaS0ra commented 3 years ago

Hi, Using Nextcloud 20.0.7 Just extracted the following files from a Nextcloud 20.0.4 zip and copy/paste to my working Nextcloud : 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

And it works ! I can now share calendars with groups that have spaces in their name.

nursoda commented 3 years ago

I could share a calendar to a group with spaces with 20.0.7 also, without modifying these files.

MegaS0ra commented 3 years ago

I could share a calendar to a group with spaces with 20.0.7 also, without modifying these files.

Sorry if it does not correspond to the original issue, I was sent here from #17610 and the workaround of replacing the files fixed it for me.

jmechnich commented 3 years ago

Apparently this is still not resolved. I just upgraded from 20.0.5 to 20.0.7 and the group calendars vanished again, so I restored the previous state of the above mentioned files.

Could we maybe get a recipe for manually resolving this, i.e. should the relevant table entries be encoded in some other way? At least for me, the changes in https://github.com/nextcloud/server/pull/24515 don't seem to fix anything but just cause the problems described in this thread. In other words: what is the goal of this exercise ? Thanks in advance.

tcitworld commented 3 years ago

The fix is to be backported in 20.0.8 and 19.0.9. Please be patient. https://github.com/nextcloud/server/pull/25393

walley commented 3 years ago

20.0.8 is out, can anyone confirm this is fixed?

Flachzange commented 3 years ago

20.0.8 is out, can anyone confirm this is fixed?

I can confirm this is fixed for 19.0.9 (Calendar 2.0.5). Just did the update.

ximex commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

cc @blizzz

blizzz commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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

chatlumo commented 3 years ago

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

alasserr commented 3 years ago

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

nursoda commented 3 years ago

@rullzer could you please reopen this bug?

fenvarien commented 3 years ago

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

k00ni commented 3 years ago

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 commented 3 years ago

Don't have much to add, but I'm wondering if this bug is related? https://github.com/nextcloud/files_pdfviewer/issues/381

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

JB1985 commented 3 years ago

Why is the bug not fixed? It has now been 6 months ago ... Are Nextcloud not interested in solving the problem?

JB1972de commented 3 years ago

who f***d that up? It worked before and now spaces are a problem within files and whatelse. Worst: Obviously nobody cares for months - that's how you destroy reputation of a product.

nursoda commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

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 😬).

jospoortvliet commented 3 years ago

@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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

Please see https://github.com/nextcloud/calendar/pull/3232 for a potential fix.