Commit Graph
425 Commits
Author SHA1 Message Date
Sebastian Malton 394ccbde29 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

Signed-off-by: Sebastian Malton <smalton@mirantis.com>
2020-11-09 10:05:19 -05:00
Alex AndreevandLauri Nevala 16fb35e3f9 Log search (#1114)
* 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>
2020-11-09 17:46:14 +03:00
Roman f69f8c793f Export more UI components via extensions-api (#1285)
* export more UI components via extensions-api, touches #1277 #1284

Signed-off-by: Roman <ixrock@gmail.com>

* fix build, added table + notification-store exports

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 15:16:32 +02:00
chh 85f0ef8c2e Add webpack hot-reload/cache plugins to improve Lens DX (#1250)
* 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>
2020-11-09 21:04:41 +08:00
Miska Kaipiainen 531e445981 Fix Documentation: Contributing (#1273)
Signed-off-by: Miska Kaipiainen <miska.kaipiainen@gmail.com>
2020-11-09 13:54:01 +02:00
Roman 474aaae8c6 ApiManager.registerStore should be simplified #1275 (#1278)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 13:30:41 +02:00
chh 15030f5ce9 Remove PR auto labler (#1272)
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-09 11:58:20 +02:00
Roman 94ac081588 Extensions api fixes (#1233)
* 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>
2020-11-07 18:56:26 +02:00
Jari Kolehmainen 1b71106ed5 Docs: extension common capabilities (#1259)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-06 16:50:11 +02:00
Lauri Nevala b5cef916a2 Docs: Extension Anatomy (#1265)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-06 16:34:48 +02:00
chh ea155de6e4 Docs: extension testing (#1264)
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-06 16:29:43 +02:00
Miska Kaipiainen c6acc0d7f2 New Documentation: Contributing section (#1266)
Signed-off-by: Miska Kaipiainen <miska.kaipiainen@gmail.com>
2020-11-06 15:39:02 +02:00
Alex Andreev 2197e5e53d Renaming theme .json files (#1256)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-06 15:30:55 +03:00
Jari Kolehmainen e0e4415040 Docs: enable syntax highlight for code blocks (#1254)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-06 12:37:28 +02:00
Mario Sarcher 880302928d Merge pull request #1248 from pauljwil/cluster-settings
Reworked Clusters/Settings
2020-11-06 08:53:56 +01:00
Paul Williams e3484d2ecf Reworked and added screenshots to clusters/settings.md and reworked first sentence of clusters/removing-clusters.md 2020-11-05 16:22:06 -08:00
Jari Kolehmainen f8ae8cc53d Restructure docs menu (#1235)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-05 17:30:49 +02:00
3bc45218c1 Documentation (MKDOCS) (#1230)
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>
2020-11-05 16:38:56 +02:00
pashevskii d074e0499f Restart deployment (#1175)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-11-05 10:23:14 +03:00
RomanandAlex Andreev f9578ba407 UI for enabling/disabling extensions (#1208)
* 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>
2020-11-04 19:25:36 +02:00
Lauri Nevala d5214e47c1 Release v4.0.0-alpha.4 (#1224)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-04 17:16:48 +02:00
Sebastian Malton 02b9ac6b8b Add @types/node to devDeps for npm extension (#1217)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-04 15:44:24 +02:00
chh 88a550fbda Add if to only run labler on lens own repo but not fork (#1221)
Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-04 15:43:17 +02:00
Sebastian Malton d7c7593c0d Add CI step to run future extension tests (#1214)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-04 12:49:37 +02:00
pashevskii 0497947159 [BugFix] Chart details are not updated on selecting another chart (#1155)
Signed-off-by: Pavel Ashevskii <pashevskii@mirantis.com>
2020-11-03 18:41:30 +03:00
Alex Andreev e3354f3b75 Fixing return statements in Pod menus (#1211)
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-11-03 16:22:54 +03:00
chh 484de2ec21 Add +/- buttons in scale deployment popup screen (#1191)
* 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>
2020-11-03 20:30:36 +08:00
Jari Kolehmainen 3ed7d93e91 Load symlinked extension folders (#1207)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-03 08:35:40 +02:00
Jari Kolehmainen e570f6ac3b Release v4.0.0-alpha.3 (#1197)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-03 08:05:23 +02:00
Lauri Nevala 14c893d9eb Add types for analytics-node (#1203)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-11-02 21:35:48 +02:00
Jari Kolehmainen 7a6f6441af Expose more apis for KubeObjectListLayout usage (#1194)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-02 19:28:00 +02:00
chh ab5885f0e1 Add actions/labeler for auto label PRs (#1193)
* Add labler github action for auto labeling of PRs

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>

* Add new label area/ci

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>

* Auto label PR when changes on .azure-pipelines.yml and docs/**/*

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>

* Typo READEME.md > README.md

Signed-off-by: Hung-Han (Henry) Chen <1474479+chenhunghan@users.noreply.github.com>
2020-11-02 21:37:14 +08:00
Jari Kolehmainen c7f77a01f9 Fix UI staleness after network issues (#1192)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-02 14:51:04 +02:00
Roman 32ca885596 License extension (#1174)
* License menu item should come from an extension #1141

Signed-off-by: Roman <ixrock@gmail.com>

* fix: expose `Util.openExternal` via extensions-api

Signed-off-by: Roman <ixrock@gmail.com>

* move LICENSE back to root

Signed-off-by: Roman <ixrock@gmail.com>
2020-11-02 13:03:00 +02:00
Jari Kolehmainen da862db0b9 Fix proxy upgrade socket timeouts (#1190)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-02 08:17:08 +02:00
Jari Kolehmainen 70a8982c9f Add missing kubeObjectDetailItems observable to LensRendererExtension (#1187)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 21:49:16 +02:00
Jari Kolehmainen d23da79538 Expose KubeObjectListLayout to extensions (#1186)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 16:25:57 +02:00
Lauri Nevala f126264d47 Telemetry improvements (#1180)
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-10-30 16:09:59 +02:00
Jari Kolehmainen eb5aca628d Expose kubeObjectDetailRegistry via extension-api (#1185)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 15:57:32 +02:00
Alex Andreev 20e26f3206 Status bar visual fixes (#1182)
* Status bar improvements

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Removing animation visibility delay

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-30 15:16:26 +03:00
Alex Andreev c5298548cb Replace xs to smallest className
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-30 15:13:52 +03:00
Alex Andreev 924cf14fd5 Removing animation visibility delay
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-30 13:05:50 +03:00
Alex Andreev 7817db39f2 Status bar improvements
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-30 13:05:22 +03:00
Roman 3c23823a62 PoC: using external styles for extensions (#1173)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-30 10:29:01 +02:00
Jari Kolehmainen 4a6553967d Improve how extensions can manage cluster/workspace stores (#1176)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-30 09:45:09 +02:00
Jari Kolehmainen e4c56512e7 Fix regression caused by #1171 (#1172)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-29 12:06:37 +02:00
Alex Andreev a583dbe6d3 Fix: path checks in custom extension loader (#1170)
* Check for path existence and directory type

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Check for package.json availability

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-10-29 11:23:54 +03:00
Jari Kolehmainen 66d5fdd8b5 Optimize ExtensionManager#load (#1171)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-29 09:53:25 +02:00
Jari Kolehmainen e933d171a7 Release v4.0.0-alpha.2 (#1168)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-28 14:34:09 +02:00
Jari Kolehmainen 40e228c1ac Fix npm package missing types (#1167)
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-10-28 12:48:37 +02:00