Robin Appelman
bb4cf2830a
fix: better error message when trying to scan a folder that is already being scanned
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-25 18:40:03 +02:00
Anna Larch
49baa914cf
fix(objectstorage): add retry attempts to S3 connection
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-04-23 12:15:06 +02:00
Louis
f8391e60ce
Merge pull request #51020 from nextcloud/artonge/fix/transfer_ownership
2025-04-14 16:14:45 +02:00
Robin Appelman
c1dbc27fd6
fix: don't construct storage when checking if a sub-mount is applicable
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-08 18:21:41 +02:00
Julius Knorr
7ff80cc016
fix: Catch old cached paths and fetch the new one
...
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-08 09:17:35 +02:00
Julius Knorr
7fa3f89ef9
fix: Proper order for checking path prefix for getting file by id from cache
...
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-07 20:47:11 +02:00
Ferdinand Thiessen
3a09acebd2
fix(cache): always require updates if mtime is null
...
- Resolves https://github.com/nextcloud/server/issues/51941
Due to strong typings we introduced the parameter needs to be an
integer. Previously it was `null` which was equal to `0`.
So if there is no storage mtime we need to update the cache.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-04 13:41:32 +02:00
Robin Appelman
c3f06b370c
feat: add debug logging for adding/removing items from the user mounts cache
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-03 17:58:46 +02:00
Ferdinand Thiessen
97ad171d32
refactor(IMimeTypeDetector): use consistent capitalization
...
- use consistantly `mimeType` as it is called MIME type
- fix issues where implementation and interface had different parameter
names (this is an issue since PHP has named parameters).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-02 13:22:16 +02:00
Louis Chemineau
8fdf2a7eae
fix: Transfer ownership with S3 as primary
...
When using S3 as primary storage, transferring ownership with the `--move` option fail with the following error:
`SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '8-45b963397aa40d4a0063e0d85e4fe7a1' for key 'fs_storage_path_hash'`
The `--move` option moves the entire home folder from one account to another.
The error means that the move failed because the destination folder already exist in `oc_filecache`.
- With S3 as primary storage, folders only exists as entries in `oc_filecache`.
- With S3 as primary storage, `moveFromStorage(...)` only moves the cache entry, as nothing needs to be moved on disk. This cache move does not delete potentially pre-existing destination folder.
- With Local storage, `moveFromStorage(...)` calls `rename(...)` which delete pre-existing folder.
- `transfer(...)`: 687a4d9ac7/apps/files/lib/Service/OwnershipTransferService.php (L112)
- `oneTimeUserSetup(...)`: 687a4d9ac7/lib/private/Files/SetupManager.php (L261-L262)
- `mkdir(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L91-L135)
- `moveFromStorage(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L635-L636)
Delete pre-existing folder in `moveFromStorage(...)`
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-01 13:53:56 +02:00
Robin Appelman
8aae332622
feat: store original storage id and path in object store metadata
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 15:10:58 +02:00
Robin Appelman
94114b99f7
feat: more generic way of passing metadata to object storage backends for new objects
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:55:18 +02:00
Robin Appelman
fcde776683
feat: add command to list objects
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:30:40 +02:00
Robin Appelman
c3bc362f48
feat: add command to get object metadata
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:30:40 +02:00
Robin Appelman
2e9222a29a
feat: add getParentId to ICacheEntry
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-28 16:47:07 +01:00
Ferdinand Thiessen
254dd85664
fix(IFilenameValidator): correctly handle case insensitivity
...
- forbidden names and forbidden base names are case **insensitive**
so we need to check all lowercase here.
- add test that config value is also read case insensitive.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-21 01:00:58 +01:00
Ferdinand Thiessen
d5efd17942
fix(IMimeTypeDetector): use correct return type
...
In PHP array keys that are integers are always kept as integer,
meaning the type of the key of `$a = ["1" => "one"]` will be integer not
string.
While are hacks to circumvent this (case std object with string keys to
an assoc. array) those hacks are performance wise awefull and also not
needed as in PHP you can always access that element with `$a[1]` or
`$a["1"]`.
So TL;DR;: do not lie about return types.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-18 15:34:28 +01:00
Git'Fellow
dda2148f6f
Merge pull request #51333 from nextcloud/filePointerCheck
...
fix(files): Make sure file pointer exists
2025-03-17 17:04:24 +01:00
Robin Appelman
8edca98e8e
fix: fix getNodeFromCacheEntryAndMount using relative path
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-10 18:19:20 +01:00
Git'Fellow
4d52b185af
fix(files): Make sure file pointer exists
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-07 19:16:30 +01:00
Andy Scherzinger
fdb246c1cf
Merge pull request #50702 from Institutional-Investment-Group/feat/support-aws-session-token9
...
feat(object_store): Add support for session token (STS) in AWS credentials
2025-03-05 17:40:05 +01:00
Marcel Müller
3391279068
fix: No IFactory in constructor
...
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-03-05 11:04:55 +01:00
Joas Schilling
0522b0373e
fix(files): Don't do session related work in the constructor of the View
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-03-05 09:06:16 +01:00
Hector Manuel
12a92a2e8b
Merge branch 'master' into feat/support-aws-session-token
2025-03-04 18:27:54 +01:00
Benjamin Gaussorgues
9bdee76535
perf(files): faster query to fetch incomplete directories
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-02-13 10:11:02 +01:00
Daniel
90a1aea574
Merge pull request #50498 from nextcloud/bug/48678/restore-dav-error-response-2
...
Don't rethrow a type error
2025-02-11 17:28:44 +01:00
Robin Appelman
9e1ae74a1c
fix: make locked exception path relative to the view
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 14:38:27 +01:00
Robin Appelman
2786ca579a
fix: don't use cached root info from shared cache if the watcher has detected an update
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-06 19:41:43 +01:00
Hector Valcarcel
6b4c859a41
feat(object_store): Add support for session token in AWS credentials
...
- Pass session token, either null or with value, to the AWS Credentials constructor
Signed-off-by: Hector Valcarcel <hmvalcarcel@gmail.com>
2025-02-06 16:24:19 +01:00
John Molakvoæ
1e30936b78
fix: psalm and OCP @since declarations
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-02-06 15:21:18 +01:00
skjnldsv
6baafd82b6
fix: make sure we process mime extensions as string
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-05 12:35:41 +01:00
Richard Steinmetz
f1c025dfd3
fix(s3): treat empty sse_c_key as not set
...
Co-authored-by: Christian Becker <christian@dabecka.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-28 22:59:59 +01:00
Ferdinand Thiessen
b48ee2e924
fix: Harden files scanner for invalid null access
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 20:08:46 +01:00
Ferdinand Thiessen
f33e9a96ae
Merge pull request #50273 from nextcloud/artonge/fix/metadata_field_search
...
fix: Metadata field search
2025-01-25 10:43:59 +01:00
Louis Chemineau
a635710117
fix: Metadata field search
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-20 14:41:55 +01:00
Git'Fellow
dcde6d8d74
fix(TemplateManager): Remove warning message
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-01-20 13:05:28 +01:00
John Molakvoæ
e5dceaf287
fix: php lint extra tab fix
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-01-17 21:37:39 +01:00
skjnldsv
abd3cb60fc
fix(files): more conversion tests and translate error messages
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-17 18:22:58 +01:00
Elizabeth Danzberger
14976390ff
chore: remove unnecessary method
...
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-16 15:25:15 -05:00
Elizabeth Danzberger
f9adb006b0
fix: prevent missing target file extension
...
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-16 15:23:38 -05:00
skjnldsv
7cbcbdc051
fix(files): conversion api simplification and conflict check
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-16 18:35:40 +01:00
Elizabeth Danzberger
fdfeb7f265
feat(api): File conversion API
...
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-15 16:38:18 -05:00
Robin Appelman
f20c483513
fix: use proper way to get numeric storage id for mountpoint
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-13 17:59:17 +01:00
provokateurin
1e28657093
fix(PathHelper): Remove null bytes when normalizing path
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-13 15:21:21 +01:00
Côme Chilliet
c9757586cd
Merge pull request #49903 from nextcloud/encryption-version-version
...
fix: restore updated encrypted version when copying versions
2025-01-07 16:42:04 +01:00
Robin Appelman
757076af29
fix: explicitly ignore nested mounts when transfering ownership
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-06 14:45:35 +01:00
Robin Appelman
d6418fcd99
fix: translate mount move error messages
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:36:38 +01:00
Robin Appelman
16d0363937
fix: improve checks for moving shares/storages into other mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:36:32 +01:00
Robin Appelman
012a402cec
fix: restore updated encrypted version when copying versions
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:21:01 +01:00
Robin Appelman
54a1ca0da0
fix: don't skip scanner users filesystem if they have a mountpoint at /<user>/files/
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-27 15:18:09 +01:00
Côme Chilliet
08c7001a04
fix: Fix copying to the root of another mountpoint
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-17 18:24:35 +01:00
provokateurin
4bc0b58c59
fix(View): Catch exceptions when executing mkdir for non-existent parents
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-12-16 16:00:35 +01:00
Daniel Kesselberg
44e4fc5d41
Revert "fix: don't recalculate folder size in Cache::delete if the entry didn't exist"
...
This reverts commit 5ca9d884d7 .
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-12-16 14:03:33 +01:00
Git'Fellow
efa615bb01
fix(TemplateManager): Make sure TemplateFolder is a Folder
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-12-13 11:27:54 +01:00
Robin Appelman
c21888e6ae
Merge pull request #47342 from nextcloud/cache-delete-notfound-size
...
fix: don't recalculate folder size in Cache::delete if the entry didn't exist
2024-12-12 17:54:48 +01:00
Kate
1f6c8c1702
Merge pull request #49739 from nextcloud/s3-disable-multipart-remove-debug
...
chore: cleanup leftover debug statement
2024-12-11 16:47:47 +01:00
John Molakvoæ
3baa91d842
Merge pull request #40394 from nextcloud/updater-change-mimetype-objectstore
2024-12-11 08:40:58 +01:00
John Molakvoæ
ed54713e6a
Merge pull request #49695 from nextcloud/copy-update-cache-excluded
2024-12-11 08:40:49 +01:00
Robin Appelman
5896f8c37f
chore: cleanup leftover debug statement
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-09 15:40:01 +01:00
Robin Appelman
e7b882dd22
fix: only do cache copy in updater if the parent folder should be in cache
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-06 17:47:00 +01:00
Julius Knorr
3328cea2ea
Merge pull request #49352 from nextcloud/s3-disable-multipart
...
improve handling of large single-part s3 uploads
2024-12-06 09:22:07 +01:00
Robin Appelman
37199779de
fix: fix mimetype not being updated when changing file extention on object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 18:05:13 +01:00
Robin Appelman
41c53648ad
Merge pull request #49262 from nextcloud/move-from-encryption-no-opt
...
fix: don't do same-storage move optimization with encryption wrappers
2024-12-05 17:42:47 +01:00
Robin Appelman
6cf66f95ce
fix: get object size from stream where possible
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 15:16:22 +01:00
Robin Appelman
ca547bb913
fix: don't perform the extra buffering in s3 stream write when the stream size is known
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 14:07:40 +01:00
Robin Appelman
7da8951c57
fix: use php://temp instead of php://memory for multi-part upload buffer
...
this should reduce potential memory issues if the limit is set very high
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 14:07:37 +01:00
Robin Appelman
c2f474ff49
Merge pull request #48769 from nextcloud/copy-share-unmasked
...
Fix incorrect permissions when copying shared files
2024-12-04 20:11:41 +01:00
John Molakvoæ
b4c43bb811
Merge pull request #49551 from nextcloud/dont-propagate-future-time
2024-12-04 20:11:23 +01:00
Robin Appelman
6419de7acc
fix: use scan_permissions when copying cache items
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-04 19:19:08 +01:00
Robin Appelman
88c685f27c
fix: store unmaked source permissions as scan_permissions when loading share cache items
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-04 19:19:08 +01:00
Louis
1ef3e3e753
Merge pull request #49293 from nextcloud/artonge/fix/handle_folders_copy_live_photos
...
fix: Handle copy of folders containing live photos
2024-12-04 17:02:56 +01:00
Louis
27331d48e3
Merge pull request #48651 from nextcloud/artonge/fix/copy_cache_during_copy_operations
...
fix(files): Correctly copy the cache information during copy operations
2024-12-04 16:58:01 +01:00
Louis Chemineau
f6c48a45ae
fix: Correctly create NonExistingFolder during copy
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-04 15:38:35 +01:00
Robin Appelman
ae30269eac
fix: don't set 'name' on null metadata
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-03 19:12:45 +01:00
Louis Chemineau
199b0bd4d9
fix(files): Correctly copy the cache information on copy operations
...
Needed to copy the `encrypted` flag of encrypted files when those files are two level down in a moved folder.
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 17:04:44 +01:00
Robin Appelman
aadfcb3fe6
fix: don't propagate future mtimes
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-28 17:24:36 +01:00
Robin Appelman
b2c01785ae
fix: fix availability wrapper not applying
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 17:44:58 +01:00
Robin Appelman
df3a9e221d
fix: throw correct exception type when we can't verify if an s3 bucket exists
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 16:49:55 +01:00
Louis Chemineau
f9cda54cbf
fix: Wrap partial cache entry in CacheEntry
...
Because it is returned here: 7b7d07c575/lib/private/Files/Cache/Cache.php (L136-L137)
And some implementation got stricter: df95bf6ba8/lib/Mount/RootEntryCache.php (L23-L28)
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-11-21 17:13:24 +01:00
John Molakvoæ
c1abc69b3e
Merge pull request #49417 from nextcloud/refactSmallAdjust
2024-11-21 12:18:30 +01:00
John Molakvoæ
e2040980de
Merge pull request #49420 from nextcloud/fix/etag-constraint-search-query
2024-11-21 11:27:46 +01:00
skjnldsv
4db5f708b6
fix(cache): etag constraint violation
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-21 10:34:39 +01:00
Git'Fellow
60d956f39f
refactor(storage): Code adjustements and simplifications
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-11-21 10:02:00 +01:00
Git'Fellow
8755bf1815
fix(storage): Try to delete existing target
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Add same logic to common storage
2024-11-20 09:42:33 +01:00
Robin Appelman
0bc478de2c
fix: don't do same-storage move optimization with encryption wrappers
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-13 18:47:13 +01:00
skjnldsv
954b6c68a0
chore: use $this->logger and prevent Server::get
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 10:56:30 +01:00
Victor Dubiniuk
0f96a2ccb9
Fix Undefined variable: response notice in case of non-404 error
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 10:56:25 +01:00
provokateurin
77114fb327
fix(OpenAPI): Adjust array syntax to avoid ambiguities
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-05 09:58:11 +01:00
John Molakvoæ
e3e22e28c0
Merge pull request #47847 from nextcloud/fix-copying-or-moving-from-shared-groupfolders
2024-10-29 11:33:12 +01:00
skjnldsv
14e2a8d3f9
feat(systemtags): add etag support and handle proppatch
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-10-29 09:08:31 +01:00
Kate
5efb175665
Merge pull request #48614 from nextcloud/refactor/storage/constructors
2024-10-28 10:19:41 +01:00
provokateurin
0de4843b73
refactor(Storage): Align all Storage constructors
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 13:24:18 +02:00
Louis
5f69d8d891
fix: $uid type in Encryption stream
...
As explained by the comment.
Signed-off-by: Louis <louis@chmn.me>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-10-23 13:20:40 +02:00
dependabot[bot]
bb598c8451
chore(deps): Bump nextcloud/coding-standard in /vendor-bin/cs-fixer
...
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/coding-standard/releases )
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.3.1...v1.3.2 )
---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-19 07:57:35 +02:00
Git'Fellow
a1681b0756
chore(db): Apply query prepared statements
...
Fix: psalm
fix: bad file
fix: bug
chore: add batch
chore: add batch
chore: add batch
fix: psalm
2024-10-17 20:30:47 +02:00
Git'Fellow
c254855222
chore(db): Correctly apply query types
...
fix: psalm
fix: error
fix: add batch
fix: fatal error
fix: add batch
chore: add batch
chore: add batch
fix: psalm
fix: typo
fix: psalm
fix: return bool
fix: revert Manager
2024-10-17 09:21:07 +02:00
Thomas Citharel
dcd27fd986
feat(http-client): expose default request timeout constant to be used instead of magic number 30
...
Will be used to set default where we are able to override the default timeout.
See https://github.com/nextcloud/server/pull/48418
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-10-11 10:57:02 +02:00
Daniel Calviño Sánchez
3017951d1d
fix: Fix copying or moving from shared groupfolders
...
When copying or moving between two local storages the source path (on
disk) to copy or move from is got from the unjailed path of the source
storage. However, if the source storage has more than one jail getting
the unjailed path resolves the most external jail, but the source path
needs to be got from the most internal jail instead (the one closer to
the local storage).
This can happen, for example, with a shared groupfolder: in that case
there is an external jail for the shared storage, and one internal jail
for the groupfolder storage wrapped by the shared storage.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-10 15:16:12 +02:00
Kate
43b1fd7bb8
Merge pull request #48623 from nextcloud/fix/allow-quota-wrapper-check
2024-10-09 18:39:42 +02:00
Julius Knorr
75381dfe0c
fix: Allow overriding shouldApplyQuota check from child classes
...
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-10-09 08:25:30 +02:00
provokateurin
f28e74b7a8
refactor(Storage): Make all parameter types strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:05 +02:00
provokateurin
4412b2b8a8
refactor(Wrapper\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:11:56 +02:00
provokateurin
d1977b8d25
refactor(Stream\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:02:27 +02:00
Kate
26762172f5
Merge pull request #48454 from nextcloud/fix/storage/get-directory-content-return-type
2024-10-01 16:22:16 +02:00
Robin Appelman
1bf27e74dd
Merge pull request #48235 from nextcloud/readd-object-store-phpunit
...
test: re-add object store primary storage phpunit tests
2024-10-01 15:11:10 +02:00
Daniel Kesselberg
fbaa4cc5e0
fix: catch NotPermittedException in Folder.nodeExists
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-09-30 19:00:36 +02:00
Daniel Kesselberg
3db20c8b00
docs: Folder.get throws a NotPermittedException exception
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-09-30 19:00:36 +02:00
provokateurin
e1998b6b6c
fix(Storage): Fix getDirectoryContent() return type
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-30 16:49:27 +02:00
Côme Chilliet
6ef05bafeb
fix: Fix test of IConstructableStorage implentation by storage classes
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-30 11:21:42 +02:00
Robin Appelman
3e12e1e789
fix: rework move into object store to better preserve fileids
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:46:08 +02:00
Robin Appelman
888d06dff9
fix: preserve fileid when moving from objectstore to non-objectstore
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:45:42 +02:00
Robin Appelman
da21acfb3f
fix: ensure source folder is removed from cache when moving to objectstore
...
otherwise this causes confusion down the line as it's contents will be moved to the new cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-27 14:45:42 +02:00
provokateurin
7cdccd058f
fix(Storage): Fix IStorage return types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 18:13:03 +02:00
Carl Schwan
77821f8f3e
feat(trashbin): Port files trashbin events to IEventDispatcher/IEventListener
...
oc_hooks is deprecated and will at some point be removed
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 18:13:21 +02:00
Côme Chilliet
94b0a0e863
fix: Move storage constructor to specific interface
...
That allows Wrappers to use DI and not care about the constructor
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 09:46:44 +02:00
Ferdinand Thiessen
a8f46af20f
chore: Add proper deprecation dates where missing
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-20 00:46:03 +02:00
Robin Appelman
47d281865e
perf: reuse cache info we already have when moving to object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 19:06:06 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Robin Appelman
b45f2420fe
fix: fix share reminder job for oracle
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 19:24:44 +02:00
Robin Appelman
3c0c81bb94
fix: ensure parent folder exists when writing a file to object storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 14:11:27 +02:00
Robin Appelman
75cf17e4c4
fix: verify that parent exists in cache when inserting
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 14:11:27 +02:00
Robin Appelman
e0fb25f846
fix: fix object store id for test object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +02:00
Robin Appelman
60f6347c97
fix: cleanup objectstore file_put_content
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +02:00
Robin Appelman
3e94ee391f
fix: create intermediate directories for objectstore moveFromStorage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +02:00
Robin Appelman
879fcc4253
fix: get source file before moving the cache item in objectstore moveFromStorage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 13:54:55 +02:00
Stephan Orbaugh
f25acfb799
Merge pull request #47986 from cfiehe/fix_move_on_same_bucket
...
perf(ObjectStoreStorage): Improve (slow) move on same object bucket
2024-09-17 16:35:19 +02:00
provokateurin
d2d1e3284d
fix(Storage): Fix method docs inheritance
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:20:38 +02:00
provokateurin
dc13f9cc1e
fix(Files): Handle getOwner() returning false
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:10:50 +02:00
provokateurin
8ca6fcace7
fix(Storage): Document getOwner() can return false
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 10:10:50 +02:00
Côme Chilliet
e7ac9bb2d8
chore: Check storage is an instance of the correct class instead of psalm-suppress
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:39 +02:00
Côme Chilliet
ed0ac284e3
chore: Remove deprecated Storage::search method instead of moving it to IStorage
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +02:00
Côme Chilliet
5d01e0a73c
chore: psalm-suppress legacy code weirdness
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +02:00
Côme Chilliet
492e6997d8
chore: Fix psalm issues, put back private versions of getter in private Storage interface
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:38 +02:00
Côme Chilliet
22822d5e9b
fix: Fix other uses of removed Storage interface
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:36 +02:00
Christoph Fiehe
9597072ada
perf(ObjectStoreStorage): Improve (slow) move on same object bucket
...
This commit fixes the issue #47856 . When you upload a file into a group folder and when you use a single S3 bucket as primary storage, the final move operation hangs for a long time. In the background, Nextcloud initiates a copy-delete sequence from the bucket into the bucket, with causes a lot unnecessary overhead. Nextcloud thinks that the file must be imported to another storage and does not recognize that everything is done on the same object bucket. In that case, the import step can be completely skipped, which saves time, network bandwidth and reduces the load on the object storage.
The behavior improves a lot with https://github.com/nextcloud/server/pull/46013 . However, there are still some put messages that are being sent to the object storage when you use an object storage as primary storage and upload files into a group folder.
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-09-16 15:11:09 +02:00
John Molakvoæ
9acaf0788f
chore: improve hash_file php usage in Local Storage
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-09-16 15:07:21 +02:00
Louis Chemineau
6674f790a9
fix(files): Ensure that the hash method does not return null
...
To match beececf660/lib/private/Files/View.php (L1050)
- Fix https://github.com/nextcloud/server/issues/44110
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-16 15:07:21 +02:00
John Molakvoæ
ff0cab5956
Merge pull request #47852 from nextcloud/sharding-code-fixes
2024-09-16 11:39:58 +02:00
Kate
3fe3f8d1f6
Merge pull request #48016 from nextcloud/fix/s3configtrait/proxy-false
2024-09-15 19:16:04 +02:00
provokateurin
7c1c02d6a5
fix(S3ConfigTrait): Allow proxy field to take false
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 15:41:58 +02:00
provokateurin
5bbe535c27
fix(Storage\Local): Do not call getSourcePath() on SplFileInfo
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 15:39:09 +02:00
provokateurin
714671a8a6
fix(files): Adjust Cache::searchQuery() parameter name to match interface
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-13 18:13:44 +02:00
Robin Appelman
a7eaed721c
Merge pull request #47853 from nextcloud/clearify-swift-exception
...
fix: make swift connect exception message more informative
2024-09-10 16:45:19 +02:00
Julius Knorr
46a4a16eb6
fix: Only write once to template instead of create/copy
...
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-10 09:43:42 +02:00
Robin Appelman
508d8e7c01
fix: make swift connect exception message more informative
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 17:15:01 +02:00
Robin Appelman
da59fd4389
fix: misc code fixes around db sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 16:59:59 +02:00
provokateurin
70fa51f042
fix(files): Never return a null ETag in DAV
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-09 10:30:33 +02:00
Git'Fellow
a36738dbfc
chore(storage): refactor some code portions
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
chore: revert portion
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-06 12:44:48 +02:00
Ferdinand Thiessen
ba73beaac1
Merge pull request #47784 from nextcloud/fix/file-info
...
fix(FileInfo): correctly implement `\ArrayAccess::offsetGet`
2024-09-06 12:18:30 +02:00
Ferdinand Thiessen
a96406086c
fix(FileInfo): correctly implement \ArrayAccess::offsetGet
...
We are targetting PHP 8.1+, since PHP 8.0 `offsetGet` has the `mixed` types for `offset` and return value.
So this adds the types to correctly implement the interface.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-06 03:58:00 +02:00