You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Sharing badges in oC10 are not refreshing #4938
Folder refresh writes a child back only when its etag differs from the local row. ownCloud 10 leaves the etag unchanged when only share metadata changes, so a new sharedByLink value, sharedWithSharee value, or permissions value is dropped.
When the etag still matches but sharedByLink, permissions, or the boolean sharedWithSharee value differ (null and false count as equal), that child is added to the files saved for the folder.
Hi @mvanhorn! Thanks for your contribution here! 🙌🏻
Just an additional comment about this issue. The bug is also reproducible on oCIS servers. Did you make changes to the code for both backends or only for oC10? @jesmrec, are the steps the same for oCIS?
@joragua The change in #5013 isn't backend-specific. It's in OCFileRepository.refreshFolder, which runs for both oC10 and oCIS (oCIS just passes a space WebDAV URL), and the badge fields come from the same oc:share-types parsing in RemoteFile for both. The new branch writes a child back whenever its etag matches the local row but sharedByLink, sharedWithSharee or permissions differ, with no server check.
What I can't tell from the code is why oCIS shows the bug. If oCIS also keeps the etag unchanged when only sharing changes, this branch covers it. If oCIS does change the etag, the existing etag branch already saves that child, and the cause on oCIS would be somewhere else. I haven't tried it against either server, so a pull-to-refresh check on oCIS with @jesmrec's steps would settle it. If it does cover both, the changelog entry and the code comment should drop the oC10-only wording, and I can update them.
Activity
mvanhorn commentedon Oct 12, 2026
Folder refresh writes a child back only when its etag differs from the local row. ownCloud 10 leaves the etag unchanged when only share metadata changes, so a new sharedByLink value, sharedWithSharee value, or permissions value is dropped.
When the etag still matches but sharedByLink, permissions, or the boolean sharedWithSharee value differ (null and false count as equal), that child is added to the files saved for the folder.
#5013
joragua commentedon Oct 13, 2026
Hi @mvanhorn! Thanks for your contribution here! 🙌🏻
Just an additional comment about this issue. The bug is also reproducible on oCIS servers. Did you make changes to the code for both backends or only for oC10? @jesmrec, are the steps the same for oCIS?
jesmrec commentedon Oct 14, 2026
@joragua @mvanhorn same steps
mvanhorn commentedon Oct 14, 2026
@joragua The change in #5013 isn't backend-specific. It's in OCFileRepository.refreshFolder, which runs for both oC10 and oCIS (oCIS just passes a space WebDAV URL), and the badge fields come from the same oc:share-types parsing in RemoteFile for both. The new branch writes a child back whenever its etag matches the local row but sharedByLink, sharedWithSharee or permissions differ, with no server check.
What I can't tell from the code is why oCIS shows the bug. If oCIS also keeps the etag unchanged when only sharing changes, this branch covers it. If oCIS does change the etag, the existing etag branch already saves that child, and the cause on oCIS would be somewhere else. I haven't tried it against either server, so a pull-to-refresh check on oCIS with @jesmrec's steps would settle it. If it does cover both, the changelog entry and the code comment should drop the oC10-only wording, and I can update them.