* Introduce injection token as competition for injectable setup to have better control of timing of different setups
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition to setup app paths
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for setupping IPC channel listeners
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Stop running setups in unit tests without need
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to running injection token based setups over legacy DI setups in unit tests
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate naming for running setups
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to running injection token based setups over legacy DI setups in application roots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt to typing changes in injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce concept of runnable as a way to delegate runs to Open Closed Principle compliant runnables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Deprecate vars in favor of injectables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate loading of extensions to injectable instead of setup-code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Flag injectable causing side effects
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt injectable to auto register using a plugin instead of internal feature that no longer exists
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify late registrations
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce tokens for runnables of specific application events for Open Closed Principle
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate setup events to more granular timeslots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for catalog syncing using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for application menu using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for electron application name using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for immer using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for MobX strictness using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for application proxy using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for system certifications using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for system shutdown using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for main window visibility using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for application quit using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for after application is ready using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for application tray using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for deep linking using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reimplement setup for root frame using runnables instead of non-OCP in index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove multiple usages of shared global state
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove recently reimplemented stuff from index.ts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract implementation for intent over technical phenomena (here electron events)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate naming of event timing window
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Move directories for timing windows among peers
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate event naming
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce function to remove duplication from things that are startable and stoppable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate implementation of something startable and stoppable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate naming
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate more startables and stoppables
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce abstractions for electron application events
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce more abstractions for electron
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Abstract even more Electron specifics to make them overridable in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Override dependency for causing side effects
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make running of many delegatees able to be hierarchical
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Bump async-fn
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make startable-stoppable also restartable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract "isIntegrationTesting" as dependency for having a side-effect
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make temporal dependency apparent
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate all setupping related to single feature to same runnable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Abstract command line arguments to make them overridable in tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Deprecate some globals
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce injectable for __static directory to eliminate side effect on import
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract responsibilities from electron
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract async initialization from sync-injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Accumulate more global overrides
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make lifecycle of injectable store work as expected
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract responsibilities to delegatees
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename delegate for accuracy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename another delegate for accuracy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename yet another delegate for accuracy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add new global overrides
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate variable naming
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename injectable for accuracy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make difference between soft and hard quit of application apparent
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make quit triggered by auto update manifest as hard quit instead of just soft quit
Soft quit is the stand-by quit where only the renderer quits. Hard quit is the full quit of also main.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce abstraction for publishing and subscribing between processes
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Revert "Introduce abstraction for publishing and subscribing between processes"
This reverts commit 46f2d5a5f28bddcf5ffe124b1c590b19e7b9a15f.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt code and unit tests to recent changes in application setup and event handling
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Group overrides by category
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Abstract event of application activation from electron
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Abstract event of device shutdown from electron
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate runnables related to Electron
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make startableStoppables have ID for better error logging
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make navigating to Helm Charts not blow up
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add general override for behavioural tests
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshot
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt vars after merge
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix error about multiple states for React Router being present at once
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge around test setup which is difficult because of circular dependencies
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix setupping of sentry after rebase
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ensure that LensProxy is setupped before starting the main window
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant import
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate to use injectable instead of var for static file directory
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Deprecate another var with injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak timing of runnables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract tray icon path as injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make splash screen not blow up by providing compile-time environment variables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce a way to run many synchronous runnables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make runnables for before application is ready synchronous as this is technical limitation of Electron
See: https://github.com/electron/electron/issues/21370
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kill dead code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix application quit by calling Electron's event.preventDefault in a very specific way and preventing async
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix missing injectable postfix in file name
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak timeslot of a runnable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make it possible to not stop something that was never started
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make quit of hidden Lens not blow up
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract responsibilities of WindowManager as injectables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate code for application window
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify directory structures for runnables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Flag injectable causing side-effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract helpers for testing promises to test-utils
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make script for running unit tests support targeting
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make startable stoppable support async starting
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce reactive way to get theme from operating system
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update yarn.lock after rebase
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove code-style changes that are not welcome
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using dependency over using explicit side-effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify naming
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kill dead code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add empty mocks comply to lint
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove global state
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract responsibility of setting dependencies to own injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Flag injectable causing side effects
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract responsibility to injectable
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak typing
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak naming of runnables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Revert code-style changes
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak types
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract injectable with side-effect for exact overriding
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak name of timeslot to make it more apparent that new content for application load can be added
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak name of the splash window for loading to avoid confusion with similarly named phenomenon
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak comment
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename injectable for brevity
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate LensProxy related stuff to directory
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename injectables for accuracy
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove usage of extension for injectable for being YAGNI
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Prevent restarting a startableStoppable when already being started
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename callback in ApplicationBuilder for accuracy
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix conflicts after rebase
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix merge conflicts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Revert switch to react-router-dom by installing history as dependency
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make test more strict
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make runnable give friendly error about incorrect hierarchy for easier debugging
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code-style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using dependency instead of legacy-di
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix timing of injects
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
* Turn on strict mode in tsconfig.json
- Add route, clusterRoute, and payloadValidatedClusterRoute helper
functions to improve types with backend routes
- Turn on the following new lints:
- react/jsx-first-prop-new-line
- react/jsx-wrap-multilines
- react/jsx-one-expression-per-line
- react/jsx-max-props-per-line
- react/jsx-indent
- react/jsx-indent-props
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace KubeObject scope strings with enum
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert package.json version changes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* revert move hostedCluster(Id)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change some type param names to be not single letters
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove copy-extension-themes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* add new make clean action
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix build to not use webpack for generating types
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object-menu.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* revert move fileNameMigration to index
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix ref logic error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix log-resource-selector.test.tsx tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-store.test.ts test by overriding createStorage to not touch file system
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster.test.ts tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube=api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fixed hotbar-store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kubeconfig-manager.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster-role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pods.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix delete-cluster-dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix daemonset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix replicaset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix statefulsets/dialog/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix replicasets/scale-dialog/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployments.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployments/scale/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cronjob.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix stateful-set.api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix deployment.api.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix api-manager.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix statefulset.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix job.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pods.store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix scroll-spy.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix hotbar-remove-command.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog-entity-registry.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix welcome.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix verify-that-all-routes-have-route-component.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix pod-tolerations.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* better fix for previous 3 fixes, plus also select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object-menu.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix app-paths.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-tabs.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix isReactNode typing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sub-title.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix drawer.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix list-layout.tsx and header.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix error-boundary.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix upgrade-chart/store.ts and dock-tab.store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix install-chart/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix edit-resource/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix create-resource/store.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix namespace-select.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix namespace-select-filter.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix crd-list.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix wrong types for extensions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix circular dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix circular dependency on catalogCategoryRegistry
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix api-kube
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type errors, most <Select /> errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fixing more type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* some more fixing type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* convert all KubeApis to injectable with legacy global backups
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* factor out into a common file all the exports
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* convert all KubeObjectStores to injectable with legacy global backups
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unused legacy KubeApi globals
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix bad previous commit
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* more crash fixing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* try and fix behavioural tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sidebar-and-tab-navigation-for-core.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix sidebar-and-tab-navigation-for-extensions.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make ThemeStore non-singleton and fix navigation-to-terminal-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* extensions.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix catalog-entity-registry.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix log-resource-selector.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-tabs.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix delete-cluster-dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-kubernetes-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-editor-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-proxy-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-using-application-menu.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-application-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix dock-store.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix select.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix hotbar-remove-command.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix cluster-role-bindings/__tests__/dialog.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-extension-specific-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-telemetry-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix closing-preferences.test.tsx
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-editor-preferences.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix navigation-to-proxy-preferences.test.ts
- Fix other type errors too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* final tweaks
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add more tsconfig files, fix bug in <Catalog>
- Make all of history, navigation injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all of kube-details-params/ and navigate/ to injectable
- This fixes a runtime error that was encountered during testing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix runtime errors on renderer
- remove all static uses of `createPageParam` (and then removed the
legacy global)
- Made LensRendererExtension and LensMainExtension just used
dependencies and not the getLegacyDi
- Fixed circular dep in extension-loader
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move registerStore calls to after injectMany
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* replace all the rest of the legacy uses of apiManager
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix stack overflow and cycles in DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix NamespaceSelectFilter not opening
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix WizardStep and AddNamespaceDialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix KubeApi's not being registered
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* cleanup WindowManager
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Proper fix for Wizard, fix NamespaceStore.subscribe
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Rewrite withTooltip to be more type correct
- Fixes mobx related "too many recursive actions" error
- Change all the uses of withTooltips to be functional components
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add e2e test to cover kube api registration
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* cleanup internal-commands
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove cast in <Animate>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix command-palette e2e test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix type error after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test name
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix code to help CodeQL scanner
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* update intree extension lock files
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build-extensions picking wrong @types/react
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix tests from rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make KubeconfigSyncManager more injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix crash in test mode for Dialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* make Select snapshots deterministic
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix new type error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix kube-object.store.test.ts typing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix merge build issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix snapshots after merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint after merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* reexport BaseKubeJsonApiObjectMetadata
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typo in terminalSpawningPool
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove duplicate license header
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typo to waitUntilDefined
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove iter use from getLegacyGlobalDiForExtensionApi
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove complex createStorage override
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* override logger with mocks only when needed for tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove specialized overrideStore flags for getDiForUnitTesting
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unnecessary | undefined types from the exactOptionalFieldTypes experiment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* use more descriptive name for local test mocks
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove unnecessary addition to 'make clean' target
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove oddity of KubeObjectStore.getById(undefined) being allowed
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* rename KubeObject.getDescriptor in favour of name without fundemental JS meaning
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Simplify legacyRegisterApi when working in behaviour unit tests
- Don't emit within main environment as there should be no auto
registering there
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change confusing variable name in ReactiveDuration
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* make visitor pattern more explicit for Entity contextMenuOpen
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* toggleDetails -> toggleKubeDetailsPane is more specific
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove outdated comment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix bug where LensExtension dependencies are not set
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests from the revert of react 18
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix more tests from merge
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix typings with new is-compatible-extension tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* more type fixing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert in-tree extension versions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve name of guarding injectable for stores and apis
- New name better implies that it is just a guard state and does not do
anything
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add helper for <Select>.isMulti for storing in a Set<Value>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix is-compatible-extension.test.ts types
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Implement a lot of technical requirements for behavioural unit tests
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>
* Make a directory commonly available
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Require id for <Select /> to prevent non-deterministic renders
This was caused by global state in a 3rd party lib: "react-select".
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Specify id for all <Select /> to satisfy previous commit
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent explicit side effect in component by using existing dependency instead
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract instantiation of "conf" as injectables for causing side effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce a legacy-helper to make gradual refactoring of inheritors of Singleton easier
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make legacy unit tests for hotbar green and more simple by using the new legacy helper
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Temporarily kludge all unit tests green with a disclaimer about allowing side-effects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove kludge in previous commit by explicitly permitting specific side effects where old unit tests require it
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent old unit test with side effects from accessing file system
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Migrate to actual typing for di.permitSideEffects
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Prevent unit tests from failing because of non-standard method of HTML-element not present in js-dom
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Adapt integration tests to recent changes
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix code style
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix artifact from bad rebase
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add a deprecation from a review comment
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove change that is not required
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant comment
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant file
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix bad merge
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Improve variable name
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Tweak logger interface to be more descriptive
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make injecting legacy singleton always provide new instance
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove conditional typing when not needed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Improve naming of variable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unnecessary code style changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove flag for causing side effects from too broad scope
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Override side-effects in unit test using injectable instead of monkey patching
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Flag some side-effects and add general overrides
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix unit tests in CI by removing explicit side-effect
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove explicit side-effect from getting default shell
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for getting absolute paths
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for getting absolute path to control explicit side effect
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce abstraction for joining paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using abstraction for joining paths to control explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix fake implementation for join paths
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix test after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove explicit side effects from kubeconfig-syncs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix arguments after removing explicit side effect
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make registrators not async for not being needed anymore
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make generalCatalogEntities non-observable, as there is no requirement
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove redundant code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify logic for registering general catalog entity sources
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace function for getting application menu items with reactive solution
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix typo in interface name
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove global shared state usages of hot bar store
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant enum
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* attempt to upgrade webpack@5 and all relevant packages to latest version -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* debugging webpack@5 usage -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* - attempt to use "react-refresh-typescript" with webpack@5 thingy
- extending getTSLoader() to accept more options from ts-loader
Signed-off-by: Roman <ixrock@gmail.com>
* more fixes, updating webpack loaders
Signed-off-by: Roman <ixrock@gmail.com>
* merge-fixes, using internal webpack@5 asset handlers (type: "asset/*")
Signed-off-by: Roman <ixrock@gmail.com>
* fix: raw-loader / <Icon svg="./*">, updated mocked types for importing resources via webpack
Signed-off-by: Roman <ixrock@gmail.com>
* removing webpack-dev-server, clean up
Signed-off-by: Roman <ixrock@gmail.com>
* fix master-merge conflict
Signed-off-by: Roman <ixrock@gmail.com>
* fix/reverted: use sourceMap for styles
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading svg icons inline as data-url (workaround for "?raw" as it fails in tests and "!!raw-loader!" seems doesn't work at all in webpack@5)
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to use webpack-dev-server via node-api -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to use webpack-dev-server via node-api -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* fix: incorrect parsing svg-icon xml-content by <HotbarEntityIcon/>
Signed-off-by: Roman <ixrock@gmail.com>
* fix: more random fixes related to incorrect parsing svg-icon content, added static Icon.isSvg(content: string)
Signed-off-by: Roman <ixrock@gmail.com>
* attempt to fix: "Uncaught (in promise) DOMException: A network error occurred." when loading cluster frame -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading cluster frame + error in loading terminal default font (which was causing network exception error and hidden cluster-view)
fix: proxying websockets (e.g. terminal)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: wait lensProxy.listen() to obtain lensProxy.port for webpack-dev-server
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fix unit tests
Signed-off-by: Roman <ixrock@gmail.com>
* reverted auto-formatted imports with 2 lines (.idea/webstorm)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle warnings in main-process compilation files
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle warnings in "renderer" compilation
Signed-off-by: Roman <ixrock@gmail.com>
* fix: move app fonts preloading into html/css files, clean up
Signed-off-by: Roman <ixrock@gmail.com>
* update "webpack@5", "typescript@4.5" in bundled extensions / attempt to fix weird errors in build pipeline:
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts
6:27-35
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/common/catalog/catalog-category-registry.d.ts(6,28)
TS1005: ',' expected.
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts
8:14-28
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/components/select/select.d.ts(8,15)
TS1005: ',' expected.
ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts
8:14-22
[tsl] ERROR in /home/runner/work/lens/lens/src/extensions/npm/extensions/dist/src/renderer/api/catalog-entity-registry.d.ts(8,15)
TS1005: ',' expected.
Signed-off-by: Roman <ixrock@gmail.com>
* fix: handle errors in bundled extensions compilation process
Signed-off-by: Roman <ixrock@gmail.com>
* fix: "webpack" not found in production
Signed-off-by: Roman <ixrock@gmail.com>
* fix: removed preloading fonts in template via <link preload> since it's not bundled with HtmlWebpackPlugin() anyway anda all fonts loaded via css @font-face rule
Signed-off-by: Roman <ixrock@gmail.com>
* apply HMR at least for css/styles and use manual page reload on app/scripts change
Signed-off-by: Roman <ixrock@gmail.com>
* use `react-refresh-typescript` and `@pmmmwh/react-refresh-webpack-plugin` to support HMR in most cases
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* revered extension version in package-lock.json (autoupdated on `make dev`)
Signed-off-by: Roman <ixrock@gmail.com>
* Show tooltip with hotbar name manually
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove this.refreshPosition() call
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove hotbar name from status bar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Convert HotbarSelector to use css modules
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused export
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Invert invisible prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Linter fix
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.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 context menu in topbar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding windows title buttons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding win sandwitch icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Hide windows controls behind the flags
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix topbar layout
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using topbar as draggable area
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix sandwich icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Mark no-draggable areas
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove ipcMainOn window calls
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Explicitly hide main window menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix tests more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Restore linux native view
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Not removing menu in linux
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Showing custom window buttons in Linux
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove frame on linux and windows
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move open context menu event handler to initializers
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set x, y context menu position explicitly
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Note: this will need some rehaul, as current design with "bootstrap" and iframe make single root for injectables somewhat challenging.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* monaco editor refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* clean up / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* move custom monaco themes to own folder
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* removed unused rules from webpack's config (renderer)
Signed-off-by: Roman <ixrock@gmail.com>
* Stop using remote to obtain app.getPath()
- Initialize entire map in bootstrap()
- Updated unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Ensure that init can only be called once and catch errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace basically all uses of app.getPath() with AppPaths.get()
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Kubeconfig syncs from Catalog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Allow to select directory to sync
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Convert Preferences to Route-based component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Jump from notification to Preferences
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding navigateWithoutHistoryChange() method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests (no check for Telemetry tab)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests harder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Use Proxy for backwards compatability
- Fix a bunch of unit tests that needed all the Singleton's created
- Add comments on the order required for the store migrations
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* mobx-6 migration -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* mobx-6 migration -- part 2 (npx mobx-undecorate --keepDecorators)
Signed-off-by: Roman <ixrock@gmail.com>
* mobx-6 migration -- part 3 (more fixes)
Signed-off-by: Roman <ixrock@gmail.com>
* unwrap possible observables from IPC-messaging
Signed-off-by: Roman <ixrock@gmail.com>
* mobx-6 migration -- remove @autobind as class-decorator
Signed-off-by: Roman <ixrock@gmail.com>
* mobx-6: replacing @autobind() as method-decorator to @boundMethod
Signed-off-by: Roman <ixrock@gmail.com>
* mobx-6: use toJS()-wrapper since monkey-patching require(mobx).toJS doesn't work
Signed-off-by: Roman <ixrock@gmail.com>
* removed `@observable static`
Signed-off-by: Roman <ixrock@gmail.com>
* use {useDefineForClassFields: true} in tsconfig.json
Signed-off-by: Roman <ixrock@gmail.com>
* remove ExtendedObservableMap
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix: removed makeObservable(this) from "terminal-tab.tsx"
Signed-off-by: Roman <ixrock@gmail.com>
* storage-helper refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* normalize usages of #observable-value.toJSON() / attempt to catch the wind
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring, more possible branch fixes + lint
Signed-off-by: Roman <ixrock@gmail.com>
* debugging cluster-view error -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fix: refreshing cluster-view on ready
Signed-off-by: Roman <ixrock@gmail.com>
* fix: various app-crashes related to KubeObject.spec.* access from "undefined"
fix: config-map-details crash
Signed-off-by: Roman <ixrock@gmail.com>
* fix: namespace-store refactoring / saving selected-namespaces to external json-file
Signed-off-by: Roman <ixrock@gmail.com>
* fix: don't cache mobx.when(() => this.someObservable) cause might not work as expected due later call of makeObservable(this) in constructor
Signed-off-by: Roman <ixrock@gmail.com>
* fix: app-crash on editing k8s resource
Signed-off-by: Roman <ixrock@gmail.com>
* fix: restore "all namespaces" on page reload
Signed-off-by: Roman <ixrock@gmail.com>
* - fix: persist table-sort params and cluster-view's sidebar state to lens-local-storage
- new-feature: auto-open main-window's devtools in development-mode (yes/no/ugly?)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: crd definition details -> crashing with <AceEditor mode="json"> (added missing mode-file in ace-editor.tsx)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: crd definitions -> groups selector couldn't deselect last selected option
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring: extensions-api exports clarification for "@k8slens/extensions"
Signed-off-by: Roman <ixrock@gmail.com>
* fix: various app-crashes related to kube-events (events page, some details page, overview, etc.)
Signed-off-by: Roman <ixrock@gmail.com>
* Reverted "use {useDefineForClassFields: true} in tsconfig.json" (various app-crash fixes)
This flag seems to be not possible to use with class-inheritance in some cases.
Example / demo:
`KubeObject` class has initial type definitions for the fields like: "metadata", "kind", etc.
and constructor() has Object.assign(this, data);
Meanwhile child class, e.g. KubeEvent inherited from KubeObject and has it's own extra type definitions for underlying resource, e.g. "involvedObject", "source", etc.
So calling super(data) doesn't work as expected for child class as it's own type definitions overwrites data from parent's constructor with `undefined` at later point.
Signed-off-by: Roman <ixrock@gmail.com>
* master-merge lint-fixes
Signed-off-by: Roman <ixrock@gmail.com>
* catalog.tsx / catalog-entities.store.ts refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix: Catalog -> Browse all tab
Signed-off-by: Roman <ixrock@gmail.com>
* fix: CommandPalette doesn't appear from global menu by click/hotkey
Signed-off-by: Roman <ixrock@gmail.com>
* - Merging interfaces & classses to avoid overwriting fields from parent's super(data)-call with Object.assign(this, data). Otherwise use "declare" keyword at class field definition.
- Revamping {useDefineForClassFields: true} to avoid issues with non-observable class fields in some cases (from previous commit):
```
@observer
export class CommandContainer extends React.Component<CommandContainerProps> {
// without some defined initial value "commandComponent" is non-observable for some reasons
// when tsconfig.ts has {useDefineForClassFields:false}
@observable.ref commandComponent: React.ReactNode = null;
constructor(props: CommandContainerProps) {
super(props);
makeObservable(this);
}
```
Signed-off-by: Roman <ixrock@gmail.com>
* update KubeObject class type definition
Signed-off-by: Roman <ixrock@gmail.com>
* clean up / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* fix: app-crash when navigating to catalog from active cluster-view, refactoring `catalog-entity-store`
Signed-off-by: Roman <ixrock@gmail.com>
* catalog-pusher clean up, replaced .observe_() to external observe() helper from "mobx"
Signed-off-by: Roman <ixrock@gmail.com>
* fix: catalog's items stale/non-observable (after connection to the cluster status still "disconnected"), lint-fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix: Catalog is empty after closing main-window and re-opening app from Tray
Signed-off-by: Roman <ixrock@gmail.com>
* fix: HotBar's icon context menu items non-observable (no "disconnect cluster", etc.)
Signed-off-by: Roman <ixrock@gmail.com>
* lint-fix/license check
Signed-off-by: Roman <ixrock@gmail.com>
* fix: redirect to catalog when disconnecting active cluster
Signed-off-by: Roman <ixrock@gmail.com>
* fix: refresh visibility of active cluster-view on switching from hotbar/catalog
Signed-off-by: Roman <ixrock@gmail.com>
* updated package.json for built-in extensions to use "*" version for packages served from main app
Signed-off-by: Roman <ixrock@gmail.com>
* - added missing makeObservable(this) to metrics-settings.tsx
- updated package-lock.json for built-in extensions
- lint fixes
Signed-off-by: Roman <ixrock@gmail.com>
* master-merge clean up fix, updated package-lock.json for built-in extensions after `make clean-extensions && make build-extensions`
Signed-off-by: Roman <ixrock@gmail.com>
* fix unit-tests
Signed-off-by: Roman <ixrock@gmail.com>
* master-merge fixes
Signed-off-by: Roman <ixrock@gmail.com>
* make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
* reverted some changes, removed auto-opening devtools in dev-mode
Signed-off-by: Roman <ixrock@gmail.com>
* merge fixes
Signed-off-by: Roman <ixrock@gmail.com>
* master-merge conflict fixes:
- proper handling and navigating into catalog's active category via URL-builder
Signed-off-by: Roman <ixrock@gmail.com>
* reverting splitted params for catalog's page route to "/catalog/:group?/:kind?"
Signed-off-by: Roman <ixrock@gmail.com>
* clean-up: remove app's injecting dependencies from `extensions/kube-object-event-status/package.json`
Signed-off-by: Roman <ixrock@gmail.com>
* master-merge fix: added missing makeObservable(this) for extensions.tsx
Signed-off-by: Roman <ixrock@gmail.com>
* fix: catalog entity context menu stale/unobservable
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>