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
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
- Have
UserA,UserBand aGroupwith aGroupfolder - Only
UserAis a part of theGroup UserAshares theGroupfolderwith theUserB- a general internal shareUserAcan see theGroupfolderas a share as expected
- Remove
UserAfrom theGroup - Add
UserBto theGroup
Expected behaviour
UserB still have the Groupfolder, but now as the groupfolder
Actual behaviour
UserBstill have theGroupfoldermarked 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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