* Fix webpack config for react
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce package for discovering html elements in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using discovery of html elements from package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for starting react application inside the Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move stuff in application start to earlier timeslot having no real need to be done so late
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using react application root feature being more friendly to extending
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using more familiar pattern of higher order components for wrapping react application
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt to more familiar pattern for higher order components
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename feature for clarity
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Renderer file logging through IPC
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Remove pagehide event listener as it may cause UI to freeze
Pagehide was needed in cluster frame to better handle main frame close/reload situation. But even empty pagehide listener in cluster frame seems to freeze the UI at least on some situations (multiple clusters open).
Beforeunload is not always executed in cluster frame when main frame is reloaded/closed, leaving log files open. To fix that, `stopIpcLoggingInjectable` is introduced to close all log files.
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Remove unnecessary formatting changes
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Lint fix
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Winston logger override
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Remove usage of doGeneralOverrides as it has been removed
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Update imports to match the new base
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Remove unnecessary id
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Review improvements
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Extract beforeunload listener to injectable
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Typo fix
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
---------
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Add custom jest resolver to fix requiring "uuid" module
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce test utils for rendering and running with thrown mobx reactions
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract startable-stoppable to NPM package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract messaging to NPM package
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using startable-stoppable from NPM package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using messaging from the Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove old implementation of messaging
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make setupping app paths happen earlier in renderer
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix typo
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add kludge to make testing-library work properly from test-utils package
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add lint:fix -root script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix unrelated failing unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Turn of no-floating-promises from typescript linting for being broken
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make linting not happen for dist -directories
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make linting failures appear as failure
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Stop running prettier twice
It already gets ran as eslint-plugin.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make CI run unit tests for all packages by consolidating name of NPM script
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing unit tests for coverage
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Skip coverage for test utils
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove check for coverage in packages which are not ready for it
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Stop collecting coverage from index.ts files them being indirections to the implementation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Implement sending message to channel in main
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing feature dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add dummy implementations for requesting in main from renderer
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Re-enable communicating from main to cluster frames
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ignore trivial files from coverage
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update package-lock
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract message-bridge to separate NPM package to prevent dev dependencies being in the production bundle
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract computed channel to own NPM package for clear dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate electron related stuff to a directory
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing publish configurations
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Ignore test implementation from coverage being not interesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Convert runMany and runManySync to use injectManyWithMeta
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup type errors due to new Runnable requirements
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add documentation for verifyRunnablesAreDAG
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Simplify convertToWithIdWith
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move all utility functions to separate package
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move testing utilities to separate package
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move run-many and run-many-sync to separate package
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace all internal uses of utilities with new packages
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use new @k8slens/run-many package in core
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add dep to open-lens
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup uses of @k8slens/test-utils
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup getGlobalOverride
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move tests to new package too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup uses of AsyncResult and autoBind
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fixup remaining import issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Finial fixups to fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert moving "testUsingFakeTime" to separate package
- This fixes tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix integration tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit test failing due to spelling fix
Signed-off-by: Sebastian Malton <sebastian@malton.name>
---------
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- requestNamespaceListPermissions is infallable so no need to have the extra try/catch
- Refactor isMetricHidden method away from Cluster
- Refactor shouldShowResource out of Cluster
- Refactor isInLocalKubeconfig out of Cluster
- Remove depecrated and unused workspace from Cluster
- Refactor out kubectl as a dependency of Cluster
- Remove from cluster getter used only once
- Split out ClusterConnection from Cluster
- Also split out KubeAuthProxyServer from ContextHandler
- Rename ContextHandler to PrometheusHandler
- Cleanup onNetworkOffline/Online impls within ClusterManager
- Remove annotations from ClusterConnection
- Remove mobx annotations from Cluster
- Rename loadConfigFromFileInjectable
- Remove all uses of dead createClusterInjectionToken
- Fix type errors related to broadcastConnectionUpdate
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove option to doGeneralOverrides and do it always
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Override telemetry by default to optimize and simplify testing
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify more usages of getDiForUnitTesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix code style
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
---------
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Renderer file logging still caused UI freezing (at least on apple silicon macs) when cluster frame was open and main frame was reloaded.
See #544
This reverts commit ac2d0e46ff.
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Renderer file logging transport
Add file logging to renderer, writing separate log files for renderer main frame and each cluster frame.
Related to lensapp/support-lens-extension#118
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Switch renderer file log level to info
There is too much noise on debug level from api responses etc
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Unmount on pagehide instead of beforeunload
It seems cluster onbeforeunload is not triggered when iframe is removed from dom by the parent (when disconnecting a cluster).
While on root/main frame the beforeunload event does work, it seems to be adviced to use pagehide instead.
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Close log files on unmount
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Improve file handle closing in different situations
This should cover reloading main and cluster frames and closing cluster frame throught disconnecting cluster. No file handles should be left open now.
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Fix renderer log rotation
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Switch back to beforeunload in root frame
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* Remove capturing phase event usage
Does not seem to be needed for log files to be successfully closed and caused integration tests to fail.
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
---------
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
* wip: restructure to monorepo
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor create-release-pr to a package
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* build fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* github workflow fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix typo
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add webpack-env types to core
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix github workflows
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor/fix integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* lint fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* yarn run dev
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* eslint settings for vscode
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* move templates to right package
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* open-lens build fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* integration test fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix nx task dependencies
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use bash shell for unit tests in test workflow
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix test:unit for windows
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix win-ca webpack error in open-lens
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix win-ca webpack error in open-lens
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix build:app on windows
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* remove ELECTRON_BUILDER_EXTRA_ARGS
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* sync src/ from master
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* remove Makefile from core
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>