Skip to content
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

Feature Request: Provide an API to allow plugins to indicate it would like a re-read all #121

Open
fredjk-gh opened this issue Oct 9, 2023 · 0 comments
Labels
Core enhancement New feature or request Framework

Comments

@fredjk-gh
Copy link
Collaborator

fredjk-gh commented Oct 9, 2023

Thought: Add a "RequiresReadAll" boolean property on Frameworks' Worker interface which ObsCore checks at specific times for any plugins requesting re-read (like after a settings change or shortly after startup, and periodically during application operation).

  • Matt G's BioInsights generally requests re-reads after startup post-update, typically, and/or after settings change
  • My Stats Scanner also would request re-reads after settings change

When Core detects one or more plugins would like a restart it could either:
a) highlight the Read All button indicating some plugin wants a read all (perhaps indicating which plugin(s) are requesting the read-all via a tool-tip or something).
b) prompt the user with a dialog box to encourage the user to run read-all and listing requesting plugins. (Dialog actions: Not Now, Read All)

I prefer a passive, non-blocking approach because so as a user, I would like to queue up requests from multiple plugins where possible because running read-all can take a long time.

[edit] Another addendum: Add an option to select which plugins to enable for only the read-all. This is largely performance motivated. For example, Explorer is stateless and I have a lot of custom criteria which slows down Read All considerably and I have many plugins. But if I'm reading-all for only BioInsights and StatScanner (which are both stateful and thus the most common case), I'd like to run them only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core enhancement New feature or request Framework
Projects
None yet
Development

No branches or pull requests

1 participant