nextcloud / nextcloud/groupfolders

Groupfolder is empty for a user when it was shared before the user was added to the group with `OCP\Files\StorageNotAvailableException`

Open
#5,069 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug
Dominant language
PHP
Stars
343
Forks
106
Avg merge
2d 3h
Merged PRs (30d)
34

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.
Steps to reproduce
  1. Have UserA, UserB and a Group with a Groupfolder
  2. Only UserA is a part of the Group
  3. UserA shares the Groupfolder with the UserB - a general internal share
    • UserA can see the Groupfolder as a share as expected
  4. Remove UserA from the Group
  5. Add UserB to the Group
Expected behaviour

UserB still have the Groupfolder, but now as the groupfolder

Actual behaviour
  • UserB still have the Groupfolder marked as a share
  • The content of the folder is not available, it is empty on open
Server configuration

Nextcloud version: 35.0.0 dev

Team folders version: 22.0.6

Logs
{
  "reqId": "MxVTrefQuwcHXJuli8ze",
  "level": 2,
  "time": "2026-08-31T00:34:34+00:00",
  "remoteAddr": "92.208.168.159",
  "user": "admin",
  "app": "no app in context",
  "method": "PROPFIND",
  "url": "/nextcloud/remote.php/dav/files/admin/",
  "scriptName": "/nextcloud/remote.php",
  "message": "Error while getting quota info, using root quota",
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36",
  "version": "35.0.0.1",
  "exception": {
    "Exception": "OCP\\Files\\StorageNotAvailableException",
    "Message": "File by id 1119 not found",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Jail.php",
        "line": 204,
        "function": "free_space",
        "class": "OC\\Files\\Storage\\FailedStorage",
        "type": "->",
        "args": [
          ""
        ]
      },
      {
        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line": 186,
        "function": "free_space",
        "class": "OC\\Files\\Storage\\Wrapper\\Jail",
        "type": "->",
        "args": [
          ""
        ]
      },
      {
        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
        "line": 186,
        "function": "free_space",
        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type": "->",
        "args": [
          ""
        ]
      },
      {
        "file": "/var/www/html/lib/private/legacy/OC_Helper.php",
        "line": 231,
        "function": "free_space",
        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
        "type": "->",
        "args": [
          ""
        ]
      },
      {
        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
        "line": 344,
        "function": "getStorageInfo",
        "class": "OC_Helper",
        "type": "::",
        "args": [
          "/Groupfolder",
          {
            "__class__": "OC\\Files\\Node\\Folder"
          },
          false
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 770,
        "function": "getQuotaInfo",
        "class": "OCA\\DAV\\Connector\\Sabre\\Directory",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php",
        "line": 95,
        "function": "Sabre\\DAV\\{closure}",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 768,
        "function": "handle",
        "class": "Sabre\\DAV\\PropFind",
        "type": "->",
        "args": [
          "{DAV:}quota-available-bytes",
          {
            "__class__": "Closure"
          }
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "propFind",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\DAV\\PropFind"
          },
          {
            "__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
          }
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1052,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          "propFind",
          [
            {
              "__class__": "Sabre\\DAV\\PropFind"
            },
            {
              "__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
            }
          ]
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 984,
        "function": "getPropertiesByNode",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\DAV\\PropFind"
          },
          {
            "__class__": "OCA\\DAV\\Connector\\Sabre\\Directory"
          }
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1664,
        "function": "getPropertiesIteratorForPath",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          "files/admin",
          [
            "{DAV:}getcontentlength",
            "{DAV:}getcontenttype",
            "{DAV:}getetag",
            "{DAV:}getlastmodified",
            "{DAV:}creationdate",
            "{DAV:}displayname",
            "{DAV:}quota-available-bytes",
            "{DAV:}resourcetype",
            "{http://nextcloud.org/ns}has-preview",
            "{http://nextcloud.org/ns}is-encrypted",
            "{http://nextcloud.org/ns}mount-type",
            "{http://owncloud.org/ns}comments-unread",
            "{http://owncloud.org/ns}favorite",
            "{http://owncloud.org/ns}fileid",
            "{http://owncloud.org/ns}owner-display-name",
            "{http://owncloud.org/ns}owner-id",
            "{http://owncloud.org/ns}permissions",
            "{http://owncloud.org/ns}size",
            "{http://nextcloud.org/ns}hidden",
            "{http://nextcloud.org/ns}is-mount-root",
            "{http://nextcloud.org/ns}metadata-blurhash",
            "{http://nextcloud.org/ns}metadata-files-live-photo",
            "{http://nextcloud.org/ns}reminder-due-date",
            "{http://nextcloud.org/ns}note",
            "{http://nextcloud.org/ns}sharees",
            "{http://nextcloud.org/ns}hide-download",
            "{http://nextcloud.org/ns}share-attributes",
            "{http://owncloud.org/ns}share-types",
            "{http://open-collaboration-services.org/ns}share-permissions",
            "{http://nextcloud.org/ns}system-tags",
            "{http://nextcloud.org/ns}rich-workspace-flat",
            "{http://nextcloud.org/ns}rich-workspace-file-flat"
          ],
          1
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1649,
        "function": "writeMultiStatus",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\Xml\\Writer",
            "elementMap": [],
            "contextUri": "/nextcloud/remote.php/dav/",
            "namespaceMap": {
              "DAV:": "d",
              "http://sabredav.org/ns": "s",
              "http://owncloud.org/ns": "oc",
              "http://nextcloud.org/ns": "nc"
            },
            "classMap": []
          },
          {
            "__class__": "Generator"
          },
          false
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 346,
        "function": "generateMultiStatus",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          {
            "__class__": "Generator"
          },
          false
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "httpPropFind",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\HTTP\\Request"
          },
          {
            "__class__": "Sabre\\HTTP\\Response"
          }
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 472,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          "method:PROPFIND",
          [
            {
              "__class__": "Sabre\\HTTP\\Request"
            },
            {
              "__class__": "Sabre\\HTTP\\Response"
            }
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
        "line": 216,
        "function": "invokeMethod",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\HTTP\\Request"
          },
          {
            "__class__": "Sabre\\HTTP\\Response"
          }
        ]
      },
      {
        "file": "/var/www/html/apps/dav/lib/Server.php",
        "line": 431,
        "function": "start",
        "class": "OCA\\DAV\\Connector\\Sabre\\Server",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
        "line": 25,
        "function": "exec",
        "class": "OCA\\DAV\\Server",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/remote.php",
        "line": 152,
        "args": [
          "/var/www/html/apps/dav/appinfo/v2/remote.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/var/www/html/lib/private/Files/Storage/FailedStorage.php",
    "Line": 161,
    "Hint": "Storage is temporarily not available",
    "Previous": {
      "Exception": "OCP\\Files\\NotFoundException",
      "Message": "File by id 1119 not found",
      "Code": 0,
      "Trace": [
        {
          "file": "/var/www/html/apps/files_sharing/lib/SharedStorage.php",
          "line": 547,
          "function": "init",
          "class": "OCA\\Files_Sharing\\SharedStorage",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
          "line": 271,
          "function": "getWrapperStorage",
          "class": "OCA\\Files_Sharing\\SharedStorage",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
          "line": 271,
          "function": "isLocal",
          "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
          "line": 271,
          "function": "isLocal",
          "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/workflowengine/lib/Check/FileName.php",
          "line": 40,
          "function": "isLocal",
          "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/workflowengine/lib/Check/AbstractStringCheck.php",
          "line": 39,
          "function": "getActualValue",
          "class": "OCA\\WorkflowEngine\\Check\\FileName",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/workflowengine/lib/Service/RuleMatcher.php",
          "line": 224,
          "function": "executeCheck",
          "class": "OCA\\WorkflowEngine\\Check\\AbstractStringCheck",
          "type": "->",
          "args": [
            "is",
            "blocked.txt"
          ]
        },
        {
          "file": "/var/www/html/apps/workflowengine/lib/Service/RuleMatcher.php",
          "line": 159,
          "function": "check",
          "class": "OCA\\WorkflowEngine\\Service\\RuleMatcher",
          "type": "->",
          "args": [
            {
              "class": "OCA\\WorkflowEngine\\Check\\FileName",
              "operator": "is",
              "value": "blocked.txt"
            }
          ]
        },
        {
          "file": "/var/www/html/apps-extra/files_accesscontrol/lib/Operation.php",
          "line": 85,
          "function": "getFlows",
          "class": "OCA\\WorkflowEngine\\Service\\RuleMatcher",
          "type": "->",
          "args": [
            false
          ]
        },
        {
          "file": "/var/www/html/apps-extra/files_accesscontrol/lib/CacheWrapper.php",
          "line": 48,
          "function": "checkFileAccess",
          "class": "OCA\\FilesAccessControl\\Operation",
          "type": "->",
          "args": [
            "",
            {
              "__class__": "OCA\\Files_Sharing\\SharedMount"
            },
            true,
            {
              "__class__": "OC\\Files\\Cache\\CacheEntry"
            },
            0
          ]
        },
        {
          "file": "/var/www/html/lib/private/Files/Cache/Wrapper/CacheWrapper.php",
          "line": 85,
          "function": "formatCacheEntry",
          "class": "OCA\\FilesAccessControl\\CacheWrapper",
          "type": "->",
          "args": [
            {
              "__class__": "OC\\Files\\Cache\\CacheEntry"
            }
          ]
        },
        {
          "file": "/var/www/html/lib/private/Files/View.php",
          "line": 1584,
          "function": "get",
          "class": "OC\\Files\\Cache\\Wrapper\\CacheWrapper",
          "type": "->",
          "args": [
            ""
          ]
        },
        {
          "file": "/var/www/html/lib/private/Files/Node/Folder.php",
          "line": 89,
          "function": "getDirectoryContent",
          "class": "OC\\Files\\View",
          "type": "->",
          "args": [
            "/admin/files",
            null,
            {
              "__class__": "OC\\Files\\Node\\LazyUserFolder"
            }
          ]
        },
        {
          "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
          "line": 262,
          "function": "getDirectoryListing",
          "class": "OC\\Files\\Node\\Folder",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
          "line": 59,
          "function": "getChildren",
          "class": "OCA\\DAV\\Connector\\Sabre\\Directory",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php",
          "line": 108,
          "function": "cacheDirectory",
          "class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
          "type": "->",
          "args": [
            {
              "__class__": "OCA\\DAV\\Files\\FilesHome"
            },
            {
              "__class__": "Sabre\\DAV\\PropFind"
            }
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
          "line": 89,
          "function": "preloadCollection",
          "class": "OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\DAV\\PropFind"
            },
            {
              "__class__": "OCA\\DAV\\Files\\FilesHome"
            }
          ]
        },
        {
          "file": "/var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php",
          "line": 46,
          "function": "emit",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            "preloadCollection",
            [
              {
                "__class__": "Sabre\\DAV\\PropFind"
              },
              {
                "__class__": "OCA\\DAV\\Files\\FilesHome"
              }
            ]
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
          "line": 89,
          "function": "collectionPreloadNotifier",
          "class": "OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\DAV\\PropFind"
            },
            {
              "__class__": "OCA\\DAV\\Files\\FilesHome"
            }
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
          "line": 1052,
          "function": "emit",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            "propFind",
            [
              {
                "__class__": "Sabre\\DAV\\PropFind"
              },
              {
                "__class__": "OCA\\DAV\\Files\\FilesHome"
              }
            ]
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
          "line": 984,
          "function": "getPropertiesByNode",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\DAV\\PropFind"
            },
            {
              "__class__": "OCA\\DAV\\Files\\FilesHome"
            }
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
          "line": 1664,
          "function": "getPropertiesIteratorForPath",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            "files/admin",
            [
              "{DAV:}getcontentlength",
              "{DAV:}getcontenttype",
              "{DAV:}getetag",
              "{DAV:}getlastmodified",
              "{DAV:}creationdate",
              "{DAV:}displayname",
              "{DAV:}quota-available-bytes",
              "{DAV:}resourcetype",
              "{http://nextcloud.org/ns}has-preview",
              "{http://nextcloud.org/ns}is-encrypted",
              "{http://nextcloud.org/ns}mount-type",
              "{http://owncloud.org/ns}comments-unread",
              "{http://owncloud.org/ns}favorite",
              "{http://owncloud.org/ns}fileid",
              "{http://owncloud.org/ns}owner-display-name",
              "{http://owncloud.org/ns}owner-id",
              "{http://owncloud.org/ns}permissions",
              "{http://owncloud.org/ns}size",
              "{http://nextcloud.org/ns}hidden",
              "{http://nextcloud.org/ns}is-mount-root",
              "{http://nextcloud.org/ns}metadata-blurhash",
              "{http://nextcloud.org/ns}metadata-files-live-photo",
              "{http://nextcloud.org/ns}reminder-due-date",
              "{http://nextcloud.org/ns}note",
              "{http://nextcloud.org/ns}sharees",
              "{http://nextcloud.org/ns}hide-download",
              "{http://nextcloud.org/ns}share-attributes",
              "{http://owncloud.org/ns}share-types",
              "{http://open-collaboration-services.org/ns}share-permissions",
              "{http://nextcloud.org/ns}system-tags",
              "{http://nextcloud.org/ns}rich-workspace-flat",
              "{http://nextcloud.org/ns}rich-workspace-file-flat"
            ],
            1
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
          "line": 1649,
          "function": "writeMultiStatus",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\Xml\\Writer",
              "elementMap": [],
              "contextUri": "/nextcloud/remote.php/dav/",
              "namespaceMap": {
                "DAV:": "d",
                "http://sabredav.org/ns": "s",
                "http://owncloud.org/ns": "oc",
                "http://nextcloud.org/ns": "nc"
              },
              "classMap": []
            },
            {
              "__class__": "Generator"
            },
            false
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
          "line": 346,
          "function": "generateMultiStatus",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            {
              "__class__": "Generator"
            },
            false
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
          "line": 89,
          "function": "httpPropFind",
          "class": "Sabre\\DAV\\CorePlugin",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\HTTP\\Request"
            },
            {
              "__class__": "Sabre\\HTTP\\Response"
            }
          ]
        },
        {
          "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
          "line": 472,
          "function": "emit",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            "method:PROPFIND",
            [
              {
                "__class__": "Sabre\\HTTP\\Request"
              },
              {
                "__class__": "Sabre\\HTTP\\Response"
              }
            ]
          ]
        },
        {
          "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
          "line": 216,
          "function": "invokeMethod",
          "class": "Sabre\\DAV\\Server",
          "type": "->",
          "args": [
            {
              "__class__": "Sabre\\HTTP\\Request"
            },
            {
              "__class__": "Sabre\\HTTP\\Response"
            }
          ]
        },
        {
          "file": "/var/www/html/apps/dav/lib/Server.php",
          "line": 431,
          "function": "start",
          "class": "OCA\\DAV\\Connector\\Sabre\\Server",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
          "line": 25,
          "function": "exec",
          "class": "OCA\\DAV\\Server",
          "type": "->",
          "args": []
        },
        {
          "file": "/var/www/html/remote.php",
          "line": 152,
          "args": [
            "/var/www/html/apps/dav/appinfo/v2/remote.php"
          ],
          "function": "require_once"
        }
      ],
      "File": "/var/www/html/apps/files_sharing/lib/SharedStorage.php",
      "Line": 168
    },
    "message": "Error while getting quota info, using root quota",
    "exception": "{\"class\":\"OCP\\Files\\StorageNotAvailableException\",\"message\":\"File by id 1119 not found\",\"code\":0,\"file\":\"/var/www/html/lib/private/Files/Storage/FailedStorage.php:161\",\"trace\":\"#0 /var/www/html/lib/private/Files/Storage/Wrapper/Jail.php(204): OC\\Files\\Storage\\FailedStorage->free_space('')\\n#1 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Jail->free_space('')\\n#2 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(186): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#3 /var/www/html/lib/private/legacy/OC_Helper.php(231): OC\\Files\\Storage\\Wrapper\\Wrapper->free_space('')\\n#4 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(344): OC_Helper::getStorageInfo('/Groupfolder', Object(OC\\Files\\Node\\Folder), false)\\n#5 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(770): OCA\\DAV\\Connector\\Sabre\\Directory->getQuotaInfo()\\n#6 /var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php(95): Sabre\\DAV\\CorePlugin->Sabre\\DAV\\{closure}()\\n#7 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(768): Sabre\\DAV\\PropFind->handle('{DAV:}quota-ava...', Object(Closure))\\n#8 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->propFind(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#9 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#10 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Connector\\Sabre\\Directory))\\n#11 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/admin', Array, 1)\\n#12 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#13 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#14 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#15 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#16 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#17 /var/www/html/apps/dav/lib/Server.php(431): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#18 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#19 /var/www/html/remote.php(152): require_once('/var/www/html/a...')\\n#20 {main}\",\"previous\":{\"class\":\"OCP\\Files\\NotFoundException\",\"message\":\"File by id 1119 not found\",\"code\":0,\"file\":\"/var/www/html/apps/files_sharing/lib/SharedStorage.php:168\",\"trace\":\"#0 /var/www/html/apps/files_sharing/lib/SharedStorage.php(547): OCA\\Files_Sharing\\SharedStorage->init()\\n#1 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(271): OCA\\Files_Sharing\\SharedStorage->getWrapperStorage()\\n#2 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(271): OC\\Files\\Storage\\Wrapper\\Wrapper->isLocal()\\n#3 /var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php(271): OC\\Files\\Storage\\Wrapper\\Wrapper->isLocal()\\n#4 /var/www/html/apps/workflowengine/lib/Check/FileName.php(40): OC\\Files\\Storage\\Wrapper\\Wrapper->isLocal()\\n#5 /var/www/html/apps/workflowengine/lib/Check/AbstractStringCheck.php(39): OCA\\WorkflowEngine\\Check\\FileName->getActualValue()\\n#6 /var/www/html/apps/workflowengine/lib/Service/RuleMatcher.php(224): OCA\\WorkflowEngine\\Check\\AbstractStringCheck->executeCheck('is', 'blocked.txt')\\n#7 /var/www/html/apps/workflowengine/lib/Service/RuleMatcher.php(159): OCA\\WorkflowEngine\\Service\\RuleMatcher->check(Array)\\n#8 /var/www/html/apps-extra/files_accesscontrol/lib/Operation.php(85): OCA\\WorkflowEngine\\Service\\RuleMatcher->getFlows(false)\\n#9 /var/www/html/apps-extra/files_accesscontrol/lib/CacheWrapper.php(48): OCA\\FilesAccessControl\\Operation->checkFileAccess('', Object(OCA\\Files_Sharing\\SharedMount), true, Object(OC\\Files\\Cache\\CacheEntry), 0)\\n#10 /var/www/html/lib/private/Files/Cache/Wrapper/CacheWrapper.php(85): OCA\\FilesAccessControl\\CacheWrapper->formatCacheEntry(Object(OC\\Files\\Cache\\CacheEntry))\\n#11 /var/www/html/lib/private/Files/View.php(1584): OC\\Files\\Cache\\Wrapper\\CacheWrapper->get('')\\n#12 /var/www/html/lib/private/Files/Node/Folder.php(89): OC\\Files\\View->getDirectoryContent('/admin/files', NULL, Object(OC\\Files\\Node\\LazyUserFolder))\\n#13 /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php(262): OC\\Files\\Node\\Folder->getDirectoryListing()\\n#14 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(59): OCA\\DAV\\Connector\\Sabre\\Directory->getChildren()\\n#15 /var/www/html/apps/dav/lib/Connector/Sabre/CommentPropertiesPlugin.php(108): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->cacheDirectory(Object(OCA\\DAV\\Files\\FilesHome), Object(Sabre\\DAV\\PropFind))\\n#16 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\CommentPropertiesPlugin->preloadCollection(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#17 /var/www/html/apps/dav/lib/Connector/Sabre/PropFindPreloadNotifyPlugin.php(46): Sabre\\DAV\\Server->emit('preloadCollecti...', Array)\\n#18 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): OCA\\DAV\\Connector\\Sabre\\PropFindPreloadNotifyPlugin->collectionPreloadNotifier(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#19 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1052): Sabre\\DAV\\Server->emit('propFind', Array)\\n#20 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(984): Sabre\\DAV\\Server->getPropertiesByNode(Object(Sabre\\DAV\\PropFind), Object(OCA\\DAV\\Files\\FilesHome))\\n#21 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1664): Sabre\\DAV\\Server->getPropertiesIteratorForPath('files/admin', Array, 1)\\n#22 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(1649): Sabre\\DAV\\Server->writeMultiStatus(Object(Sabre\\Xml\\Writer), Object(Generator), false)\\n#23 /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php(346): Sabre\\DAV\\Server->generateMultiStatus(Object(Generator), false)\\n#24 /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php(89): Sabre\\DAV\\CorePlugin->httpPropFind(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#25 /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php(472): Sabre\\DAV\\Server->emit('method:PROPFIND', Array)\\n#26 /var/www/html/apps/dav/lib/Connector/Sabre/Server.php(216): Sabre\\DAV\\Server->invokeMethod(Object(Sabre\\HTTP\\Request), Object(Sabre\\HTTP\\Response))\\n#27 /var/www/html/apps/dav/lib/Server.php(431): OCA\\DAV\\Connector\\Sabre\\Server->start()\\n#28 /var/www/html/apps/dav/appinfo/v2/remote.php(25): OCA\\DAV\\Server->exec()\\n#29 /var/www/html/remote.php(152): require_once('/var/www/html/a...')\\n#30 {main}\"}}",
    "CustomMessage": "Error while getting quota info, using root quota"
  }
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the sequence where a group folder is shared before UserB joins the group, then inspect apps/files_sharing/lib/SharedStorage.php around init and the related group-folder handling. Trace why UserB retains an unusable share and compare the DAV error path shown in the log. Done means UserB sees the folder as a group folder with its content available after joining the group.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.