* Move some code for application update to feature directory
The rest of the code could not be moved yet because of work-in-progress refactorings for OCP compliance.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce helper to get a global override for a function-injectable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract global override-files from bloated getDiForUnitTesting
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Move some more code for application update to feature directory
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce competition for top bar items to achieve OCP-compliance
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for opening context menu using the new competition
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for navigating to home as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for navigating to back as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for navigating to forward as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for application update as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Format code to make ongoing refactoring a bit easier
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add missing unit tests for top bar extendability using extension API
This makes ongoing refactoring easier.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Replace implementation for old top-bar items for losing competition
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract top menu item for window controls as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce reusable component for spacing between other components
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce helper component to render list of React elements
Features:
- Placeholder for empty list
- Separators between items
- No boilerplate for "key" prop in React
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix double-clicking and dragging of window from top bar
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix stuff broken in rebase
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshots after rebase
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make fake time have a default value for "now"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Migrate some application menu items to injectables
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate separators of application menu in single file
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove duplication from separators in application menu
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract some operation system actions from application menu as injectables
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract menu item for quitting application as injectable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce way to type narrow a string property
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make the di's for unit testing able to auto-register also named exports
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make global override less strict to simplify setup of many unit tests
There's a better solution for this in the horizon, as this overridden thing is better faked than stubbed.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify a test
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce way to create hierarchical composites from a flat array
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Implement hierarchy of application menu items using "many-root" composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Migrate more application menu items to injectables
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify hierarchy of application menu items using "single-root" composite
Also solve composed typing of application menu by using Discriminated Unions of TypeScript, see: https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshot
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify creation of composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make composite able to have custom handler for missing parent ids
This will be useful next for application menu items, where a missing parent id cannot be fatal.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Defend against self-referencing composites
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Reintroduce non-fatal handling of orphan application menu items
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make faked, yet weak, typing a bit stronger
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify getting of composite paths
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make registrator for application menu items support all known scenarios
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add logging for unrecognizable application menu item types
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename id of menu item to keep it discoverable by existing extensions
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate code to check for updates closer to feature
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Introduce reusable horizontal line
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for preferences as a Feature
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for terminal preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for editor preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for proxy preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for telemetry preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for application preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move code related to helm chart preferences under related Feature in preparation for competition
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for kubernetes preference tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for application preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for editor preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for kubernetes preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for proxy preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing observer to make sure component updates
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for telemetry preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using competition for terminal preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak UI for preferences
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak more UI of preferences
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Revert "Introduce reusable horizontal line"
This reverts commit 4d8c147fe0f1a14bd884f73cf345e7d3a28b954a.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce utility to find exactly one item from array
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for preferences navigation
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move code under a Feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove usage of old code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add extensions tab group to preferences
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce way to find out if composite has a descendant
This will serve eg. hiding of empty preference tab groups.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make tab groups and tabs in preferences not render when there is no content
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove code made redundant with hiding of preference tabs without content
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Tweak UI for preference navigation tab groups
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce test helper to abstract discovery of HTML elements
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>
* Consolidate discovery of HTML elements in some tests
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt application builder to changes in preference navigation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt test setup to changes in preference navigation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove uninteresting technical tests that are covered by behavioural ones
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate discovery of HTML elements in a test
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove test ID made redundant by consolidating discovery of HTML elements
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication from preference pages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix import
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make queries in element discovery return matching attribute values for easier testing
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make element discovery able to do nested discovery
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make element discovery able to discover without value for attribute
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Implement registrator for preference items
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make styling less brittle by not relying on static HTML-element structures with CSS-rules
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add todo
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove "group" from preference types, as it is exact replica of "item"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshots
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Replace usages of react-component factory with actual components for simplicity
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Start considering application preferences as default tab
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate naming
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make sense in horizontal lines
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Clean public interface of a normalize composite
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate name of function
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate directory structure of composite
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move utility functions to common
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rename a preference item type to better communicate intent in UI
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move shared UI component to more common place
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate sizing of horizontal line to t-shirts
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move application update related preferences under application update feature
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make winner of competition to use original route for preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make HTML element discovery require less parameters
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract "composable-responsibilities" for Discriminable, Labelable, Orderable, and Showable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshot
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove dead code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move code under a feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate navigating to preferences
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Move code under a feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Relocate code under a sub-feature
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix merge conflicts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots after rebase
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix import path after rebase
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication from exhaustiveness checks for discriminating unions
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update link to a more recent article
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify static Showability of a PreferenceItem
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Move general function to general directory
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract responsibility of "separability"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make separator in Map-component know left and right item
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove additional separators when separated items are not shown for having no content
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix lint error
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt integration test to recent changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt more integration tests to recent changes
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make composite not care about in formatting of ids
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Adapt application builder and tests to array-like paths over string-like paths
Array-like paths do not have weakness for special characters as part of id, such as ".".
Also note: the error messaging for clicking of application menu in application builder is a bit worse now I think, but the simplification of the test code is worth it in this case IMHO.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make composite not care about formatting of ids
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Adapt application builder and tests to array-like paths over string-like paths
Array-like paths do not have weakness for special characters as part of id, such as ".".
Also note: the error messaging for clicking of application menu in application builder is a bit worse now I think, but the simplification of the test code is worth it in this case IMHO.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate output of get-composite-path to match find-composite's input
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make global overrides for functions log args of the call for devability
Also make the thrown error suggest how to fix the problem.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make attempts to log error throw in unit tests
Errors cannot be allowed to happen without a unit test explicitly causing it. Errors cannot be allowed to happen without author of unit test knowing it.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make composite not know about how children are transformed
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove some duplication from tests of composite
Also make the thrown error suggest how to fix the problem.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make composite unit test an unrealistic test scenario about undefined ids
Also make the thrown error suggest how to fix the problem.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Kill dead code
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify unit tests for composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate tests to now point-free composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify "Showable"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make non-shown application menu items not break composite structure
This was made apparent by adding related unit tests for all known environments.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify usages of Orderable and Showable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract being maybe Showable as explicit composable responsibility
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make more showables maybe showable
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate logic for application menu for Windows to be based on composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Start using named export for composite
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename type for accuracy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove unnecessary type and value
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make composable responsibilities readonly to nudge towards immutability
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Remove a bit of duplication to create TS-constants
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make a comment and test name make more sense
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify fallthrough in a switch/case
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Replace inline styles with proper CSS
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Switch to correct type to indicate "object which might not contain a property"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Simplify overriding of platform in a unit test
Also make typing of platforms more strict, and remove some magic strings.
Also add a TODO for further OCP-ification.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Consolidate some "maybe-types" and arguments using them
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Update snapshots
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix manually set prometheus service address to work after re-connect
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix manually set prometheus service address to work after re-connect
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Setup prometheus also on contenxt handler constructor
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix syncing shell env on TCSH and CSH
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Refactor computeUnixShellEnvironment to be clearer
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- URLs removed the /latest/ and /main/ pathname prefixes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Save only used selectors from flex.box library
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove flex.box dependency
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Passing id to status-bar-items
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add data-origin prop for status bar items
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing status bar tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Rename id -> origin because it is not unique
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add better type safety around Channels
- Reallow non-JSON serializable complex types
- Remove unnecessary JSON serialization step to IPC
- Remove unnecesary injectable-ization of MessageChannel and
RequestChannel declarations
- Add channel listener injectable getter function to remove general need
for type casting and improve type safety
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add check to verify data in IPC related tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix implementation in light of new safety check in tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix listener ID clash potential
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Switch to not forcing split of request channel handlers being seperate from the listener decl
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move message channels to changed signature too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix not registering listener
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test imports
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Refactor listening of different channel kinds
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add test covering new checking code for request channel handlers
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix windows shell not having all environment variables
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix startup due to buildVersion dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Call cleanup in computeShellEnvironment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- When used in non compact mode (eg KubeObjectMeta's age) the seconds
can be displayed but previously between 10m and 180m of age, the
display would only update every minute
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Change notification when extension is not found
- Removes legacy downloadFile and downloadJson in favour of using
`node-fetch`
- A notification will be displayed if the URL provided results in a
status of 404
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Clickable links in pods details
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Make linter happy
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Use withInjectables
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* ServiceAccounts are namespaced
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Revert legacy APIs
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Make linter happy
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Fix loading helm release details
- The helm manifest can sometimes contain KubeJsonApiDataLists
instead of just KubeJsonApiData entries
- Add additional logging to main for when a route handler throws so that
we can gain more context in the future
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix usage of getHelmReleaseResources
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add test to verify handling of Lists being returned
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add distribution and version columns for KubernetesClusters
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix ItemObjectList to not display column toggles for columns without IDs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Default the title cell props ID to be the registration ID
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Includes local fixes that are required by the new code
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Show runtimeClassName in pods view
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Runtime Classes view
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Reverted formatting
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Making apiBase injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all of Helm functions to be DI
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make PortForward's use of apiBase fully injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all metric requests to be injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace resource applier with injectables
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Switch KubeJsonApi.forCluster to be injectable but do not use
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert the rest of shell sessions to be DI-ed
- This is a prerequesit for using the new
createKubeJsonApiForClusterInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use new createKubeJsonApiForClusterInjectable for openNodeShellSession
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make KubeconfigDialog injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove jest-fetch-mock and make fetch injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests with new global override
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add new injectable for create KubeJsonApi and JsonApi instances
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix showing-details-for-helm-release behavioural tests
- Remove HelmChartStore in favour of all injectables
- Create a model for UpgradeChartDockTab
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix show details and updating helm releases tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix residual typing issues related to metrics
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix crash on load due to circular dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix create resource tab not working
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove legacy apiBase global
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use isDebuggingInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use windowLocationInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove global legacy apiKube
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve injectable filenames compared to the injectables inside
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove modifying input in requestActivePortForwardInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce and use get(Milli)SecondsFromUnixEpochInjectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Switch to non-reactive way of gettting possible helm release versions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix typo
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix bug in KubeApi constructor
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert all KubeApi related tests to use asyncFn
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests after introducing new injectables that have side effects
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix bad rebase causing tests to fail
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve expects for multiple field values
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix crash will looking up api refs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix breaking change on KubeApi.list
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Better fix for formatting urls
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove injectable for time since we should just use useMockTime
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add happy path behavioural tests for upgrade chart tab
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove debug message
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix showing-details-for-helm-release tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix installing-helm-chart-from-new-tab tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests relating to hosted cluster id
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots to recent changes in master
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Reupdated upgrade chart new tab test snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix flakiness in unit test when using <Animated>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix flakiness and improve tests for DeleteClusterDialog
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix kubeconfig-sync tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix <Extensions> tests by removing mockFs and making everything injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build issues
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix getElectronAppPathInjectable override not returning absolute paths
- Also fixes the listing-active-helm-repos-in-prefs tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace all uses of getAbsolutePath with joinPaths as it is more correct and less confusing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix opening application window tests by making override properly absolute
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots relating no longer using getAbsolutePath
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix and add behavioural tests for RenderDelay
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix extension discovery tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test flakiness because of path side effects, propagate uses to as many places
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix extension-discovery tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add global override to fix some tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Rewrite and fix implementation of KubeconfigManager and its tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests by global override pathExists
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests failing on windows by using injectable verions of path functions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Attempt to fix test timeout by using runInAction
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests after rebase
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix setupIpcMainHandlers usage
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
* Separate 'download visible' and 'download all' tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add disabled prop to DownloadLogsDropdown
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Test for dropdown if no logs available in the tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused code statement
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Validate ClusterModel before trying to update or create a Cluster
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make injecting CAs injectable, remove mac-ca as dependency
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix win-ca failing on electron renderer on windows
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix the matcher under features/ for main
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert ReleaseChannel into an InitializableState
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix init timing for DefaultUpdateChannel
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make UserStore loading seperate from creation to fix initialization timing errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix overrides of UserStore
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix UserStore tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move userStoreFileMigration call to the init runnable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add global override for userStoreFileMigratiom
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove emit-telemetry tag from navigate-to-route injectable
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Rename injectable to more describing name
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Add initial injectable ids to white-list
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Introduce sitebar-items.module.scss
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adjust sidebar item styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use classnames from a scss module
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set sidebar min width to 150px to keep readability
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Break words in long links
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adjust navigation paddings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused scss file
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating bunch of snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Creating callForAllLogsInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add sketch of Download all logs button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use randomId while creating pod logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Initial draft of download all logs tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Introduce download logs dropdown
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up Controls component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Coloring and styling Download logs button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Drop waiting state on network or other error
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* After clicking on button test cases
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Linter fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing previous Download icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Respect timestamps and previous props
in callForAllLogsInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused .mockReturnValueOnce
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove one more unused line
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleanin up by overriding internals of logsViewModel
injectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replace usage of callForAllLogs with
simple callForLogs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use css modules for the Controls component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move downloadAllLogs logic to injectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move downloadLogs logic to the model
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove withInjectables wrapper from LogControls
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move downloadAllLogs to model
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Testing resolve/reject options for callForLogsInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Catching call for logs errors
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Doesn't show save dialog if no logs received
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* More descriptive describe statement
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Introduce Dropdown component with Menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use <Dropdown/> in Download All Logs dropdown
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix line-break symbol
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Return a Promise from downloadAllLogs()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Extend LogTabViewModel mocks in other tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix downloadAllLogs prop typings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix linter harder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix selectors in integration test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move tests into /behaviours
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- All the removed uses of `includePrerelease` that are removed were not
actually used within the semver package
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix badge not expanding on click when appropriate
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update other snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove unneccessary code
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use new <Switch/> inside deprecated material switcher
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up material UI (except types) from FormSwitch
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix button size in Metrics Settings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove material-ui references from
<Switcher/> & <FormSwitcher/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Change to newer <Switch/> component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update injectable to make withInjectables have authentic React reconciliation
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make some dock tabs have primitive props to have them React reconcile properly
Currently tab objects that are stored in a storage change reference on every change of dock height, making them less usable as React prop for causing involuntary remounting.
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix: do not crop <Select/> single value
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix: do not crop namespace selector placeholder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Align working dir input height with others
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Linter fix
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replace static application window with ability to create as many as you wish
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Adapt tests for replacing static application window with ability to create as many as you wish and separate starting of main and window in behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make first render of application smaller in test that proves to be hard for CI
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* show extension api version in about dialog
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* move buildVersionInjectable from common to main
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Upgrade to use electron 19.0.4
- Update documentation
- Updated disturl in .yarnrc to fix build issue
- Remove use of abort-controller package
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove support for webview tags
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make openBrowser->openLinkInBrowser injectable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove use of deprecated link matcher API from XtermJS
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Split ingress rules by multiple lines
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Force updating virtual list when rowHeights changed
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing simple div selectors with more specific
.ingressRule classnames
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- Fix not displaying spinner while object is not defined
- Fix not displaying loading error if object is not defined
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Prevent opening of application if no new updates were downloaded when checking for updates using tray when application window is closed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix getting initial value of sync box
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak naming of variable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make tests for kube object status icon more realistic
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start resolving kube object status texts on each re-render to mimic reactivity
Note: This is done due the current implementation exposed in Extension API expects it to work so. However, this is bad.
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using existing implementation for isDefined
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make sure release details are updates when opening details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Relax filtering of resources to prevent crashing when release has installed resources in another namespace
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add Open Closed Principle compliant way to introduce global overrides without modification in getDiForUnitTesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rework helm release details to fix multiple bugs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant optional chaining
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix trying to connect to cluster whose entity doesn't exist
- If a Cluster is trying to be connected to but there is no associated
entity then don't try and connect
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert cleanup
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Remove uses to navigator.onLine as not needed and because that value
cannot be trusted (see several bug reports on chromium)
- Fix infinite loop when socket is not connected in flush
- Add some simple tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Relax validator for installing charts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak spacing between words in confirmation dialog
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add mocks for monaco editor and virtualized auto sizer to allow components to be rendered in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Improve typing for a function
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove usage of shared global state from a component
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Provide a way to unit test usages of storages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add way to get current value from select in behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Rework installation of helm charts to get rid of the majority of bugs
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove technical test for being covered in behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Split behaviour to smaller pieces
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add tests accidentally removed back
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Mark functions causing side effects
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove behaviour covered by other behaviours
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak naming
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unused dependency
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add guards to prevent activation errors slipping through
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Make sure all logging has a message, output less errors when prometheus fails
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Improve logging from getPortFromStream
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* feat: new view for PriorityClass under Config menu
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Added priorityClassDetailItemInjectable
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Removed uneccessary defensive code
Signed-off-by: Piotr Roszatycki <piotr.roszatycki@gmail.com>
* Kludge "isEnabledForCluster" work again for cluster pages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object detail items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object menu items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide kube object status items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to hide workload overview detail items in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose reactive way to disable pages in Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Expose a way to access active cluster from Extension API
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Deprecate "isEnabledForCluster" in favor of individual enabled or visible properties for each registration
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for cluster pages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for cluster page menus PART 2 (#5801)
* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for kube object status texts PART 3 (#5802)
* Kludge "isEnabledForCluster" work again for kube object status texts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object menu items (#5803)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce kludge to make "isEnabledForCluster" work again for workload overview details PART 5 (#5804)
* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object status texts
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object menu items
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for workload overview details
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Kludge "isEnabledForCluster" work again for kube object details (#5805)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove the auto-update status bar item for not being needed anymore
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make adding of new tray icons easier by complying to Open Closed Principle
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start showing different tray icon when checking for updates
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Include placeholder icon for checking for updates
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify code
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add first keyframe for downloading spinner
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* Fix crash in HelmChartDetails
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix bug in helm chart icon fallback
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update snapshots
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Factor out HelmChartIcon for better reusability
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix compile error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix remaining type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove HelmChart list figure background
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing dangerouslySetInnerHTML usage
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Snapshots update
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using currentColor from cascade instead of specific one
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make root frame child components comply with open closed principle and include it in the behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make cluster frame child components comply with open closed principle and include it in behavioural unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Simplify test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make a component more determistic in unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Mock uninterested, non-deterministic third party library in unit tests
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Optimize registration of injectables in unit tests to make tests faster
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove import time side-effect causing memory leak
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce helper for advancing fake time
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce reactive now to kludge around global shared state in library
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Replace all usages of "now" from mobx-utils with our own kludge to get rid of shared global state between unit tests
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate all usages of advanceTimersByTime to make sure things happening based on timers are run correctly
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix incorrect expect in test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Enable skipped unit test since prerequisites are done
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* auto-update notifications on the status bar
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* integrated with new and improved autoupdate code
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* lint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactored to include AutoUpdateComponent in the statusBarItemsInjectable
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactor to use a registrator
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix lint, remove unused code
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactored for the simplified logic for injecting many instances PR
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* using the update syncBox injectables directly for status bar notifications
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* removed update broadcasting/listening, updated snapshots
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fixing tests
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fixed tests
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* cleanup after rebase to master
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fixed incorrect injectable id
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Tweak code-style
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* Give an UpdateButton injectables
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* AppUpdateWarning class and injectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Rename folder to app-update-warning
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add appPublishDateInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Inject ipcRenderer into app-update-warning
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add setter for downloadedUpdateDate
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add tests for AppUpdateWarning
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* appPublishDate initial test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Parsing app release date from the package version
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Introduce appUpdateWarningLevelInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix withInjectables props
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Determine warning from days passed after update available
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Save update available date in session storage
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move quitAndInstall() to separate function
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Register quit-and-install ipc channel
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make update function injectable for button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Update tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set proper timeframes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting global UTC timezone for tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refresh tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Testing warning level changes over time
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused app-publish-date files
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make linter happy
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Pass quitAndInstallUpdateInjectable to UpdateButton
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove updateAppInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Initial tests for installing update using topbar button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refactor AppUpdateWarning class using injectables
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Permit side effects in injectable
periodicalCheckForUpdateWarningInjectable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Temporarily set noop for UpdateButton update()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove previous implementation files
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Unoverriding topbar injectables
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Render TopBar inside ApplicationBuilder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move updateWarningLevelInjectable
to /common subfolders from /main
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make UpdateButton warning prop observable
by using computed() structure
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating snapshots
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add sync box files allowing to restart & install
update from renderer process
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add Update button dropdown tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix jest.advanceTimersByTime usage
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Check for severe warning level
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Linter fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove usage of legacy global causing trouble in unit tests
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make update warning level completely reactive and responsibility of a renderer
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove tests that are covered by behaviour
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix restarting and installing update when pressing update button
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update more snapshots
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication from behavioural unit test
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Reducing too large MenuItems height
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Reduce too large UpdateButton paddings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add jest globalSetup into package.json
to fix timezone test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Do not triggering computed value every time it is being used
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
* Re-export types for notifications store to revert accidental breaking change
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak exports for notifications to provide same API contract
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Permit modular directory structures for behaviours in spirit of "Screaming Architecture"
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Implement env-agnostic helper to resolve proxy from URL
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Implement way to resolve a proxy, that is not reliant on existing windows
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Restore reliancy on existing windows for resolving proxy for fears of Electron events misbehaving because of a temp-window used in case no windows are open
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make resolving a proxy throw if no browser window is available
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Extract minimal abstraction for specifically logging error instead of also warn, info, etc.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Make decorator for error logging not create orphan promise for easier controllability
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add error logging to resolving of proxy
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Expose resolving of proxy in extension-API
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add missing general override
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add test to add documentation
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Disperse implementation of resolve-proxy back to conventional directory structure instead of an experimental one
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Revert "Permit modular directory structures for behaviours in spirit of "Screaming Architecture""
This reverts commit 75e1231b0e61b74d030d12365352226e7f1ce500.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Rename a helper for less ambiguity
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Add tsdoc for "resolveSystemProxy" exposed in Extension-API
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
* Fix cluster frame display issue
- Add some defensive code to prevent this sort of infinite loop
- Add some unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Factor out injectable for getting of cluster config data
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Reorganize stuff to prevent circular dependencies
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Install injectable extension to allow injecting reactively many implementations
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Switch to using computedInjectMany over filtering injectMany based on enabled extensions for simplicity
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove await for not being needed
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Sort dependencies alphabetically
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make unit tests for tray behave correctly when item is disabled
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make multiple separators in tray originating from same extension not throw up
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix not starting with sentryDSN configured
- Make sure that all beforeElectronIsReady runables are run completely
syncronously
- Fix when setupSentry is to be run (namely before electron is ready)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce way for execute file
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make typing of HelmRepo shared
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce way to get Helm environment values
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce function to read YAML file
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for listing active helm repositories in preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make sense in name of injectable
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce helper for opening and selecting values of select
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for activating, deactivating public helm repositories in preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for deactivating helm repository from list of active repositories
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing global overrides
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Make some tests more deterministic by mocking tooltips
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce competition for activating custom helm repository in preferences
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Update snapshots
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove old implementation made redundant with competition for preferences of helm repositories
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add success notification for activating custom helm repository
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Introduce way to get single active helm repository
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Extract responsibilities from god-class and switch to getting helm repositories using competition instead of another god class
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove dead code
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add TODO
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Tweak position of spinner
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Start handling errors when accessing helm repositories
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Handle error about no helm repositories when updating repositories
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove unwarranted function configuration
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Add missing global overrides
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove duplication how to acquire binary path for helm
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Remove redundant comment
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Consolidate naming to match Helm's internal
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Relocate file closer to it's relatives
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Fix changes to InputValidator to resolve accidental breaking changes
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Show changes working by removing no longer required empty props objects
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix type errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix async validation errors not being displayed
- And fix validation errors sometimes being displayed multiple times
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Simplify builders for validators
- Replace the boolean type params on `function inputValidator` with a
new builder `function inputValidatorWithRequiredProps` to make the
code easier to read
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Introduce unionizing functions for input validators
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Remove RequiredProps type param
Signed-off-by: Sebastian Malton <sebastian@malton.name>