-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
feat: add an option to filter what paths get checked for updates #52442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
7872b82 to
18803b3
Compare
|
/backport to stable32 |
|
/backport to stable31 |
kesselb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * @since 32.0.0 | |
| * @since 33.0.0 |
|
A small unit test would be nice though ;) |
provokateurin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just needs the since version updated.
18803b3 to
4db0135
Compare
|
update |
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
4db0135 to
816fd4b
Compare
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: