ObservatoryCore icon indicating copy to clipboard operation
ObservatoryCore copied to clipboard

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

Open fredjk-gh opened this issue 1 year ago • 0 comments

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.

fredjk-gh avatar Oct 09 '23 12:10 fredjk-gh