- Add distinction between `getInstance` and `getInstanceOrCreate` since
it is not always possible to create an instance (since you might not
know the correct arguments)
- Remove all the `export const *Store = *Store.getInstance<*Store>();`
calls as it defeats the purpose of `Singleton`. Plus with the typing
changes the appropriate `*Store.getInstance()` is "short enough".
- Special case the two extension export facades to not need to use
`getInstanceOrCreate`. Plus since they are just facades it is always
possible to create them.
- Move some other types to be also `Singleton`'s: ExtensionLoader,
ExtensionDiscovery, ThemeStore, LocalizationStore, ...
- Fixed dev-run always using the same port with electron inspect
- Update Store documentation with new recommendations about creating
instances of singletons
- Fix all unit tests to create their dependent singletons
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Wrap app into emotion CacheProvider to isolate styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix CacheProvider key
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving CacheProvider into more specific components
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Align @emotion/react & @emotion/cache version with ones inside react-select
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Covering more components with CacheProvider
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Changing emotion versions a bit more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving CacheProvider into bootstrap
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating react-select types
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* A bit of cleaning up types
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Specifying types a bit more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix gradients in namespace selector
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Importing types separately
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using generic NonceProvider in bootstrap
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add configuration for debugging integration tests
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Add launch configuration for debugging main process
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Continue polishing debug configurations
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Remove unnecessary dependency
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Add debug configuration for unit tests + cleanup vscode tasks
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Add `await` keyword to debugger attachment
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Use existing variable to wait for chrome debugger attachment
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Update src/renderer/bootstrap.tsx
Use available helper function instead of raw promise
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Import delay utility
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
* Move async function to async context (attaching debugger)
Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
Co-authored-by: Alex Culliere <alozhkin@mirantis.com>
Co-authored-by: chh <1474479+chenhunghan@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* add store for mapping extension names to filesystem paths
- add extension mechinism for getting a folder to save files to
- add test to make sure that extensions are being loaded
- skip extension loading test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix: create extension instance only when enabled
Signed-off-by: Roman <ixrock@gmail.com>
* mark extension.isEnabled with private modifier
Signed-off-by: Roman <ixrock@gmail.com>
* try-catch errors for extension.disable()
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make ext.isBundled non optional
Signed-off-by: Roman <ixrock@gmail.com>
* initial telemetry extension
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Fix preferences saving and default value
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
* reduce height on draggable-top and only render it on macos
* move drag bar out of app and into bootstrap
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Cluster dashboard not rendered, fix#811
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* actual fix
Signed-off-by: Roman <ixrock@gmail.com>
* reverted back reconnect check in cluster.activate()
Signed-off-by: Roman <ixrock@gmail.com>
* fix: cluster.activate() should not start reconnect on init (if not accessible)
Signed-off-by: Roman <ixrock@gmail.com>
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>