Repository navigation
Conversation
A poll asks on a timer, and a file's details are asked for once and kept, so a plugin whose state changes on its own (a sync finishing) showed it late, or not until F5. A manifest's "watch" is a command Folio leaves running; each line it prints has the plugin polled at once and its details asked for again. Lines that come close together are acted on once, a watch that ends is started again every 5 seconds, and it ends with Folio or its plugin, with everything it started. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
A file's row in the details pane said "syncing" until F5, since nothing the poll prints changes when a sync ends. The client says on its socket when something in a folder it syncs changed, so the plugin's watch stays on the socket and passes that on, and Folio asks again as the sync goes.
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 of what omacom#78 (a plugin's
watch) is for: the Nextcloud plugin onnextcloud-plugin-sh, with a watch added.Without it, a file's row in the details pane says "syncing" until F5, because nothing the plugin's poll prints changes when a sync ends. The Nextcloud client says on its socket when something in a folder it syncs changed (
UPDATE_VIEW:<folder>), so the watch is two lines: stay on the socket withsocatand pass on what comes.This branch has three commits beyond its base: the merge of the watch API from omacom#78, which is not part of this change, and "Have the Nextcloud plugin watch its client", which is. That last commit is the one to read:
plugins/nextcloud/watch: the watch itself.plugins/nextcloud/manifest.json:"watch": { "command": ["./watch"] }.plugins/nextcloud/socket.sh: where the client listens, shared byaskandwatch.docs/plugins.md.Not for merging as it is: it waits on omacom#78.