* Add context menu in topbar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding windows title buttons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding win sandwitch icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Hide windows controls behind the flags
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix topbar layout
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using topbar as draggable area
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix sandwich icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Mark no-draggable areas
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove ipcMainOn window calls
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Explicitly hide main window menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix tests more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Restore linux native view
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Not removing menu in linux
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Showing custom window buttons in Linux
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove frame on linux and windows
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move open context menu event handler to initializers
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set x, y context menu position explicitly
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix ERR_UNSAFE_PORT from LensProxy
- Use the current list of ports from chromium as it is much easier to
just reject using one of those instead of trying to handle the
ERR_UNSAFE_PORT laod error from a BrowserWindow.on("did-fail-load")
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move all port handling into LensProxy
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* don't use so many exceptions
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Export KubeJsonApi to extensions
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make forCluster() to consume clusterId as arg
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix lint
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Janne Savolainen <janne.savolainen@houston-inc.com>
Co-authored-by: Mikko Aspiala <mikko.aspiala@houston-inc.com>
* Remove what-input dependency
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use focus-visible prop and color fix in Icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix detail views not watching child components
- Add subscribeStores calls to all relavent details
- Add support for tracking overlapping subscribes as an optimization
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Detect the adding of a namespace when selected namespaces change
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Update debug log
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add a query param for filtering port forwards by clusterId
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* pass clusterId query as param
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* pass queries as params for other apiBase calls, for consistency
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Note: this will need some rehaul, as current design with "bootstrap" and iframe make single root for injectables somewhat challenging.
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
* Use setTimeout instead of unstable onTransitionEnd
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove clicking Disconnect after each test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests harder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix possible race condition in BaseStore persistence
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup variable names in tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* remove async
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Fix dropdowns not being searchable for ClusterRoleBindingDialog and RoleBindingDialog
- Added some tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix: Catalog -> Columns visibility menu -> Empty title for "Icon"
Signed-off-by: Roman <ixrock@gmail.com>
* moving entity-icon inside name column / fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* added vertical alignment for texts in the name column
Signed-off-by: Roman <ixrock@gmail.com>
* Correctly catch and notify user about NodeShell pod failures
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix error throwing sometimes during Terminal.detach
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix crash in IngressDetails
- Adds check in Ingress.getServiceNamePort() for a
.spec.defaultBackend.resource instead of .spec.defaultBackend.service
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* remove undefined
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add comment about RequireExactlyOne
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Making cluster area hoverable
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Move sidebar cluster block to separate component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add keyboard support
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Support window nodes for node-shells
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Also check beta.kubernetes/os label
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add comment about linux fallback
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* monaco editor refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* clean up / responding to comments
Signed-off-by: Roman <ixrock@gmail.com>
* move custom monaco themes to own folder
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint
Signed-off-by: Roman <ixrock@gmail.com>
* removed unused rules from webpack's config (renderer)
Signed-off-by: Roman <ixrock@gmail.com>
* Adding MenuItems to catalog browse add button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Convert menuItems from Array to Map
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use spec.serviceName as an externalIP if nothing else
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Move using externalName to display logic
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Removing tailwind base and components styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix link coloring in few places
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Navigate cluster context menus via broadcastMessage
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Ability to navigate context in different frames
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Renaming an argument
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Stop using remote to obtain app.getPath()
- Initialize entire map in bootstrap()
- Updated unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Resolve PR comments
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix build
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Ensure that init can only be called once and catch errors
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Replace basically all uses of app.getPath() with AppPaths.get()
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* added support for port-forwarding https
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added protocol to the port-forward list and details page. Added the port-forward address to the details page title
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* predict the protocol based on the port name, some cleanup
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* code reorg
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix lint
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* improved port-forward error reporting
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* satisfy lint and some autoformatting
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* allow port-forwards to be restarted with the same local port
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comment
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Add better error message if the proxy test fails
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* resolve pr comment
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* added port-forward details
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address review comments, plus added toolbar/menu to port-forward details Drawer
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* added getById() to portForwardStore to eliminate direct items access from outside
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Don't attempt to sync files larger than 16MiB
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add handling for invalid utf-8
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Increase max size limit for single file syncs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Check object instanceof on all detail panels
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix unit tests
- Remove prettier as snapShot testing is too tight of a bound
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Change Close menu item accelerator
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Listening global keydown event in <Dock/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Prevent terminal to fire custom event
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refresh tooltip hint
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make Tab line gray if Dock isn't focused
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Added ability to add custom port on pod and service port forwarding (#3295)
* Added ability to add custom port on pod and service port forwarding
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* Added ability to add custom port on pod and service port forwarding
- pod-container-port fixed init async and active port checking
- service-port-component fixed init async and active port checking
- port-forward-route promise and response fix
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* Added ability to add custom port on pod and service port forwarding
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
* - Added Custom Port Selection for port forwarding
- Implemented Random Port if custom port is not provided
Signed-off-by: rdeepc <12953177+rdeepc@users.noreply.github.com>
Co-authored-by: Saumya Shovan Roy <saumyashovanroy@gmail.com>
* cherry-pick of hackweek work plus merge conflicts/build errors
added a route to get all port forwards
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Added Forwarded Ports to cluster dashboard
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
working port-forward page (open, edit, remove)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
added local storage to the port-forward store
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
automatically restore port-forward after pod is restarted
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
start port-forwards using random local port by default, rearranged pod and service port-forward UI
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* refactor
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more refactoring, don't always open port-forwards in browser, refined reused port-forward dialog
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* removed unimplemented forwarded port details page,modified logging
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* addressed some review comments
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* made port and forwardPort query params and cleaned up port-forward routing paths
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* address more review comments and change dashboard tab name to 'Port Forwarding'
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* changed port and forwardPort fields to be Numbers
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* removed extraneous reset() call, reorder field declarations
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* port-forward now gets the bundled kubectl path without going through the 'ensureKubectl' hoops
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* more cleanup/tweaking
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix bug where port-forward info did not update on pod details page when different pod (in same deployment?) is clicked
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Co-authored-by: Saumya Shovan Roy (Deep) <12953177+rdeepc@users.noreply.github.com>
Co-authored-by: Saumya Shovan Roy <saumyashovanroy@gmail.com>
* Redirect from /catalog to last catalog page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up more
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Splitting url params to pass in catalogURL()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* detect log follow requests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor to use getBoolean
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* electron 13.4.0
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* electron 13.4.0
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor deprecated window event handler
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Menu would bounce around in some cases because the
refreshPosition() would calculate different results
based on different state of the component and previous
render cycle CSS classes.
Also I found that the render function calls causes
in an infinite loop while open because of refreshPosition
will cause a state change which will rerender the function.
Fixed that with the shouldComponentUpdate which checks
if state has actually changed in between renders.
Signed-off-by: Juho Heikka <juho.heikka@gmail.com>
* Fix long name layout in Cluster Settings
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Clean up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix local cluster delete flow
- Now checks for the cluster being the current cluster and confirms the
action
- <ConfirmDialog> is fixed to work with several confirmations happinging
at once
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Custom delete cluster dialog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Saving kubeconfig file refactoring
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Switching current-context from dialog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up css styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Show Delete menu item only for local cluster
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Make all dialogs rounded
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Releasing kubeconfig file after lock
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding delete cluster dialog tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Delete cluster dialog refactoring
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing typo
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing temp file on error
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Do not switch context if select is hidden
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing spread symbols
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving cluster delete event from catalog initializer to ipc
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Refactor warning messages
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Getting spread (...) back to fix Select render
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using async form without promises
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Do not show context switcher if no contexts left
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating the tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* don't allow delete of the active cluster before setting to new active cluster (#3749)
* don't allow user to delete the active cluster before setting to new active cluster
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* fix lint issues
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* Show delete button if no more contexts available
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
* Using entity name as cluster name in sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Use entity name if preferences name is empty
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* simplify
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Adding home button
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight catalog entity on route match
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Wait for general entites to load
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding WelcomePage catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Highlight general entities in hotbar if their route matches
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving active entities sync to helper function
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix welcome page test
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Check only webcontent type === 'window' instead of using webContents.getFocusedWebContents(), as other webview can capture focus
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Update test
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Improve typing, print better error message instead of stop at throwing at view.getType(); continue to send to subframe even if one throws
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Remove console.log
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Remove extra line
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Allow to configure default namespace used in terminal
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix lint issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
- On some KE errors are thrown if trying to get a secret with an empty
name, instead of just ignoring the entry
- Clean up the node shell settings
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Support filtering catalog entities
- This allows extensions and OpenLens to restrict which of the entities
the sources have provied are "visible" to the rest of Lens
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix lint
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* switch to filtering only for catalog view
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix test
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* Add test to iter reduce
Signed-off-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
Co-authored-by: Panu Horsmalahti <phorsmalahti@mirantis.com>
* HistoryStore initial draft
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding history icons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Jump history using electron methods
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using 1 topbar component for all views
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Add Catalog title to sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Show cluster name in sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Updating topbar tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing Welcome tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing padding for external topbar items
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix cluster name prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using material icons for history buttons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* build and release amd64 & arm64 together
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Upgrade to electron 12 and Node 14
- Compute cluster ID for tests
- Switch to temporary appData path while testing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Allow to add WelcomeBannerRegistration.width and use that to caculate to width of Banner container
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* Export at const
Signed-off-by: Hung-Han (Henry) Chen <chenhungh@gmail.com>
* fix KubeApi.watch leak on abort
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make linter happy
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Using RemovableItem for items in Kubernetes page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Helm Charts empty state
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Empty state for kubeconfig sync list
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Remove unused styles
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* allow to pass KubeObjectStore.api via constructor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* expose KubeObjectStore to main extension
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* allow to pass KubeObjectStore.api via constructor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* remove throw for backward compat reasons
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Kubeconfig syncs from Catalog
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Allow to select directory to sync
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Convert Preferences to Route-based component
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Jump from notification to Preferences
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding navigateWithoutHistoryChange() method
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests (no check for Telemetry tab)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing tests harder
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* refactor kube api to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* refactor more utils to common
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to use node-fetch on both sides
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* improve logger
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix lint errors
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix/improve tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix node-fetch require error on prod build
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* preload fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* read serverAddress from apiBase
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Make sure that there are only ever 12 slots in a hotbar
- Send notification if hotbar is full
- Filter out on every fromStore call
- Switch to broadcast on error
- Fix addToHotbar index check
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* change when to/fromStore are located
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Make mockWindow a function and call it when needed
- Change timeouts so that better error messages happen more often in
integration tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Keep one without any type param to make sure that an extension
developer can as well
- Keep one with a child type to make sure the same as above
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Display previously selected namespaces at the top of the option list
when first opened
- Don't resort after every selection
- Automatically close the option list if no longer in multi-select mode
and have toggled at least one namespace
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Sort statuses allowing 'running' to be first
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix Chart legend badges
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding getStatus() tests for each store
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing some props from passing to <input/>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing ns loadMetrics() this context
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* fix race condition by relying on mobx when() to indicate when the kube auth proxy is ready
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
* tweak KubeAuthProxy.run() return behaviour
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
- If set (default = false) then the input will be trimmed of whitespace
before validation and before submit
- Use trim on all input's that use the systemName validator
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Catch Cluster create error in cluster-manager
- Only warn if the file is missing. The file must have disapeared
betweeen kubeconfig-sync detecting it and cluster-manager performing
the addCluster call
- For all other errors log an error
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix spelling
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use logger
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix .TableHead.sticky in for details panels
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fine-tune TableHead styling in PodDetailsList
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Catch empty string error is parseKubeApi
- Add more debugging lines
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add some unit tests
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Use resolved pathname
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Use Proxy for backwards compatability
- Fix a bunch of unit tests that needed all the Singleton's created
- Add comments on the order required for the store migrations
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* add button to expand and view whole badge contents
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* revert font changes due to update elsewhere already existing
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* make expanding icon smaller and not focusable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* extended badge content by click, selecting text from label doesn't trigger auto-closing
Signed-off-by: Roman <ixrock@gmail.com>
* fix: hover only intercative badges (with extra content)
Signed-off-by: Roman <ixrock@gmail.com>
* added common document/selectionchange watcher
Signed-off-by: Roman <ixrock@gmail.com>
* lint fixes
Signed-off-by: Roman <ixrock@gmail.com>
* Convert Badge to CSS Modules
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Align Badge styles across components
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Cleaning up
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Not closing badge if user started to select text
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing scroll to bottom in pod logs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing invalidDate error if no timestamp provided
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- If an KubernetesCluster entity is being deleted then the
catalogEntityRegistry.getById() will return undefined. This leads to
an unhandled exception in the handler because we tried to read
apiVersion. This commit changes it so that we get the apiVersion and
kind from KubernetesCluster class itself
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Explicitly don't save to disk if the value in the store is the same as
the default. That way we can change the defaults between versions
- Calculate the PreferencesModel on demand
- In the future, when we turn on strict null checking, we can enforce
that the UserStore expects the correct types too
Signed-off-by: Sebastian Malton <sebastian@malton.name>
simplify default check, remove defaults from UserStore
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Revert "don't set prerelease version info when non-prerelease (#3261)"
This reverts commit 3f01abbddf.
* include fix from #3256
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Fixing VirtualList scrollbar style
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix VirtualList styling in logs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing log element selector
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Not using css modules
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing unused prop from VirtualList
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
- kubeConfigPath was erroniously set to cluster.id
- Skip empty workspace hotbars
- Output a warn if updating or creating a cluster throws in
cluster-store
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* HotbarIcon's refering to unknown entities should be removalable
* Allow menu to open when icon is disabled
* Add cursor context-menu
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Making inputs consistent
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing hover effect in inputs
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding separators to sidebar menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fine-tuning general section
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fine-tuning hidden metrics area
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* EntityIcon in Settings sidebar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Moving cluster icon settings on top
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Shrink Apply button a big
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* release v5.0.0-rc.0
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix release-drafter.yml
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add ability to force tag
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* release v5.0.0-rc.0
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Fix release-drafter.yml
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Add ability to force tag
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* v5.0.0-beta.10
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix migrations
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
* Adding General Entities and General Category
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Usign material icons for general entities
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Setting background for hotbar icon explicitly
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding Catalog initially to first hotbar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Tuning hotbar store tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Changing type from GeneralEntity to General
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Search for catalog hotbar item in tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing Catalog link from bottom bar
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Waiting for hotbar catalog entity
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Opening cluster list by data-testId
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Replacing types on interfaces
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fixing integration tests
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding general entities throught initializers
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing icon refs from CatalogEntitySpec
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* rename PageLayout to SettingLayout
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* expose to extensions
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>
- Transition workspace's to be labels
- Fix migrations to support multiple migrations for the same version
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Do not make watch requests without resourceVersion
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Check resource version from given namespace
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Using TreeView for catalog menu
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Showing category icons
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Fix catalog badges
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing darker background on Categories group
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Set controlled selected prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>