Commit Graph
40 Commits
Author SHA1 Message Date
Roman b8752f7127 Don't open Lens at OS login by default, close #1697 (#1859)
Signed-off-by: Roman <ixrock@gmail.com>
2020-12-30 01:56:46 +02:00
Roman be4e1aa15c Navigation refactoring, handling extension page params (#1651)
* decentralizing page url-params management -- PoC / tsc 4.1 random fixes

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

* fixes, tweak example-extension for demo

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

* lint fixes, revert tests

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

* removed occasional changes related to typescript 4.1

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

* updated example with 2 menu-items targeting same page with different params

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

* fix: merge page url chunks with native URL()-api, simplified default page-params registration

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

* fix: make lint happy

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

* fix: unit-tests

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

* renaming by jim's request: UrlParam => PageParam (type), createUrlParam => createPageParam (helper)

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

* fix: reverting NamespaceStore public-api breaking changes

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

* lint fix

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

* fine-tuning

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

* yes, lint always unhappy

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

* fix build

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

* small fixes

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

* fix merge-conflicts

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

* removed `isSystem` page-param's init field exposed to extensions-api

Signed-off-by: Roman <ixrock@gmail.com>
2020-12-22 15:29:25 +02:00
Roman d281ff4a21 Fix: missing dependent types for Select and Slider components (#1828)
* 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>
2020-12-22 14:38:06 +02:00
Roman 10eb082854 Fix: add-cluster page D&D is broken (#1549)
* 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>
2020-11-27 15:10:58 +02:00
Roman 7243dfdce4 Installing extensions UI improvements (#1522)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-25 16:42:19 +02:00
Roman 4474d87ed2 Fix: Unhandled exception for <DropFileInput disabled={true}/> (#1512)
* 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>
2020-11-25 11:55:30 +02:00
Roman 77ae31550a Allow to install packed extensions from URL or local file (#1456)
* 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>
2020-11-25 09:55:28 +02:00
Roman 13dbdac2f2 PageRegistration / PageMenuRegistration fixes & more simplification (#1386)
* 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>
2020-11-16 15:18:53 +02:00
RomanandJari Kolehmainen faa1cef307 PageRegistration & BaseRegistry refactoring (#1334)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2020-11-12 16:29:02 +02:00
Roman 1f88c05e82 Refactoring: removed kube versioned api (#1328)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-12 08:39:50 +02:00
Roman c67dad54e3 fix: allow to select kube-api objects with label & field selectors (#1327)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-11 13:42:36 +02: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
Roman 474aaae8c6 ApiManager.registerStore should be simplified #1275 (#1278)
Signed-off-by: Roman <ixrock@gmail.com>
2020-11-09 13:30:41 +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
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
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
Roman 3c23823a62 PoC: using external styles for extensions (#1173)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-30 10:29:01 +02:00
Roman bfdbf02830 fix: correct command in Makefile for compiling extension-types, typo fix (#1160)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-27 22:41:35 +02:00
Roman 67754ffbb9 Get rid of this.disposers while registering stuff in extensions (#1148)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-27 17:07:21 +02:00
334815f71a Tray icon (#1005)
* Tray icon #833 -- part 1

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

* Tray icon #833 -- part 2

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

* Tray icon #833 -- part 3

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

* Tray icon #833 -- part 4

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

* fix: lint / linux build failed

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

* allow to disable tray from preferences

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

* allow to tweak svg-icon before applying as tray-icon

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

* add checkbox indication, setActive workspace on cluster select

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

* fix build version (cannon find module 'react')

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

* - switching dark/light icon depending on os-x theme settings
- optimization: don't re-create tray icon on menu udpates (avoid blinking)

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

* fix: refresh icon after turning on/off + switching dark-mode

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

* allow to close main window and re-open from dock or tray icon

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

* small fix

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

* fix: ensure main-window from global menu

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

* chore

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

* fix: hide traffic-light buttons for tray window

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

* removed redundant tray window

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

* removed delay from base-store

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

* adding cluster fix (reverted changes from master)

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

* - hide icon in dock when main-window closed (mac-os only)
- added preferences checkbox to open app at system start-up

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

* handle quit app action from tray menu

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

* moved generating tray icons to build step

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

* Fix integration tests (#1080)

* Fix integration tests

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* Update integration/helpers/utils.ts

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

Co-authored-by: Sebastian Malton <sebastian@malton.name>

* fix-build: invisible app icon when there are more files within "build/icons/*.png"

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

* chore

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

* yarn i18n.extract

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

* clean-up

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

* navigation refactoring, move out `buildUrl` to common/utils so `react` and `react-router` not required as package.json dependecies in runtime (main)

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

* Ignore namespace query param on integration tests (#1109)

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>

* merge-conflicts fixes

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

* support page fixes

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

* make eslint happy again

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

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2020-10-27 15:25:29 +02:00
Roman 9b9bf47970 Refactor PageRegistration to separate registries/interfaces #1130 (#1144)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-26 15:40:34 +02:00
Roman 48d8d985ae FIX: Duplicate "support" items in menu (#1140)
* Duplicate "support" items in menu, fix #1128

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

* clean up (contents moved to extensions/core-api/index.ts)

Signed-off-by: Roman <ixrock@gmail.com>
2020-10-26 13:07:26 +02:00
RomanandJim Ehrismann f3a0059355 Extension support page (#1112)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com>
2020-10-24 09:24:54 +03:00
Roman c78b071da3 TabLayout should not be part of LensRuntimeRendererEnv (#1029)
Signed-off-by: Roman <ixrock@gmail.com>
2020-10-06 14:38:28 +03:00
Roman 5ec6751ab4 Extensions api types (#985)
Signed-off-by: Roman <ixrock@gmail.com>
2020-09-29 07:37:25 +03:00
Roman 9a402eab3d fix: example-extension broken after merging master
fix: removed devtools warnings from extension-api bundle

Signed-off-by: Roman <ixrock@gmail.com>
2020-09-23 12:10:02 +03:00
Roman 91b4823ec6 Merge branch 'master' into extensions-api
# Conflicts:
#	src/renderer/components/app.tsx
#	src/renderer/components/cluster-manager/clusters-menu.scss
#	src/renderer/components/cluster-manager/clusters-menu.tsx
#	src/renderer/components/layout/main-layout.tsx
#	src/renderer/components/layout/sidebar.tsx
2020-09-23 11:49:16 +03:00
Roman a3dc928430 Merge branch 'master' into extensions-api
# Conflicts:
#	package.json
#	src/common/cluster-store.ts
#	src/renderer/bootstrap.tsx
#	src/renderer/components/cluster-manager/clusters-menu.tsx
#	static/RELEASE_NOTES.md
#	webpack.dll.ts
2020-09-11 12:29:38 +03:00
Roman 7722f443eb [FIX]: Cluster dashboard not rendered (#848)
* Cluster dashboard not rendered, fix #811

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

* refactoring

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

* actual fix

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

* reverted back reconnect check in cluster.activate()

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

* fix: cluster.activate() should not start reconnect on init (if not accessible)

Signed-off-by: Roman <ixrock@gmail.com>
2020-09-11 12:02:25 +03:00
RomanandAlex Andreev 5daf53e6cb Extensions-api: initial hello-world example (#817)
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-09-09 16:19:02 +03:00
f1b03990ea Extensions loading (#795)
Signed-off-by: Roman <ixrock@gmail.com>

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-09-09 13:00:25 +03:00
Roman 505a5c7d9f - fix: too narrow sidebar without clusters #755 (#765)
- fix: navigate to landing on workspace switch

Signed-off-by: Roman <ixrock@gmail.com>
2020-08-29 14:00:29 +03:00
b8994a453f Allow user to select Kubeconfig from filesystem (#740)
* Allow user to select Kubeconfig from filesystem, fix #738

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

Co-authored-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-08-28 08:43:51 +03:00
Roman 6e645eade0 Random fixes (#727)
* extract missing localizations from last master <- pr-merge

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

* fix: prevent app-crash in preferences in case of incorrect http-proxy value

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

* fix: don't repeat ipc-sync message to main renderer process/window when sending to frames

Signed-off-by: Roman <ixrock@gmail.com>
2020-08-21 15:08:09 +03:00
Roman 5163ede4f1 package.json: upgrade typescript to 4.x (#725)
Signed-off-by: Roman <ixrock@gmail.com>
2020-08-20 21:01:33 +03:00
Roman b6a6dadfce Fix: sync in sub-frames for common-stores are broken (#724)
* fix: sync in sub-frames for common-stores are broken

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

* clean up

Signed-off-by: Roman <ixrock@gmail.com>
2020-08-20 20:33:06 +03:00
Roman 86e1e23ccd fix: incorrect path to install/re-install features (#723)
Signed-off-by: Roman <ixrock@gmail.com>
2020-08-20 18:27:20 +03:00
5670312c47 Migrating Vue components to React and stores refactoring (#585)
Signed-off-by: Roman <ixrock@gmail.com>

Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
2020-08-20 08:53:07 +03:00
Roman 5f4e1253a9 Replace webview tag to iframe (#554)
Signed-off-by: Roman <ixrock@gmail.com>
2020-07-02 17:31:59 +03:00
Roman d90be46a1f use common vars in router, minor clean up (#551)
Signed-off-by: Roman <ixrock@gmail.com>
2020-07-02 17:21:38 +03:00