feat: add an option to filter what paths get checked for updates#52442
Merged
provokateurin merged 3 commits intomasterfrom Dec 31, 2025
Merged
feat: add an option to filter what paths get checked for updates#52442provokateurin merged 3 commits intomasterfrom
provokateurin merged 3 commits intomasterfrom
Conversation
7872b82 to
18803b3
Compare
Member
Author
|
/backport to stable32 |
Member
Author
|
/backport to stable31 |
kesselb
approved these changes
Nov 13, 2025
Contributor
kesselb
left a comment
There was a problem hiding this comment.
I had a brief look using a local external storage setup. With the example configuration, changes to the root (like creating a new folder) only appear after running files:scan for the given user. However, changes to subfolders of the root are still visible on access. So, I assume it's working as expected 👍
lib/public/Files/Cache/IWatcher.php
Outdated
| * | ||
| * @param ?string $filter | ||
| * @return void | ||
| * @since 32.0.0 |
Contributor
There was a problem hiding this comment.
Suggested change
| * @since 32.0.0 | |
| * @since 33.0.0 |
Contributor
|
A small unit test would be nice though ;) |
provokateurin
requested changes
Nov 19, 2025
Member
provokateurin
left a comment
There was a problem hiding this comment.
LGTM, just needs the since version updated.
18803b3 to
4db0135
Compare
Member
Author
|
update |
4db0135 to
816fd4b
Compare
provokateurin
approved these changes
Dec 8, 2025
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
816fd4b to
047ff27
Compare
This was referenced Dec 31, 2025
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An example use case would be a external storage where the root contains a very large number of sub-directories but each sub-directory is fairly small.
Currently trying to browse the root of the external storage will be slow (since the "check for update" cost scales with the number of items in directory) leading to a bad user experience. Disabling the "check for update" on the storage would make it fast but will lead to the filecache being out of date over time.
This would allow an admin to configure the instance so only the sub-directories are being checked for updates, while an external process (such as a periodic shallow-scan) can check for any changes to the root directory. Leading to an improved browsing experience for the user at the cost of a possible delay for new items in the root directory.
(Though systems like
notifycould be used to help there)Currently this can only be configured by setting the mount option manually, in the future we might want to provide some curated presets in the ui.
Example for configuring it to not check the root folder as in the scenario described above: