Commit graph

2048 commits

Author SHA1 Message Date
Arthur Schiwon
5fe630b4f1 fix: ensure file names are string-typed
- `$child` was used as an array key earlier. If they are numeric, they
  are automatically converted to ints, leading to type issues later.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-06-17 05:25:33 +00:00
Cristian Scheid
abb11a6967 fix(search-query): fix psalm type error
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-06-11 12:02:47 +02:00
Cristian Scheid
7cc173b2e0 feat(file-search): add property to SearchQuery and check select fields to decide wheter to join extended cache
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-06-10 17:02:33 +02:00
Robin Appelman
faaeaac2d7 chore: psalm fix
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-09 15:25:32 +00:00
Josh
dff4dcdd35 chore(FileInfo): fixup code typo
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-08 12:17:02 +00:00
Josh
ae53b140dc fix(FileInfo): harden getChecksum()
- `checksum` is already optional/derived metadata in practice
- callers already treat `null`l / `''` as "no checksum"

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-08 12:17:02 +00:00
Josh
27131f9094 chore(DAV): fixup proxyexclude default value check
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-02 16:02:14 +00:00
Josh
21b476ae6c chore(DAV): fixup for lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-02 16:02:14 +00:00
Josh
a93d904a46 fix(Storage): use proxyexclude parameter in DAV client
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-06-02 16:02:14 +00:00
Christoph Wurst
ad2fab1c5e
Merge pull request #60240 from nextcloud/backport/59654/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: Fix permission issue when uploading a chunked file
2026-05-19 09:21:59 +02:00
John Molakvoæ
5397f147ff
Merge pull request #60322 from nextcloud/backport/60195/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] fix(s3): Add Content-MD5 header for DeleteObjects to fix AWS SDK v3.339.0+ compatibility
2026-05-15 16:26:17 +02:00
Robin Appelman
7e5c5cf681 perf: remove unneeded sort in getFolderContentsById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-13 14:49:34 +00:00
John Molakvoæ
f3745526f4 fix: adjust wording in S3ConnectionTrait comment
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2026-05-12 09:36:38 +00:00
John Molakvoæ (skjnldsv)
22cba0f06a fix(s3): add Content-MD5 header for DeleteObjects to fix AWS SDK v3.339.0+ compatibility
AWS SDK PHP v3.339.0+ introduced a breaking change requiring the Content-MD5
header for DeleteObjects operations. This causes 'MissingContentMD5' errors when
using S3-compatible services like MinIO.

Add middleware to automatically calculate and inject the Content-MD5 header on
all DeleteObjects requests. This is applied universally at the S3ConnectionTrait
level, fixing both external storage (AmazonS3) and core ObjectStore (S3) classes.

Fixes: https://github.com/aws/aws-sdk-php/issues/3068
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2026-05-12 09:36:38 +00:00
Carl Schwan
fe0dffdeee fix: Uploading files not chuncked
Co-authored-by: David Dreschner <david.dreschner@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-08 12:21:01 +00:00
Carl Schwan
9a06ac71a4 fix: Check if it is deletable and updatable
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-05-08 12:21:01 +00:00
Carl Schwan
a219b606ee fix: Fix permission issue when uploading a chunked file
Follow up from #59511

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-08 12:21:00 +00:00
Robin Appelman
05d9fe3916
perf: only load possible results in UserMountCache::getMountForPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:40 +02:00
Robin Appelman
82ce6f567a
perf: only load a single mount at a time when checking for share conflicts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:39 +02:00
Robin Appelman
0d717bd0be
fix: add optional user param to IUserMountCache::removeMount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:36 +02:00
Louis
48e3e15c9f
Revert "[stable33] Revert "Stable33 authoritative share""
Signed-off-by: Louis <louis@chmn.me>
2026-04-28 15:49:33 +02:00
Robin Appelman
2070e76425 fix: use proper index when deleting mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-23 23:57:55 +00:00
Benjamin Frueh
64e852c590 fix: only skip template initialization when both skeletondirectory and templatedirectory are empty
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-04-20 22:41:42 +00:00
Robin Appelman
81783a9638 fix: fix LazyUserFolder::getMountPoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-15 15:22:47 +00:00
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