Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
240 commits
Select commit Hold shift + click to select a range
99694da
chore(CI): Adjust testing matrix for Nextcloud 31 on stable31
nickvergessen Jan 23, 2025
058c8b0
Merge pull request #3549 from nextcloud/update-stable31-target-versions
provokateurin Jan 23, 2025
232d980
Fix(l10n): Update translations from Transifex
nextcloud-bot Jan 24, 2025
c4eb008
Fix(l10n): Update translations from Transifex
nextcloud-bot Jan 25, 2025
3383dde
fix(deps): Fix npm audit
nextcloud-command Jan 25, 2025
2a6f69a
Merge pull request #3560 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jan 25, 2025
baf7525
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Jan 26, 2025
09261ef
Merge pull request #3563 from nextcloud/automated/noid/stable31-updat…
provokateurin Jan 26, 2025
9f454ff
Fix(l10n): Update translations from Transifex
nextcloud-bot Jan 27, 2025
6c6e823
fix(Trash): Fix original location for deleting shared item
provokateurin Oct 14, 2024
763f86b
Merge pull request #3573 from nextcloud/backport/3358/stable31
provokateurin Jan 28, 2025
4048b81
Fix(l10n): Update translations from Transifex
nextcloud-bot Jan 31, 2025
6829efb
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 2, 2025
c4ee819
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 3, 2025
24c2dac
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 4, 2025
61e3aeb
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 5, 2025
632d151
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 6, 2025
b13c208
fix: use owner instead of current user for move-to-trash logic
icewind1991 Jan 17, 2025
be6efa4
include circles to acl
ArtificialOwl Jan 26, 2025
247d9d2
fix: show teams in acl manager settings
icewind1991 Feb 5, 2025
4e33c08
fix: make canManageACL work with circles
icewind1991 Feb 5, 2025
2c2da58
fix: show teams in acl ui
icewind1991 Feb 5, 2025
e6a9a8b
chore: js lint
icewind1991 Feb 6, 2025
51e5575
Merge pull request #3586 from nextcloud/backport/3543/stable31
icewind1991 Feb 6, 2025
a89c80d
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 7, 2025
bee73fb
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 8, 2025
11e6a9c
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 9, 2025
c8077eb
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 10, 2025
0f189ea
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 11, 2025
19ace72
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Feb 9, 2025
640e78f
Merge pull request #3602 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Feb 11, 2025
5e2371f
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 12, 2025
6b2ba8d
Merge pull request #3589 from nextcloud/backport/3551/stable31
icewind1991 Feb 12, 2025
6119cca
19.0.0
icewind1991 Feb 12, 2025
44de28c
Merge pull request #3606 from nextcloud/release-19.0.0
icewind1991 Feb 12, 2025
937b14f
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 13, 2025
bdf1ffa
19.0.1
icewind1991 Feb 13, 2025
091fc50
Merge pull request #3610 from nextcloud/release-19.0.1
icewind1991 Feb 13, 2025
2de7981
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Feb 16, 2025
be2dfe5
fix(deps): Fix npm audit
nextcloud-command Feb 16, 2025
356c931
Merge pull request #3620 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Feb 16, 2025
38a5896
Merge pull request #3622 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Feb 17, 2025
6544366
fix(trash): Fix deleting items from public share with write access
come-nc Feb 11, 2025
624bd06
Merge pull request #3626 from nextcloud/backport/3604/stable31
provokateurin Feb 17, 2025
a03f843
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 19, 2025
e35a01e
chore(release): v19.0.2
provokateurin Feb 19, 2025
2b0ec77
Merge pull request #3630 from nextcloud/chore/release/v19.0.2
provokateurin Feb 19, 2025
8145d2b
fix(ACL): Add check to prevent users from revoking their own access
icewind1991 May 14, 2024
0bdbac1
Merge pull request #3633 from nextcloud/backport/2960/stable31
provokateurin Feb 20, 2025
a1a4c9b
chore(release): v19.0.3
provokateurin Feb 20, 2025
d56fc54
Merge pull request #3634 from nextcloud/chore/release/v19.0.3
provokateurin Feb 20, 2025
560b74f
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 21, 2025
c2b77cd
chore(i18n): Improved grammar
rakekniven Feb 8, 2025
b776fe2
Merge pull request #3635 from nextcloud/backport/3598/stable31
provokateurin Feb 21, 2025
36fd849
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 22, 2025
6605c17
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Feb 23, 2025
999d202
fix(deps): Fix npm audit
nextcloud-command Feb 23, 2025
11b8df3
Merge pull request #3644 from nextcloud/automated/noid/stable31-updat…
provokateurin Feb 23, 2025
307ef32
Merge pull request #3646 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Feb 23, 2025
4f542c5
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 25, 2025
d0c751a
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 26, 2025
522c6eb
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 27, 2025
53014c6
Fix(l10n): Update translations from Transifex
nextcloud-bot Feb 28, 2025
293d15d
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 1, 2025
6804038
fix: add mount type to node info
susnux Feb 28, 2025
d6e041f
Merge pull request #3657 from nextcloud/backport/3651/stable31
provokateurin Mar 1, 2025
4d3619f
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Mar 2, 2025
e09ed02
Merge pull request #3661 from nextcloud/automated/noid/stable31-updat…
provokateurin Mar 2, 2025
2a5b383
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 4, 2025
c7b0aa6
lighter request on circle memberships
ArtificialOwl Jan 28, 2025
c3ab428
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 5, 2025
bb503ac
Merge pull request #3667 from nextcloud/backport/3571/stable31
provokateurin Mar 5, 2025
cc6c5e2
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 6, 2025
97e163d
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 8, 2025
72d145a
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 9, 2025
52312f4
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Mar 9, 2025
e08cbfc
Merge pull request #3684 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Mar 9, 2025
be70c2e
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 12, 2025
912d332
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 16, 2025
55af6cb
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 17, 2025
c424e77
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 18, 2025
13980df
fix(ACLPlugin): Use correct path to test new permissions
provokateurin Mar 18, 2025
03de4d1
Merge pull request #3701 from nextcloud/backport/3699/stable31
provokateurin Mar 18, 2025
87f5c98
chore(release): v19.0.4
provokateurin Mar 18, 2025
565ab28
Merge pull request #3703 from nextcloud/chore/release/v19.0.4
provokateurin Mar 18, 2025
6f3b300
feat: only setup trash mount when required
icewind1991 Mar 6, 2025
e19b0db
chore: workaround psalm issue
icewind1991 Mar 18, 2025
113f088
Merge pull request #3689 from nextcloud/backport/3672/stable31
provokateurin Mar 18, 2025
02a42a6
enh: Use Delete icon instead of Close icon
solracsf Mar 19, 2025
3fe75cf
Merge pull request #3706 from nextcloud/backport/3705/stable31
provokateurin Mar 19, 2025
1cfbf3c
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 20, 2025
e3c388e
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 23, 2025
b8fc17d
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Mar 23, 2025
98bf21c
fix(deps): Fix npm audit
nextcloud-command Mar 23, 2025
71226a9
Merge pull request #3710 from nextcloud/automated/noid/stable31-updat…
provokateurin Mar 23, 2025
d71899a
Merge pull request #3695 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Mar 23, 2025
ff03bdd
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 24, 2025
4b0aec7
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 25, 2025
2817fb2
Fix(l10n): Update translations from Transifex
nextcloud-bot Mar 27, 2025
b05c529
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Mar 30, 2025
4099ce4
Merge pull request #3721 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Mar 30, 2025
52bef4a
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Apr 6, 2025
2cae213
fix(deps): Fix npm audit
nextcloud-command Apr 6, 2025
c945d6b
Merge pull request #3729 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Apr 6, 2025
739afb5
Merge pull request #3731 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Apr 7, 2025
1560a0b
Fix(l10n): Update translations from Transifex
nextcloud-bot Apr 12, 2025
f09a055
Fix(l10n): Update translations from Transifex
nextcloud-bot Apr 13, 2025
12f44cd
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Apr 13, 2025
545c368
Merge pull request #3742 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Apr 14, 2025
8e34d8f
Fix(l10n): Update translations from Transifex
nextcloud-bot Apr 15, 2025
ce27772
fix(l10n): Update translations from Transifex
nextcloud-bot Apr 16, 2025
bf7c543
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Apr 20, 2025
77b3896
fix(deps): Fix npm audit
nextcloud-command Apr 20, 2025
842fbe6
Merge pull request #3748 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Apr 22, 2025
8092458
Merge pull request #3747 from nextcloud/automated/noid/stable31-updat…
provokateurin Apr 22, 2025
1bea77c
fix(l10n): Update translations from Transifex
nextcloud-bot Apr 26, 2025
f0972e1
fix(l10n): Update translations from Transifex
nextcloud-bot Apr 27, 2025
cb96121
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Apr 27, 2025
d36103c
fix(deps): Fix npm audit
nextcloud-command Apr 27, 2025
ae5b228
Merge pull request #3760 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Apr 27, 2025
c0e741e
Merge pull request #3762 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Apr 27, 2025
8467651
fix(l10n): Update translations from Transifex
nextcloud-bot Apr 28, 2025
6d7621d
fix(l10n): Update translations from Transifex
nextcloud-bot Apr 29, 2025
9d895d1
fix(l10n): Update translations from Transifex
nextcloud-bot May 1, 2025
7e3f989
fix(l10n): Update translations from Transifex
nextcloud-bot May 2, 2025
8a97790
fix(deps): Fix npm audit
nextcloud-command May 4, 2025
e50a758
Merge pull request #3771 from nextcloud/automated/noid/stable31-fix-n…
provokateurin May 5, 2025
f734343
fix(l10n): Update translations from Transifex
nextcloud-bot May 11, 2025
0df1585
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command May 11, 2025
200abdb
fix(deps): Fix npm audit
nextcloud-command May 11, 2025
f8646ef
Merge pull request #3783 from nextcloud/automated/noid/stable31-fix-n…
provokateurin May 11, 2025
3c46676
Merge pull request #3781 from nextcloud/automated/noid/stable31-updat…
provokateurin May 11, 2025
5cfed63
fix(l10n): Update translations from Transifex
nextcloud-bot May 12, 2025
025ec2a
ACL on nested teams
ArtificialOwl Apr 8, 2025
bb57dcb
feat: setup acl for teams from occ
ArtificialOwl May 12, 2025
ee7e64b
feat: setup acl for teams from occ
ArtificialOwl May 16, 2025
a75b925
Merge pull request #3788 from nextcloud/backport/3785/stable31
provokateurin May 16, 2025
eec8c23
fix(l10n): Update translations from Transifex
nextcloud-bot May 18, 2025
5b41ea3
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command May 18, 2025
b4004fd
fix(deps): Fix npm audit
nextcloud-command May 18, 2025
23a73f2
Merge pull request #3796 from nextcloud/automated/noid/stable31-updat…
provokateurin May 18, 2025
07a0da0
Merge pull request #3798 from nextcloud/automated/noid/stable31-fix-n…
provokateurin May 18, 2025
c5fa97c
fix(l10n): Update translations from Transifex
nextcloud-bot May 20, 2025
1ce4904
fix(l10n): Update translations from Transifex
nextcloud-bot May 21, 2025
a5dadda
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command May 25, 2025
e2383da
Merge pull request #3806 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] May 25, 2025
3620aec
fix(l10n): Update translations from Transifex
nextcloud-bot May 28, 2025
c3675db
fix(l10n): Update translations from Transifex
nextcloud-bot May 29, 2025
a46bb36
fix(l10n): Update translations from Transifex
nextcloud-bot May 30, 2025
8127efe
fix(l10n): Update translations from Transifex
nextcloud-bot May 31, 2025
3222b97
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 1, 2025
592f72e
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Jun 1, 2025
b4f8cdf
fix(deps): Fix npm audit
nextcloud-command Jun 1, 2025
3584ab5
Merge pull request #3815 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Jun 1, 2025
d1cba3e
Merge pull request #3816 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jun 1, 2025
a5ae5f7
feat(FolderController): Add pagination for getFolders()
provokateurin May 26, 2025
1214553
feat: add pagination to the frontend
susnux May 26, 2025
35d630a
Merge pull request #3819 from nextcloud/backport/3808/stable31
provokateurin Jun 2, 2025
7e9390a
chore(release): v19.1.0
provokateurin Jun 2, 2025
ab3d9c0
Merge pull request #3820 from nextcloud/chore/release/v19.1.0
provokateurin Jun 2, 2025
367eb64
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 3, 2025
9026960
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 4, 2025
928cf95
Merge pull request #3787 from nextcloud/backport/3735/stable31
ArtificialOwl Jun 4, 2025
80e1fbc
feat(Commands): Improve descriptions of `permissions` arguments
artonge Jun 4, 2025
e217c8d
Merge pull request #3824 from nextcloud/backport/3822/stable31
artonge Jun 4, 2025
142f3eb
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 7, 2025
675dbbe
fix(deps): Fix npm audit
nextcloud-command Jun 8, 2025
3fc3206
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 10, 2025
a45b530
Merge pull request #3833 from nextcloud/automated/noid/stable31-fix-n…
susnux Jun 10, 2025
9f5dd30
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 14, 2025
e9e055a
fix: add `orderby` to pagination to prevent sorting issues
susnux Jun 10, 2025
3aa1a00
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 15, 2025
94c5065
fix(deps): Fix npm audit
nextcloud-command Jun 15, 2025
c2adfa8
Merge pull request #3847 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jun 15, 2025
433a864
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 18, 2025
1806c69
Merge pull request #3840 from nextcloud/backport/3837/stable31
provokateurin Jun 18, 2025
333189b
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 19, 2025
6cdb088
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 21, 2025
ace21f3
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 22, 2025
96e9974
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Jun 22, 2025
c368fb9
Merge pull request #3856 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Jun 22, 2025
ce75e1a
chore(release): v19.1.1
provokateurin Jun 23, 2025
6e54d6f
Merge pull request #3858 from nextcloud/chore/release/v19.1.1
provokateurin Jun 23, 2025
641ee09
build(composer): Stop updating vendor-bin when updating main composer…
provokateurin Jun 23, 2025
1dc5e7a
fix: scan command not reporting scanned files and folders
st3iny Jun 20, 2025
fcd7076
Merge pull request #3861 from nextcloud/backport/3859/stable31
provokateurin Jun 23, 2025
4cfc89d
Merge pull request #3862 from nextcloud/backport/3850/stable31
provokateurin Jun 23, 2025
4736047
ci: Update workflows
provokateurin Jun 23, 2025
6764b55
Merge pull request #3865 from nextcloud/backport/3863/stable31
provokateurin Jun 23, 2025
4a8cff9
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 24, 2025
a30697d
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 25, 2025
6a5090b
fix: only add storage to filecache join when sharding is used
icewind1991 Jun 20, 2025
04a2166
chore: add stub
icewind1991 Jun 25, 2025
c794e57
Merge pull request #3851 from nextcloud/fix/noid/switch-index-without…
icewind1991 Jun 25, 2025
caea5a3
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 26, 2025
73d9503
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 27, 2025
a93e4ec
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 28, 2025
794db48
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 29, 2025
b8bde1e
fix(deps): Fix npm audit
nextcloud-command Jun 29, 2025
1618e5b
Merge pull request #3871 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jun 29, 2025
1633ac1
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 30, 2025
a17ae90
fix(ACL): Don't check ACL permissions if user doesn't have access to …
provokateurin Jun 24, 2025
372a5fb
Merge pull request #3873 from nextcloud/backport/3867/stable31
provokateurin Jun 30, 2025
61e9f28
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 1, 2025
99d6c71
fix(versions): Avoid new version entity if it exists on DB
solracsf Jun 30, 2025
130ac3b
Merge pull request #3876 from nextcloud/backport/3874/stable31
provokateurin Jul 1, 2025
f2067de
chore(release): v19.1.2
provokateurin Jul 1, 2025
c0bfc05
Merge pull request #3877 from nextcloud/chore/release/v19.1.2
provokateurin Jul 1, 2025
339bc92
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 2, 2025
754fd3a
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 3, 2025
38480c7
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 5, 2025
c32ddaa
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Jul 6, 2025
135ece9
Merge pull request #3881 from nextcloud/automated/noid/stable31-updat…
provokateurin Jul 6, 2025
dc6246e
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 8, 2025
2ad2ddd
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 10, 2025
4cfb7b1
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 18, 2025
bd4a5a3
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 19, 2025
c4f8771
fix(deps): Fix npm audit
nextcloud-command Jul 20, 2025
8904d29
Merge pull request #3894 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jul 20, 2025
e39b006
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 21, 2025
8391f49
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 22, 2025
3a9ad22
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 23, 2025
95e61f3
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 25, 2025
ae61618
fix: don't error in getRelevantPaths if the root of the trash is passed
icewind1991 Apr 24, 2025
ba34966
Merge pull request #3896 from nextcloud/backport/3753/stable31
provokateurin Jul 25, 2025
8ce5d8f
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 26, 2025
d4aacf1
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Jul 27, 2025
dadbd3e
fix(deps): Fix npm audit
nextcloud-command Jul 27, 2025
a50d490
chore(release): v19.1.3
provokateurin Jul 28, 2025
86b6a1e
Merge pull request #3906 from nextcloud/chore/release/v19.1.3
provokateurin Jul 28, 2025
547f0c4
Merge pull request #3900 from nextcloud/automated/noid/stable31-updat…
provokateurin Jul 28, 2025
5904f02
Merge pull request #3903 from nextcloud/automated/noid/stable31-fix-n…
provokateurin Jul 28, 2025
c1c4b24
fix(l10n): Update translations from Transifex
nextcloud-bot Jul 30, 2025
ce72c07
chore(dev-deps): Bump nextcloud/ocp package
nextcloud-command Aug 3, 2025
c0cce74
Merge pull request #3908 from nextcloud/automated/noid/stable31-updat…
github-actions[bot] Aug 3, 2025
216c67d
fix(l10n): Update translations from Transifex
nextcloud-bot Aug 9, 2025
86ee9a9
fix(l10n): Update translations from Transifex
nextcloud-bot Aug 10, 2025
55be08d
fix(l10n): Update translations from Transifex
nextcloud-bot Aug 11, 2025
4aeffc2
feat: store group folder root id and storage id in database
icewind1991 Jun 12, 2025
867800d
fix: make migration for storing gf root and storage id compatible wit…
icewind1991 Jul 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion lib/Trash/TrashBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\Files\Storage\ISharedStorage;
use OCP\Files\Storage\IStorage;
use OCP\IUser;
use OCP\IUserManager;
Expand Down Expand Up @@ -256,7 +257,12 @@ public function moveToTrash(IStorage $storage, string $internalPath): bool {
$result = $trashStorage->moveFromStorage($storage, $internalPath, $targetInternalPath);
}
if ($result) {
$this->trashManager->addTrashItem($folderId, $name, $time, $internalPath, $fileEntry->getId(), $user->getUID());
$originalLocation = $internalPath;
if ($storage->instanceOfStorage(ISharedStorage::class)) {
$originalLocation = $storage->getWrapperStorage()->getUnjailedPath($originalLocation);
}

$this->trashManager->addTrashItem($folderId, $name, $time, $originalLocation, $fileEntry->getId(), $user->getUID());

// some storage backends (object/encryption) can either already move the cache item or cause the target to be scanned
// so we only conditionally do the cache move here
Expand Down
71 changes: 71 additions & 0 deletions tests/Trash/TrashBackendTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@
use OCA\GroupFolders\Folder\FolderManager;
use OCA\GroupFolders\Mount\GroupFolderStorage;
use OCA\GroupFolders\Trash\TrashBackend;
use OCP\Constants;
use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\IUser;
use OCP\Server;
use OCP\Share;
use Test\TestCase;
use Test\Traits\UserTrait;

Expand Down Expand Up @@ -211,4 +214,72 @@ public function testHideDeletedTrashItemInDeletedParentFolderAcl(): void {

$this->logout();
}

public function testWrongOriginalLocation(): void {
$shareManager = Server::get(Share\IManager::class);

$userA = $this->createUser('A', 'test');
$userAFolder = Server::get(IRootFolder::class)->getUserFolder('A');

$userB = $this->createUser('B', 'test');
$userBFolder = Server::get(IRootFolder::class)->getUserFolder('B');

$groupBackend = Server::get(Database::class);
$groupBackend->createGroup('C');
$groupBackend->addToGroup('A', 'C');
$groupBackend->addToGroup('B', 'C');
$this->assertCount(2, $groupBackend->usersInGroup('C'));

$groupFolderId = $this->folderManager->createFolder('D');
$this->folderManager->setFolderACL($groupFolderId, true);
$this->folderManager->addApplicableGroup($groupFolderId, 'C');
$this->folderManager->setGroupPermissions($groupFolderId, 'C', Constants::PERMISSION_ALL);
$this->assertInstanceOf(Folder::class, $userAFolder->get('D'));
$this->assertInstanceOf(Folder::class, $userBFolder->get('D'));

$this->loginAsUser('A');
$userAFolder->newFolder('D/E/F');
$userAFolder->newFile('D/E/F/G', 'foo');

$this->ruleManager->saveRule(new Rule(new UserMapping('group', 'C'), $userAFolder->get('D/E')->getId(), Constants::PERMISSION_READ, 0));
$this->ruleManager->saveRule(new Rule(new UserMapping('user', 'A'), $userAFolder->get('D/E')->getId(), Constants::PERMISSION_ALL, Constants::PERMISSION_READ | Constants::PERMISSION_UPDATE | Constants::PERMISSION_CREATE));
$this->ruleManager->saveRule(new Rule(new UserMapping('user', 'A'), $userAFolder->get('D/E/F')->getId(), Constants::PERMISSION_ALL, Constants::PERMISSION_ALL));

$folderShare = $shareManager->newShare();
$folderShare->setShareType(Share\IShare::TYPE_USER);
$folderShare->setSharedWith('B');
$folderShare->setSharedBy('A');
$folderShare->setPermissions(Constants::PERMISSION_ALL);
$folderShare->setNode($userAFolder->get('D/E/F'));
$folderShare = $shareManager->createShare($folderShare);
$this->assertNotEmpty($folderShare->getId());

$fileShare = $shareManager->newShare();
$fileShare->setShareType(Share\IShare::TYPE_USER);
$fileShare->setSharedWith('B');
$fileShare->setSharedBy('A');
$fileShare->setPermissions(19);
$fileShare->setNode($userAFolder->get('D/E/F/G'));
$fileShare = $shareManager->createShare($fileShare);
$this->assertNotEmpty($fileShare->getId());

$this->loginAsUser('B');
$this->assertTrue($userBFolder->get('F/G')->isDeletable());
$userBFolder->get('F/G')->delete();

$this->assertFalse($userAFolder->nodeExists('D/E/F/G'));

$trashedOfUserA = $this->trashBackend->listTrashRoot($userA);
$this->assertCount(1, $trashedOfUserA);
// Ensure original location inside share is correct
$this->assertSame('D/E/F/G', $trashedOfUserA[0]->getOriginalLocation());

$trashedOfUserB = $this->trashBackend->listTrashRoot($userB);
// Deleting share only unshares it, so no trash here
$this->assertCount(0, $trashedOfUserB);

// Restoring to original location works
$this->trashBackend->restoreItem($trashedOfUserA[0]);
$this->assertTrue($userAFolder->nodeExists('D/E/F/G'));
}
}