Robin Appelman
4720c39048
fix: use interfaces instead of classes in Cache\Watcher type hints
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Robin Appelman
5c625b7a07
feat: add an option to filter what paths get checked for updates
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Benjamin Frueh
989b75ee43
fix: Clear mount cache when file storage changes during move
...
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2025-11-20 09:15:28 +01:00
Robin Appelman
17104bf3a0
chore: better type hints for getAvailability
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-06 20:09:17 +01:00
Ferdinand Thiessen
2369ad9601
Merge pull request #55629 from nextcloud/carl/cleanup-propagator
...
refactor(IPropagator): Cleanup implementation
2025-10-22 21:50:47 +02:00
Côme Chilliet
ad9574970a
fix: Fix crash in files_version about uninitialized property
...
Fix "Typed property OC\\Files\\Cache\\Cache::$storage must not be accessed before initialization"
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 16:56:07 +02:00
Marcel Klehr
3522a3375e
fix(FileAccess): Make getAncestorInStorage pass sharding tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr
b158a77365
fix(FileAccess): Try to fix type error
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr
62bff06aeb
fix(FileAccess): Chunk parent query
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Marcel Klehr
9ccc798655
fix(FileAccess): Make getByAncestorInStorage sharding ready
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Carl Schwan
475c84722f
refactor(IPropagator): Cleanup implementation
...
- Add missing type hinting
- Use only public methods from IStorage instead of relying on internal
\OC\Storage methods
- Refactor HomePropagator to use ignore argument from Propagator instead
of reimplementing the same logic.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 17:15:18 +02:00
Carl Schwan
bef3996c3e
fix(preview): Make version column a string
...
And move it to a different table so that we don't have to pay the
storage cost when not using it (most of the times).
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:06 +02:00
Carl Schwan
66f50bd585
refactor(preview): Use same mimetype ids as filecache
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan
bfc7d5dd9f
feat(preview): Implement scanning for previews
...
This work similarly to the move preview job to migrate the previews to
the new DB table and also reuse some code.
So when we are finding files in appdata/preview, try adding them to the
oc_previews table and delete them from the oc_filecache table.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
provokateurin
8d8f94b8ce
fix(files): Always return a valid mimetype
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 09:06:17 +02:00
provokateurin
ef279f6049
fix(files): Stop overwriting scan_permissions
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-28 14:11:47 +02:00
Ferdinand Thiessen
660f3f6fd1
refactor: use logical && || instead of weak and or operators
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +02:00
Louis Chemineau
8c04dbe599
fix(Updater): Lower deadlock log level from warning to info
...
If this is safe to ignore, then it does not make sense to keep warning the admins.
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-16 14:49:54 +02:00
Côme Chilliet
12532bb535
fix(encryption): Correctly set encrypted to 0 when copying
...
If encryption got disabled, copying should set encrypted to 0 for the
new unencrypted copy. For instance when using encryption:decrypt-all
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:18 +02:00
Carl Schwan
c4e6fbdae7
fix(query-builder): Don't catch UniqueConstraintViolationException
...
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan
c21b8169ff
refactor(querybuilder): Port away from qb::execute() in lib/
...
Replace by either executeStatement or executeQuery
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
Robin Appelman
1a716578fd
fix: fix moving cache items from cache jail with sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-22 19:21:31 +02:00
Robin Appelman
01147cf872
fix: add missing color select to tags usage query
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 02:47:04 +02:00
Marcel Klehr
43be97de08
fix(FileAccess): Use one param for rewriting home dirs and excluding non-user files mounts
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
cb221c8211
fix(FileAccess*): Change the way home dir root is found, remove the excludeTrashbinMounts param of getDistinctMounts
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
a2aeec0f4b
fix(FileAccess*): Adress review comments
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
28dc4a299e
fix(FileAccess): exclude trashbin nodes on the oc_filecache query, there is no trashbin mount
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
7e986988fe
fix(FileAccess*): Adress review comments
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
131125bbb7
fix(FileAccessTest): Adress review comments
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
895160a1d3
fix(FileAccessTest): Do not use LIMIT in subquery
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
34b3f7553b
fix(FileAccess#getDistinctMounts): Order results deterministically
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
10cc43041b
fix(FileAccess#getByAncestorInStorage): Use a subquery to fix tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
d67c877ac5
fix(FileAccess): Add tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
5689af5a94
fix(FileAccess): Run cs:fix
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
d8c6f8d18e
fix(FileAccess): Address review comments
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
611d83aa6a
fix: Fix psalm issues
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
3eef614769
feat(IFileAccess#getMounts): Add new method to retrieve all distinct mounts
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
845b78086b
feat(IFileAccess#getByAncestorInStorage): Add new method to retrieve all files in a mount
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
# Conflicts:
# apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Joas Schilling
f230abeef8
fix: Run cleanByMoundId query on all shards
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-06-06 14:36:34 +02:00
Robin Appelman
5329c373cc
fix: improve error message when cache rename source can't be found
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-15 15:06:55 +02:00
Robin Appelman
1e72620169
fix: fix unjailedroot of nested jails if there are other wrappers in between
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-13 18:29:00 +02:00
Robin Appelman
0001c22668
test: add test for nested cache jail unjailedroot
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-13 18:29:00 +02:00
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
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
2e9222a29a
feat: add getParentId to ICacheEntry
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-28 16:47:07 +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
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
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
Louis Chemineau
a635710117
fix: Metadata field search
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-20 14:41:55 +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
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
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
John Molakvoæ
3baa91d842
Merge pull request #40394 from nextcloud/updater-change-mimetype-objectstore
2024-12-11 08:40:58 +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
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
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 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
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
skjnldsv
4db5f708b6
fix(cache): etag constraint violation
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-21 10:34:39 +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
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
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
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
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
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
John Molakvoæ
ff0cab5956
Merge pull request #47852 from nextcloud/sharding-code-fixes
2024-09-16 11:39:58 +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
da59fd4389
fix: misc code fixes around db sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 16:59:59 +02:00
Anna Larch
8af7ecb257
chore: adjust code to adhere to coding standard
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +02:00
Louis Chemineau
2574cbfa61
chore: Apply php:cs recommendations
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-08-28 10:44:18 +02:00
Robin Appelman
390f6a78b4
fix: hint storage id in more places
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +02:00
Robin Appelman
62f8b6517f
feat: implement distributing partitioned queries over multiple shards
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Robin Appelman
5ca9d884d7
fix: don't recalculate folder size in Cache::delete if the entry didn't exist
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 12:50:42 +02:00
Robin Appelman
c5b687271b
fix: make batch propagator work with sharding restrictions
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:07 +02:00
Robin Appelman
ad88fd07e3
fix: make joining on tags in search queries work with sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:39 +02:00
Robin Appelman
80f8c7949e
fix: always set storage id in Cache::get
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:31 +02:00
Robin Appelman
5ff7bde3fb
fix: add set storage id for more cache queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:21 +02:00
Robin Appelman
c82d382a20
feat: add base class for extending the query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-12 17:01:39 +02:00
Robin Appelman
3a60e40a81
Merge pull request #45172 from nextcloud/test-scanner-no-transactions
...
feat: add option to disable scanner transactions
2024-06-13 14:01:34 +02:00
Robin Appelman
082c6c6e1d
fix: get child ids for folder in a separate query during move
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 10:38:57 +02:00
Louis Chemineau
a93d3a5a10
fix(files): Use isRetryable to catch retryable exceptions
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-11 15:15:14 +02:00
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Côme Chilliet
e68544d9f4
Merge pull request #43794 from nextcloud/fix/files/scanner-metadata-diff
...
fix(files): handle multidimensional arrays in scanner
2024-05-13 11:05:40 +02:00
Josh
3c3e45f0ad
fix(Files): Change how scanner diffs for changed metadata
...
Fixes #43408
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-08 08:36:42 -04:00
Christoph Wurst
6258823aba
Merge pull request #45058 from nextcloud/perf/db/sort-before-chunking
...
perf(db): Sort data for IN before chunking
2024-05-07 12:11:32 +02:00
Robin Appelman
f5219a19b2
feat: add option to disable scanner transactions
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-03 16:40:15 +02:00
Robin Appelman
8d870a32c2
fix: fix FileAccess::getByFileId(InStorage)
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-01 18:00:20 +02:00
Christoph Wurst
f3d6309e36
perf(db): Sort data for IN before chunking
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-04-26 15:38:29 +02:00
Maxence Lange
b4004a2582
Merge pull request #43574 from nextcloud/enh/noid/lazyappconfig-migrate-metadata
...
enh(metadata): migrate metadata to lazy appconfig
2024-04-17 16:20:33 -01:00
Robin Appelman
d31ed8dbca
fix: use proper jailed patch in watcher
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-08 18:37:05 +02:00
Côme Chilliet
ec5133b739
fix: Apply new coding standard to all files
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00