* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint, micro-refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* more refactoring, clean up, responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* fix: remove extra check for cluster.allowedApi from processing buffered watch-api events
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring, detaching NamespaceStore from KubeObjectStore
Signed-off-by: Roman <ixrock@gmail.com>
* fix: wait for contextReady in NamespaceStore
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes: reloading context stores on NamespaceSelect-change
Signed-off-by: Roman <ixrock@gmail.com>
* optimize loading all resources when "all namespaces" selected -> single request per resource (when have rights)
Signed-off-by: Roman <ixrock@gmail.com>
* use native k8s api watches
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* retry watch when it makes sense
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workaround for browser connection limits
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use always random subdomain for getResponse
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* resubscribe stores on contextNamespace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* modify watch event before calling callback
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Replace placeholder component in NamespaceSelectFilter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Saving apiManager store keys with string type
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing stores key from "kind" to "apiBase"
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* add auto-update notifications and confirmation
* Show single update notification (#1985)
* Moving notification icons to top (#1987)
* Switch to EventEmitter (producer&consumer) model
* Add `onCorrect` and `onceCorrect` to ipc module for typechecking ipc messages
* move type enforced ipc methods to seperate file, add unit tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint, micro-refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* more refactoring, clean up, responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* fix: remove extra check for cluster.allowedApi from processing buffered watch-api events
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring, detaching NamespaceStore from KubeObjectStore
Signed-off-by: Roman <ixrock@gmail.com>
* fix: wait for contextReady in NamespaceStore
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* fixes: reloading context stores on NamespaceSelect-change
Signed-off-by: Roman <ixrock@gmail.com>
* optimize loading all resources when "all namespaces" selected -> single request per resource (when have rights)
Signed-off-by: Roman <ixrock@gmail.com>
* use native k8s api watches
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* retry watch when it makes sense
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workaround for browser connection limits
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use always random subdomain for getResponse
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* resubscribe stores on contextNamespace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* modify watch event before calling callback
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Roman <ixrock@gmail.com>
* Add more log entries on start up
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* And log entry about shell sync
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Refactoring
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add new line
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Apply suggestions from code review
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* Convert StatusBarRegistration to use components field
- More similar to all other *Registration types for extensions
- Simpler fix for using the components.Icon type, now accepts functions
that return component instance like all other *Registration types
- Kept old fix for backwards compatability
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix docs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Detach NamespaceStore from KubeWatchApi, proper KubeObjectStore.loadAll (rebase of #2033)
Signed-off-by: Roman <ixrock@gmail.com>
* Watch-api requests optimization (#2066)
* subscribe for watching resources in single request when has admin-like access rights
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* fix unit-tests
Signed-off-by: Roman <ixrock@gmail.com>
* fix: reloading stores when preloading enabled and waitUntilLoaded=false
Signed-off-by: Roman <ixrock@gmail.com>
* mark Cluster.canUseWatchApi() and Cluster.refreshAccessibility() as private
Signed-off-by: Roman <ixrock@gmail.com>
* fix unit test: make public Cluster.canUseWatchApi()
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments in #2066
Signed-off-by: Roman <ixrock@gmail.com>
* allow to quick select/deselect all namespaces in `NamespaceSelect`
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* Allow users to specify the namespace when creating a custom role.
* Default role namespace remains the "global" namespace allowing for
cluster role creatoin.
Signed-off-by: Jameel Al-Aziz <me@jalaziz.io>
* wip: command palette
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* register shortcut to global menu
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* introduce openCommandDialog & closeCommandDialog
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ipc broadcast to frames from renderer
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add more commands
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* implement workspace edit
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workspace edit fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make tests green
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes from code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup ipc
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup CommandRegistry
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ClusterManager cluster auto-init
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ensure cluster view is active before sending a command
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to last active cluster when workspace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* run integration tests serially
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes based on code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup more
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add workspace fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* chore / small fixes
Signed-off-by: Roman <ixrock@gmail.com>
* Watch api does not work for non-admins with lots of namespaces #1898 -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
* reset store on loading error
Signed-off-by: Roman <ixrock@gmail.com>
* added new cluster method: cluster.isAllowedResource
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading namespaces optimizations
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix: parse multiple kube-events from stream's chunk
Signed-off-by: Roman <ixrock@gmail.com>
* fix: mobx issue with accessing empty observable array by index (removes warning), use common logger
Signed-off-by: Roman <ixrock@gmail.com>
* fine-tuning
Signed-off-by: Roman <ixrock@gmail.com>
* fix: parse json stream chunks at client-side (might be partial, depends on network speed)
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* store subscribing refactoring -- part 4
Signed-off-by: Roman <ixrock@gmail.com>
* auto-reconnect on online/offline status change, interval connection check
Signed-off-by: Roman <ixrock@gmail.com>
* check connection every 5m
Signed-off-by: Roman <ixrock@gmail.com>
* split concurrent watch-api requests by 10 at a time + 150ms delay before next call
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring / clean up
Signed-off-by: Roman <ixrock@gmail.com>
* use `plimit` + delay for k8s watch requests
Signed-off-by: Roman <ixrock@gmail.com>
* lint fix
Signed-off-by: Roman <ixrock@gmail.com>
* added explicit `preload: true` when subscribing stores
Signed-off-by: Roman <ixrock@gmail.com>
* kubeWatchApi refactoring / fine-tuning
Signed-off-by: Roman <ixrock@gmail.com>
* clean up
Signed-off-by: Roman <ixrock@gmail.com>
* Configurable columns in Deployments table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in DaemonSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in StatefulSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ReplicaSets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Jobs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in CronJobs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Nodes table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ConfigMaps table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Secrets table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in ResourceQuota table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in LimitRanges table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in HPAs table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in PodDistributionBudget table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Services table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Endpoints table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Ingresses table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in NetworkPolicies table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Storage section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Namespaces table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Events table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Apps section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in Access Control section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Configurable columns in CRDs tables
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding LogTabStore
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding Pod selector in logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refresh containers on pod change
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding <LogResourceSelector /> tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding LogTabStore tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clearn getPodsByOwnerId method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Extracting dummy pods into mock file
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Eliminating containers and initContainers from store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refreshing tab pods if pod amount is changed in store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* A bit of cleaning up, fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix lint newline errors
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Return getPodsByOwner() method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Rename log tab when pod changes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix extension cluster pages re-render when they are registered as a sub-menu item
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* lint fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 2
- fix: generating helm chart id
Signed-off-by: Roman <ixrock@gmail.com>
* loading k8s resources into stores per selected namespaces -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* chore / small fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make lint happy
Signed-off-by: Roman <ixrock@gmail.com>
* reset store on loading error
Signed-off-by: Roman <ixrock@gmail.com>
* added new cluster method: cluster.isAllowedResource
Signed-off-by: Roman <ixrock@gmail.com>
* fix: loading namespaces optimizations
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* Expanding tolerations div width
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tolerations table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tolerations table styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding <PodTolerations/> tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add new line at the end of the file for linter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Making "since" date visible as bolded text
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing colors in log tab elements
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* enable default workspace on first boot
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use get/set
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Prevent initializing clusters multiple times
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Do not expose intializing to cluster state
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Convert initializing to observable and ensure it is set to false after init
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Adding bottom toolbar to logs tab
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Making bottom toolbar responsive
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using generic search input clear button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing log test selectors
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix fill the gaps logic in normalize metrics
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use pid+frameId
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* use correct process id
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add version display to extensions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* use new format
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix styling
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Appliying dark colors on dock contents
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix lint error
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding context menu to dock tabs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Allowing to open menu by contextmenu event
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding DockTab tests with fine-tuning jest config
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding disable state to menu items
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing empty lines
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving jest-canvas-mock to dev dependencies
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Mario Sarcher <msarcher@mirantis.com>
Add proper error message when catching a error during loadKubeMetrics()
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* Adding line break after log each log line
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding comment for line break
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix tencent distribution detect
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Change method orders to avoid conflicts
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
* workloads overview: don't block on store load
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* subscribe after loadAll
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Passing raw logs to PodLogs child components
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Avoid autoscrolling while user is scrolling
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing status panel from log controls
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* optimise Cluster.getAllowedResources()
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make it faster (max 5 concurrent requests)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Display node column in pods list
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Adding flat option to <Badge />
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing <Span /> component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using badge with tooltips in pods list
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Types for Select and Slider components are not fully exported, fix#1824
Signed-off-by: Roman <ixrock@gmail.com>
* remove unused @types/material-ui package
Signed-off-by: Roman <ixrock@gmail.com>
* Fix jsonPath calls by removing \ characters and using $..[] notation
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Parse jsonPath properly
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Cleanup
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* More cleanup
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Improve parsing
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Finetuning
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Stringify children only if value is object or array
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Test other escaped characters do not cause issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Moving SidebarNavItem component to its own file
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using id prop to preserve expanding state
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* generate metadata.selfLink if response does not have it
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix watches
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Display error dialog if extensions couldn't be loaded
* Reject npm install on failure using the process exit code
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* force only one app instance
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ClusterOverview page refactorings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Minor test fix for MainLayoutHeader
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing class name in tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unnecessary parenthesis
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing autoscroll behavior
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Making statement simpler to read
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* remove observer from app class
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* proper fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* mark cluster & workspace as beta
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* back to public
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* store more than largest kube api request amount in the event store
* not abstract, give default
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* performance fix when cluster has lots of namespaces
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Replacing pro-tip text
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Coloring extension name
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Eslint fixes in webpack files
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix getExtensionPageUrl on Windows
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Use path.posix.join() instead
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix lint issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix extensions installation on Windows
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Get rid of readFileSync
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add missing semicolon
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Using trayTemplate icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up nativeTheme import
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using light icon for tray
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing unused tray icons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving lens-views behind extension views
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting z-index for all child elements of <main/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* add no-unused-vars and no-unused-imports
* added quotes: double, and remove ignore pattern
* move itif and describeif into utils
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix: add-cluster page D&D kube-config don't work: Error-info: <DropFileInput/> must contain only single child element
Signed-off-by: Roman <ixrock@gmail.com>
* renaming
Signed-off-by: Roman <ixrock@gmail.com>
* Store prometheus metadata for clusters based on metrics requests
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Use ClusterMetadataKey.PROMETEHUS as key
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Update metadata only if it is changed
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Use structural comparer as default for store sync reaction
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* No need to compare metadata as json anymore
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Use structural comparer only in cluster-store
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Refactoring
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* React only prometeheus preference changes to re-initialise prometheus connection
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add missing semicolons
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix imports
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Report metrics status in cluster-report (#1443)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Apply suggestions from code review
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix logger reference
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* refine and document cluster feature api
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* lint fix
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* change add-cluster to single column layout
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup styles
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Fine-tuning layout/coloring styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix: invalid handling disabled={false} causing app crash
Signed-off-by: Roman <ixrock@gmail.com>
* re-fix: put React.Children.only() validation inside try-catch to avoid crash as well
Signed-off-by: Roman <ixrock@gmail.com>
* Option to install an extension from filesystem/url #1227 -- part 1 (UI)
Signed-off-by: Roman <ixrock@gmail.com>
* DropFileInput: common component to handle droped files (replaced also in add-cluster-page)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: install via url-string on input.submit
Signed-off-by: Roman <ixrock@gmail.com>
* ui tweaks & minor fixes
Signed-off-by: Roman <ixrock@gmail.com>
* more ui/ux tweaks & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* layout fixes
Signed-off-by: Roman <ixrock@gmail.com>
* component renaming: `copy-to-click` => `copy-to-clipboard` => `clipboard`
Signed-off-by: Roman <ixrock@gmail.com>
* reworks -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fix downloading file, added common/utils/downloadFile
Signed-off-by: Roman <ixrock@gmail.com>
* confirm before install, unpack tar first steps
Signed-off-by: Roman <ixrock@gmail.com>
* installation flow, extracting .tgz
Signed-off-by: Roman <ixrock@gmail.com>
* clean up, fix lint issues
Signed-off-by: Roman <ixrock@gmail.com>
* update .azure-pipelines.yml
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint harder :/
Signed-off-by: Roman <ixrock@gmail.com>
* fix validation
Signed-off-by: Roman <ixrock@gmail.com>
* fix validation harder
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments, fixed package validation
Signed-off-by: Roman <ixrock@gmail.com>
* common/utils/tar.ts: reject with Error-type
Signed-off-by: Roman <ixrock@gmail.com>
* fix: unit-tests
Signed-off-by: Roman <ixrock@gmail.com>
* Setting global webkit-scrollbar styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing usage of custom-scrollbar mixin
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set overflow:auto on .Table
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing .drawer-content paddings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Resolve extension enabled status when loading it
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Check if extension is enabled in store unless it is bundled
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Return false by default for isEnabled
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Refactor isEnabled assignment
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* add store for mapping extension names to filesystem paths
- add extension mechinism for getting a folder to save files to
- add test to make sure that extensions are being loaded
- skip extension loading test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Save and restore lastActiveClusterId
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Activate clusters from workspaces page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix saving last cluster while jumping from tray
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding workspace switch tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove console.log()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean duplicated ClusterId definition
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving lastActiveClusterId field into WorkspaceModel
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix extensionLoader error on dev environments where renderer might start early (#1447)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Add Search by Ip to Pod View (#1445)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
* Make BaseStore abstract (#1431)
* make BaseStore abstract so that implementers are forced to decide how to store data
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Enforce semicolons in eslint
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Add a few missing folders to be linted.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Use @typescript-eslint/semi.
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Allow extension cluster menus to have a parent (#1452)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix SwitchCase indent rule in eslint (#1454)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert "fix SwitchCase indent rule in eslint (#1454)"
This reverts commit 082774fe6e.
* Revert "Allow extension cluster menus to have a parent (#1452)"
This reverts commit 622c45cd6d.
* Revert "Use @typescript-eslint/semi."
This reverts commit 890fa5dd9e.
* Revert "Add a few missing folders to be linted."
This reverts commit c7b24c2922.
* Revert "Enforce semicolons in eslint"
This reverts commit ca67caea60.
* Revert "Make BaseStore abstract (#1431)"
This reverts commit 4b56ab7c61.
* Revert "Add Search by Ip to Pod View (#1445)"
This reverts commit 4079214dc1.
* Revert "fix extensionLoader error on dev environments where renderer might start early (#1447)"
This reverts commit 8a3613ac6f.
* Split workspace tests to smaller ones
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Missing semicolons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Split workspace tests a bit more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding extra click in Add Cluster button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding more awaits to check running cluster
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Wait for minikube before running tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: pashevskii <53330707+pashevskii@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Converting ansi values to colored html
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Rewriting AnsiUp colors for search overlay
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix creating new workspace
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Show not yet enabled workspaces in list
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Not showing disabled workspaces
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* PageRegistration & PageMenuRegistration fixes & more simplification, fix#1383
Signed-off-by: Roman <ixrock@gmail.com>
* clean up test, deprecate page.routePath
Signed-off-by: Roman <ixrock@gmail.com>
* fix: proper `isActive` state matching for page-menu-target to page considering current document location
Signed-off-by: Roman <ixrock@gmail.com>
* add retry cap to handleStaticFile to prevent an infitite loop
* 'yarn -> yarn run' for node_module dependencies
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix rendering of boolean values in CRDs
- add optional special casing for boolean values in DrawerItems and
TableRows since React (imo annoying fashion) does not render boolean
values by default.
- add a spinner on the sidebar for when the CRD menu is expeanded but
the entries have not been loaded yet.
- Add ability to double click a Badge to expand, also make it so that
Badges highligh all text on first click.
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Removing !important statements from theme vars
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Wait for user store to load
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix this reference
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Aligning test with resetTheme() fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add mechanism for users to specify namespaces that are accessible to them. This is generally useful for when the user doesn't have permission to list the namespaces.
- Add new component "EditableList" which provides a simple way to
display a list of items that can be added too.
- Add the ClusterAccessibleNamespaces to the GeneralClusterSettings
- style editable list list of lists, switch to using <>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
* Moving logs to virtual list
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Introducing log search
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting ref for VirtualList to access its methods
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Introducing search store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Centering overlay when scroll to it
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using SearchInput in PodLogSearch
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using Prev/Next icons for search
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* No trigger logs load when scrolled by method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* SearchInput refactoring
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding find counters
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean search query on dock tab change
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refresh search when logs get changed
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Case-insensitive search
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Improve logs scrolling experience
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Catching empty logs in various places
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing downloading logs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up some duplicated styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing jump-to-bottom animation
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing since label
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Reducing container selector size
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Scroll down to bottom after each reload
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix search within timestamps if they not provided
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use log row hover color from theme
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add search bindings for 'Esc' & 'Enter' hits
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Focus input fields on CmdOrCtrl+F
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move search.store.ts in to /common folder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* search.store.ts -> search-store.ts
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding test for search store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding integration tests for logs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing scroll jumping bug
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing download icon check for testing purpose
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing clicking on nginx-create-pod-test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving log tests before cluster operations
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Build extensions before integration tests
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Build also npm before integration tests
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Move npm build and extension build into own build step
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Removing separator sketches
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Horizontal scrolling to founded keyword
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Delaying horizontal scrolling
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
* Add webpack-dev-server (for hot module replacement) to serve statics, add HardSourceWebpackPlugin to improve re-compiling speed
* Serve statics using webpack-dev-server instead of lens-proxy, redirect request of Lens.html/Lens.js to webpack-dev-server
* Add react-refresh-webpack-plugin and its dep for hot-reload
* Add hot-reload plugin, and make proxy redirects requests to webpackdevserver
* Add hard-source webpack plugin to main process
* Remove parameter 'path' of handleStaticFile
* Upgarde webpack to v4 latest stable
* Fix build error: plugins shouldnt be null
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
* fix: create extension instance only when enabled
Signed-off-by: Roman <ixrock@gmail.com>
* mark extension.isEnabled with private modifier
Signed-off-by: Roman <ixrock@gmail.com>
* try-catch errors for extension.disable()
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* make ext.isBundled non optional
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Steve Richards <srichards@mirantis.com>
Co-authored-by: Mario Sarcher <msarcher@mirantis.com>
Co-authored-by: steve richards <steve.james.richards@gmail.com>
Co-authored-by: Paul Williams <pawilliams@mirantis.com>
Co-authored-by: pauljwil <pauljwil@gmail.com>
* Extensions page and menu item
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Basic extension list view
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding get userExtensions filter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using WizardLayout at extension page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding search to extension page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Few style fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* clean up
Signed-off-by: Roman <ixrock@gmail.com>
* added folder-icon to open extensions in finder, refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* remove export warnings in dev:main, tooltip.getPosition() fix
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring base lens-extension.ts, added `isBundled` flag
Signed-off-by: Roman <ixrock@gmail.com>
* added enabled/disable buttons
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 4
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix: use page-layout with fullsize viewport
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add @testing-library/jest-dom and @testing-library/react for writing test cases
* Make eslint check __mocks__/*.ts files
* Mock electron.ipcRenderer.on to prevent errors in React compoment test cases
* Mock <Trans /> from @lingui/macro as a component simplely returns children components
* Use optional chaining operator (?.) to avoid TypeError: Cannot read property 'replicas' of undefined
* Add jest-fetch-mock for mocking global.fetch, activate for all test cases in jest.setup.ts
* Add basic tests for <DeploymentScaleDialog /> to ensure it initialises/renders without errors
* Add +/- button for changing desired replicas, and its test cases
* Adjust the styles of +/- buttons container to make sure it aligns with the slider
* Refactor after rebase from master
* Use var defined in vars.scss
* Add flex align-center to slider-container and remove margin-top: -4px
* Use <Icon /> to replace <i/>
* Add flex gaps to plus-minus-container
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>