Open
Conversation
…ize. * Added ability to toggle encrypting of single setting name. This is used by set by name and merge in the Context Provider.
* Added bogus modules for doc generation purposes
* LifecycleManager now exists, and handles events for various lifecycle patterns. Also manages Lock state, held within the AppBootstrapper. * All ContextProviders now gate (via Lock state) registration/config-only accessors, and will throw an Error if violated. * Renamed Settings->Configuration/etc as it pertains to the App lifecycle (ie, app mode vs config mode) * Managers now consume and propagate LockHolder * Managers now have a proper API to avoid member access. * Some ContextProvider implementations turned into proxied calls to encapsulate member access to the Manager. * Hashed out all Events as `CoreEvents` * string values of Events are contextualized to the author of the event to give an idea of the source of event flow. * Converted some callback methodology to Events. * Propagated through ConfigurationRenderer and Plugins * ContextProviders use ES6 private (i.e., # modifier) because TS does not actually encapsulate `private` members. This means things like the Manager, internal settings, etc were accessible to Plugins. Now with the private modifier, Plugins can't intrude into the system.
* Re-added `CoreEvents.RendererStarted` Event, as I decided I liked the feature. I can see dynamic Settings occurring based on other settings, which is neat. * Finalized the `CoreEvents.RendererStarted` Event for lifecycle purposes. Renderer renders, then plugins. * Cleaned up documentation throughout * SettingsManager/ContextProvider * Added Settings Overrides capabilities! * This lets plugins overwrite schemas at registration time * Useful for dynamic settings UIs * Useful for enforcing values/options that need to be dynamically gathered/enforced (ie, default/required plugins). * Added a cache for the processed FormSchema * Reduces a LOT of redundant processing * Required a bunch of instrumenting for clearing cache in various scenarios so results would be accurate. * Package: * Got rid of lodash completely!!! * Utils: * Separated a few things in index/misc a bit better * Replacement of lodash get/set/unset with local functions!
* Fixed cleaning Processed Schema Cache in a few locations
* Removed unused packages * Utils::Forms * Schema Processors: * Normalizing name on construction now * Enhanced `schemaOverrides` to include a `MergeMode` * Removed SimpleInput as it provided no value * Updated `PathSet` to properly set arrays
* Fixed some runtime browser accessibility complaints (but not all) * No longer wrapping `hidden` inputs
b621532 to
44666f5
Compare
…of some label values
* Minor additions of notes while relearning code * Started creating Application Lifecycle documentation
explicitness and consistency * Added/fixed up error reporting based on context of what's happening * Registration vs Bus Lock vs etc * Where necessary, added plugin injection for reification in error stack handling, especially in Display::showError * Where necessary, added LockHolder::isLocked checks and error appropriately * Core/Internal eventing is now **ONLY** on explicit EventEmitter descendants. This means AppBootstrapper, PluginManager, etc - whatever implements a EnhancedEventEmitter as part of the Core event data flow * Plugin eventing is now **ONLY** on the singular explicit * Plugin names are now better namespaced to provide explicit intent BusEventEmitter via the ContextProvider proxy. * Plugins now have an explicit start as a result of internal eventing staying internal. We don't proxy the event to plugins anymore, it is proxied directly to the PluginManager, which then explicitly starts the plugins * Updated Plugins to use explicit start() * Plugin Registration is now auto detectable by exposing an interface and if available will retrieve and register on it's behalf. * Plugin Registration, if explicit, now has a more narrow type injected to avoid overextending interface accessiblity to a PluginInstance. * Deleted it now. iykyk
* Added a source for errors to make error popups more contextual
* PluginManager now injects a ref Symbol
* Default Plugins were refactored to remove these ref's
* MergeMode converted to a string-based enum, allows for clearer intent in raw ES6 Plugins
Added Ollama + Piper samplefor when we get to building overlays
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.
No description provided.