Commit graph

2024 commits

Author SHA1 Message Date
Carl Schwan
59b9ef6bab
Merge pull request #59552 from nextcloud/backport/59511/stable33
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Has been cancelled
Psalm static code analysis / static-code-analysis-security (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ocp (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ncu (push) Has been cancelled
[stable33] Only mask the permissions for the users home directory for public shares
2026-04-15 15:09:32 +02:00
Robin Appelman
00b5a150be perf: don't fetch child mounts when getting node parent
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-15 06:55:29 +00:00
Robin Appelman
8ad7cccc27 feat: add permissions mask variant that only masks one directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-09 23:54:38 +00:00
Salvatore Martire
65d8012c96 fix: use unjailed source path when moving jailed files
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-30 13:43:25 +00:00
Cristian Scheid
229a3bbf0a feat(file-info): encapsulate logic to get last activity in getLastActivity function
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-26 08:06:33 +00:00
Cristian Scheid
7a21995bec refactor(recent-search): use order by fields to determine extended cache join and cast config limit to number
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-26 08:06:33 +00:00
Cristian Scheid
9776782f4a feat(recent-files): add nc:last_activity property to allow sorting by max between upload_time and mtime
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-26 08:06:33 +00:00
Cristian Scheid
59527e59be feat(recent-files): add recent_files_limit config on files settings
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-26 08:06:32 +00:00
Tobias Kaminsky
1d176c03c3 Revert "[stable33] Stable33 authoritative share" 2026-03-24 16:41:26 +01:00
Stephan Orbaugh
af8d78a825
Merge pull request #58894 from nextcloud/stable33-authoritative-share
[stable33] Stable33 authoritative share
2026-03-20 10:15:22 +01:00
Robin Appelman
64151e9b11 fix: fix moving mountpoints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
6464ecfa84 fix: don't error when moving a non-existing mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
41825529e7 fix: clear in-memory cached mounts for user when adding/removing mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
42c6ffa7a9 feat: export getData for public FileInfo interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
92274d90cc feat: add event for user home mount having being setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
aa9697cdef fix: only validate mounts for new share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
ffa6784bba feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
824c142198 fix: also use authoritative mount info for setupForProvider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:29:35 +01:00
Robin Appelman
fb49d9c7ea fix: only refresh mounts once per user
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:29:35 +01:00
Andy Scherzinger
b6e80d33e7
Merge pull request #58455 from nextcloud/backport/57878/stable33
[stable33] fix(View): Handle ICacheEntry returned by FileInfo->getData()
2026-03-19 16:05:27 +01:00
Salvatore Martire
65d99fc1dc fix(files_sharing): respect config to skip certificate verification
This is important especially for local development, as certificate are

self-signed.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-18 19:15:31 +01:00
ailkiv
f00e6d471f fix: PostgreSQL transaction aborts when caching user mounts
Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
2026-03-12 11:20:29 +00:00
Robin Appelman
65db0acd46
fix: make objectstore copy consistent with changed local storage behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 18:12:28 +01:00
Robin Appelman
49223b4530
fix: give target file all permissions on copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 18:11:38 +01:00
Robin Appelman
27e63dd6b2
fix: fix updating cached mounts with multiple entries for root id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-05 14:26:28 +01:00
Cristian Scheid
dfdb4ba500 feat: set creation_time on file creation and render recently created icon
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 15:09:50 +00:00
Salvatore Martire
0407f7094f
Merge pull request #58673 from nextcloud/backport/58660/stable33
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable33] fix: check source and target when emitting copy event
2026-03-02 18:25:15 +01:00
Salvatore Martire
ba9bd0d82f fix: check source and target when emitting copy event
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-02 15:51:43 +00:00
Josh
8e73c32db8 chore: fixup/ revert cast in S3ObjectTrait
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:55 +00:00
Josh
2fe757f358 fix(S3ObjectTrait): cast $urn to a string until typing adding elsewhere
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:55 +00:00
Josh
ec1206ec58 fix(ObjectStorage): fix 0 folder handling in Primary Storage
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:55 +00:00
Salvatore Martire
24ab6ac5c5 fix: avoid recomputing list of mounts by provider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-25 06:30:53 +00:00
Robin Appelman
e88748e701
fix: correctly return false for filesize on non-existing file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-24 18:05:00 +01:00
Carl Schwan
9866e8190d fix(propagator): Don't run queries if no parents
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-23 12:00:07 +00:00
provokateurin
8d2378177c fix(View): Handle ICacheEntry returned by FileInfo->getData()
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-20 08:49:29 +00:00
provokateurin
bbde9496ca fix(Propagator): Also skip groupfolders versions and trash entries
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-20 05:23:30 +00:00
Andy Scherzinger
4a0dce67b0
Merge pull request #58378 from nextcloud/backport/58285/stable33
[stable33] fix(cache): filter out invalid entries in `OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById`
2026-02-19 23:34:29 +01:00
provokateurin
72d18abe62 fix(Propagator): Skip groupfolders root entries
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-19 13:09:07 +00:00
Ferdinand Thiessen
51b3ad5c91 fix(cache): filter out invalid entries in OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:30:36 +00:00
Cristian Scheid
8655c6ecc7 feat: add upload_time support to file search and recent files
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-17 10:48:42 +00:00
Carl Schwan
c844689b86
fix(preview): Fix files:app-data-scan for previews
And add unit tests for both migrated files and non-migrated files

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 01:54:36 +01:00
Carl Schwan
3d031b03f3
fix(propagator): Lock rows also in propagateChange
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-11 16:25:18 +01:00
Carl Schwan
cae742d182
fix(propagator): Improve lock behavior of propagator
Fix possible dead locks when running the propagator caused by two
requests updating the same amount rows in transactions.

- Lock rows always in the same deterministic order by sorting the
  path_hash first

- On all database outside of sqlite, also do first a SELECT FOR UPDATE
  to lock all the rows used in batch UPDATE calls, afterward to decrease
  the risk of two requests trying to lock the same rows

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-11 16:25:12 +01:00
Benjamin Frueh
b75a1bce15 feat(dav): allow extending propfind properties via event
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

refactor: rename BeforePropfindEvent to BeforeRemotePropfindEvent

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

chore: update composer autoloader for new event class

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforeRemotePropfindEvent.php

Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>
2026-02-05 13:31:33 +01:00
Robin Appelman
f55afafc58
fix: getById: don't setup for all users with access by default
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-02 19:01:27 +01:00
Andy Scherzinger
4e3f0b5a2a
Merge pull request #57912 from nextcloud/backport/57815/stable33
[stable33] feat: optimize user mount cache
2026-01-29 20:56:45 +01:00
Andy Scherzinger
0bffb21acd
Merge pull request #57900 from nextcloud/backport/57890/stable33
[stable33] perf(UserMountCache): Invert condition so that we avoid some SQL queries
2026-01-29 20:10:05 +01:00
Robin Appelman
02cf3d7c89
fix: make sure all mounts are setup in getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:50:58 +01:00
Robin Appelman
e00b60b89c
fix: make getMountsForFileId work with sharding again
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 17:06:57 +01:00
Robin Appelman
2f2a8fac61
fix: still setup for user when setting up root path with children
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 16:42:45 +01:00