Note: the crux of this was to make routing env-agnostic, and not based on URLs as magic strings, but instead something type-enforced.
Note: extension-based routes comply to same exact interface by "late-registering" their routes when installed. Routes are just injectables.
Note: another chunk of global shared state is no more.
Note: a lot of explicit side effects have been cornered to injectables.
Note: a lot of stuff has become reactive as part if this.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Don't block other extensions from loading if one activation fails.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Handle synchronous errors in onActivate
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Keep extensions that can't be activated in this.intances
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Return extensions that failed to be activated from loadExtensions to match old behavior.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Simplify style.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Simplify object. Remove unnecessary action.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* adding extension api for terminal environment variables
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* modified shell env api to work as a transformer (WIP)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address some review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* shell env modifiers now take a CatalogEntity in ShellEnvContext param
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* tweaks and bug fix
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactored to remove ShellEnvModifier code from shell-session to local-shell-session
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* further refactoring and documentation
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added comment
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
- Move all dependencies into a transient LogsViewModel
- Remove dependencies on dockStore.selectedTab
- Make all bindings as late as possible, as per mobx rules
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* converting app-preferences to use di
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments and fix lint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* use compact license header
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
- Deprecate the "scope" on command registrations as it is buggy and
generally unfixable
- Switch to mounting CommandContainer in each new frame so that there is
no need to broadcast anything other than opening palette
- Add CRD entries to the command registry within each cluster
- Add navigate to CommandActionContext to simplify handling of root
frame scoped URLs
- Switch to using DI for some of the deps
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add extension ability to add tray menu items.
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Add tray menu extension documentation
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Add tests to tray menu items. Fix autorun infinite loop.
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Fix documentation
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Remove unnecessary slice()
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Define a type for tray menu registration
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Change TrayMenuRegistration not to leak or depend on Electron Menu API
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Update trayMenus Extension API documentation
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Refactor all tests to use runInAction
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>