1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Release 6.2.5 (#6707)

* Release 6.2.5

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* Bump electron from 19.1.8 to 19.1.9 (#6686)

Bumps [electron](https://github.com/electron/electron) from 19.1.8 to 19.1.9.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v19.1.8...v19.1.9)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix race conditrion preventing window from opening (#6680)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix: remove excessive scrollbars from the TabLayout view (#6689)

* Remove excessive scrollbars from the TabLayout view

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

* Updating snapshots

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

* Updating snapshots harder

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

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

* Fix not being able to add custom helm repos (#6692)

* Add missing safety checks in unit tests for structured clone issues

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix not being able to add custom helm repos

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix crash in PersistentVolumeDetails (#6691)

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix top-bar .separator width (#6706)

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

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

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Jim Ehrismann 2022-12-06 17:45:27 -05:00 committed by GitHub
parent 810a0f8dd1
commit 1ef74289ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 368 additions and 129 deletions

View File

@ -3,7 +3,7 @@
"productName": "OpenLens", "productName": "OpenLens",
"description": "OpenLens - Open Source IDE for Kubernetes", "description": "OpenLens - Open Source IDE for Kubernetes",
"homepage": "https://github.com/lensapp/lens", "homepage": "https://github.com/lensapp/lens",
"version": "6.2.4", "version": "6.2.5",
"main": "static/build/main.js", "main": "static/build/main.js",
"copyright": "© 2022 OpenLens Authors", "copyright": "© 2022 OpenLens Authors",
"license": "MIT", "license": "MIT",
@ -375,7 +375,7 @@
"css-loader": "^6.7.1", "css-loader": "^6.7.1",
"deepdash": "^5.3.9", "deepdash": "^5.3.9",
"dompurify": "^2.4.1", "dompurify": "^2.4.1",
"electron": "^19.1.8", "electron": "^19.1.9",
"electron-builder": "^23.6.0", "electron-builder": "^23.6.0",
"electron-notarize": "^0.3.0", "electron-notarize": "^0.3.0",
"esbuild": "^0.15.14", "esbuild": "^0.15.14",

View File

@ -43,7 +43,7 @@ export interface PersistentVolumeSpec {
capacity?: Partial<Record<string, string>>; capacity?: Partial<Record<string, string>>;
flexVolume?: { flexVolume?: {
driver: string; // ceph.rook.io/rook-ceph-system, driver: string; // ceph.rook.io/rook-ceph-system,
options: { options?: {
clusterNamespace: string; // rook-ceph, clusterNamespace: string; // rook-ceph,
image: string; // pvc-c5d7c485-9f1b-11e8-b0ea-9600000e54fb, image: string; // pvc-c5d7c485-9f1b-11e8-b0ea-9600000e54fb,
pool: string; // replicapool, pool: string; // replicapool,

View File

@ -272,7 +272,9 @@ exports[`legacy extension adding cluster frame components given custom component
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -327,7 +327,9 @@ exports[`cluster - order of sidebar items when rendered renders 1`] = `
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -942,7 +944,9 @@ exports[`cluster - order of sidebar items when rendered when parent is expanded
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -300,7 +300,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -836,7 +838,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1392,7 +1396,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -2799,7 +2805,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -3335,7 +3343,9 @@ exports[`cluster - sidebar and tab navigation for core given core registrations
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -300,7 +300,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -836,7 +838,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1408,7 +1412,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1994,7 +2000,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="some-child-page" data-testid="some-child-page"
> >
@ -2485,7 +2493,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="some-other-child-page" data-testid="some-other-child-page"
> >
@ -2939,7 +2949,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="some-child-page" data-testid="some-child-page"
> >
@ -3416,7 +3428,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -3952,7 +3966,9 @@ exports[`cluster - sidebar and tab navigation for extensions given extension wit
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -272,7 +272,9 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -820,7 +822,9 @@ exports[`cluster - visibility of sidebar items given kube resource for route is
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -286,7 +286,9 @@ exports[`workload overview when navigating to workload overview renders 1`] = `
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -663,7 +663,9 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given extension shou
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1173,7 +1175,9 @@ exports[`disable-cluster-pages-when-cluster-is-not-relevant given not yet known
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -291,7 +291,9 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -801,7 +803,9 @@ exports[`disable sidebar items when cluster is not relevant given extension shou
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1311,7 +1315,9 @@ exports[`disable sidebar items when cluster is not relevant given not yet known
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -281,7 +281,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -919,7 +921,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -1562,7 +1566,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -2274,7 +2280,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -2964,7 +2972,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -3726,7 +3736,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -4490,7 +4502,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -5216,7 +5230,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -5937,7 +5953,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -6649,7 +6667,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -7361,7 +7381,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -8073,7 +8095,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -8620,7 +8644,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -9341,7 +9367,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -9888,7 +9916,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >
@ -10435,7 +10465,9 @@ exports[`cluster/namespaces - edit namespace from new tab when navigating to nam
class="TabLayout" class="TabLayout"
data-testid="tab-layout" data-testid="tab-layout"
> >
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column KubeObjectListLayout Namespaces" class="ItemListLayout flex column KubeObjectListLayout Namespaces"
> >

View File

@ -298,7 +298,9 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -843,7 +845,9 @@ exports[`cluster/namespaces - edit namespaces from previously opened tab given t
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -273,7 +273,9 @@ exports[`disable workloads overview details when cluster is not relevant given e
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -788,7 +790,9 @@ exports[`disable workloads overview details when cluster is not relevant given e
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1298,7 +1302,9 @@ exports[`disable workloads overview details when cluster is not relevant given n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -23,6 +23,7 @@ import maximalCustomHelmRepoOptionsAreShownInjectable from "./maximal-custom-hel
import { SubTitle } from "../../../../../../renderer/components/layout/sub-title"; import { SubTitle } from "../../../../../../renderer/components/layout/sub-title";
import { Checkbox } from "../../../../../../renderer/components/checkbox"; import { Checkbox } from "../../../../../../renderer/components/checkbox";
import { HelmFileInput } from "./helm-file-input/helm-file-input"; import { HelmFileInput } from "./helm-file-input/helm-file-input";
import { toJS } from "../../../../../../common/utils";
interface Dependencies { interface Dependencies {
helmRepo: HelmRepo; helmRepo: HelmRepo;
@ -36,7 +37,7 @@ const NonInjectedActivationOfCustomHelmRepositoryDialogContent = observer(({ hel
<WizardStep <WizardStep
contentClass="flow column" contentClass="flow column"
nextLabel="Add" nextLabel="Add"
next={() => submitCustomRepository(helmRepo)} next={() => submitCustomRepository(toJS(helmRepo))}
testIdForNext="custom-helm-repository-submit-button" testIdForNext="custom-helm-repository-submit-button"
testIdForPrev="custom-helm-repository-cancel-button" testIdForPrev="custom-helm-repository-cancel-button"
> >

View File

@ -273,7 +273,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -715,7 +717,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -1628,7 +1632,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -2386,7 +2392,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -3388,7 +3396,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -4364,7 +4374,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -5335,7 +5347,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -6306,7 +6320,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -7299,7 +7315,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -8301,7 +8319,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -9272,7 +9292,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -10298,7 +10320,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -11136,7 +11160,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -11909,7 +11935,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -12760,7 +12788,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -13977,7 +14007,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -14787,7 +14819,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -15812,7 +15846,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -16835,7 +16871,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -17806,7 +17844,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -18777,7 +18817,9 @@ exports[`installing helm chart from new tab given tab for installing chart was n
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"

View File

@ -273,7 +273,9 @@ exports[`installing helm chart from previously opened tab given tab for installi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -793,7 +795,9 @@ exports[`installing helm chart from previously opened tab given tab for installi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -286,7 +286,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -783,7 +785,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -1450,7 +1454,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -2174,7 +2180,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -3081,7 +3089,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -3998,7 +4008,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -4905,7 +4917,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"
@ -5822,7 +5836,9 @@ exports[`opening dock tab for installing helm chart given application is started
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
data-testid="page-for-helm-charts" data-testid="page-for-helm-charts"
style="display: none;" style="display: none;"

View File

@ -286,7 +286,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -946,7 +948,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -1699,7 +1703,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -2506,7 +2512,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -3349,7 +3357,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -4332,7 +4342,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -5317,7 +5329,9 @@ exports[`New Upgrade Helm Chart Dock Tab given a namespace is selected when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >

View File

@ -286,7 +286,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -1027,7 +1029,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -1773,7 +1777,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -2689,7 +2695,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -3666,7 +3674,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -4643,7 +4653,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -5865,7 +5877,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -7087,7 +7101,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -8309,7 +8325,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -9356,7 +9374,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -10405,7 +10425,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -11627,7 +11649,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -12604,7 +12628,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -13584,7 +13610,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -14500,7 +14528,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >
@ -15477,7 +15507,9 @@ exports[`showing details for helm release given application is started when navi
</div> </div>
</div> </div>
</div> </div>
<main> <main
class=""
>
<div <div
class="ItemListLayout flex column HelmReleases" class="ItemListLayout flex column HelmReleases"
> >

View File

@ -273,7 +273,9 @@ exports[`download logs options in logs dock tab opening pod logs when logs avail
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"
@ -1126,7 +1128,9 @@ exports[`download logs options in logs dock tab opening pod logs when logs not a
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -44,6 +44,11 @@ export interface LensWindowConfiguration {
windowFrameUtilitiesAreShown: boolean; windowFrameUtilitiesAreShown: boolean;
centered: boolean; centered: boolean;
titleBarStyle?: ElectronWindowTitleBarStyle; titleBarStyle?: ElectronWindowTitleBarStyle;
/**
* This function is called before the ContentSource is used and then awaited after
* the open call resolves
*/
beforeOpen?: () => Promise<void>; beforeOpen?: () => Promise<void>;
onFocus?: () => void; onFocus?: () => void;
onBlur?: () => void; onBlur?: () => void;
@ -93,8 +98,12 @@ const createLensWindowInjectable = getInjectable({
}, },
}); });
const { file: filePathForContent, url: urlForContent } = const {
configuration.getContentSource(); file: filePathForContent,
url: urlForContent,
} = configuration.getContentSource();
const beforeOpen = configuration.beforeOpen?.();
if (filePathForContent) { if (filePathForContent) {
await browserWindow.loadFile(filePathForContent); await browserWindow.loadFile(filePathForContent);
@ -102,7 +111,7 @@ const createLensWindowInjectable = getInjectable({
await browserWindow.loadUrl(urlForContent); await browserWindow.loadUrl(urlForContent);
} }
await configuration.beforeOpen?.(); await beforeOpen;
} }
showWindow(); showWindow();

View File

@ -102,7 +102,7 @@ class NonInjectedClusterOverview extends React.Component<Dependencies> {
const isMetricHidden = hostedCluster.isMetricHidden(ClusterMetricsResourceType.Cluster); const isMetricHidden = hostedCluster.isMetricHidden(ClusterMetricsResourceType.Cluster);
return ( return (
<TabLayout> <TabLayout scrollable>
<div className={styles.ClusterOverview} data-testid="cluster-overview-page"> <div className={styles.ClusterOverview} data-testid="cluster-overview-page">
{this.renderClusterOverview(isLoaded, isMetricHidden)} {this.renderClusterOverview(isLoaded, isMetricHidden)}
</div> </div>

View File

@ -94,7 +94,7 @@ export class PersistentVolumeDetails extends React.Component<PersistentVolumeDet
{flexVolume.driver} {flexVolume.driver}
</DrawerItem> </DrawerItem>
{ {
Object.entries(flexVolume.options).map(([name, value]) => ( Object.entries(flexVolume.options ?? {}).map(([name, value]) => (
<DrawerItem key={name} name={startCase(name)}> <DrawerItem key={name} name={startCase(name)}>
{value} {value}
</DrawerItem> </DrawerItem>

View File

@ -103,7 +103,7 @@ class NonInjectedWorkloadsOverview extends React.Component<Dependencies> {
render() { render() {
return ( return (
<SiblingsInTabLayout> <SiblingsInTabLayout scrollable>
<div className="WorkloadsOverview flex column gaps" data-testid="page-for-workloads-overview"> <div className="WorkloadsOverview flex column gaps" data-testid="page-for-workloads-overview">
<div className="header flex gaps align-center"> <div className="header flex gaps align-center">
<h5 className="box grow">Overview</h5> <h5 className="box grow">Overview</h5>

View File

@ -31,7 +31,7 @@
> .items { > .items {
position: relative; position: relative;
min-height: 200px; min-height: 130px;
} }
} }

View File

@ -23,9 +23,7 @@
} }
.contents { .contents {
grid-area: contents; overflow: hidden;
overflow: auto;
height: calc(100vh - var(--status-bar-height) - var(--main-layout-header));
} }
.footer { .footer {

View File

@ -12,6 +12,7 @@ import type { HierarchicalSidebarItem } from "./sidebar-items.injectable";
interface SiblingTabLayoutProps { interface SiblingTabLayoutProps {
children: React.ReactNode; children: React.ReactNode;
scrollable?: boolean;
} }
interface Dependencies { interface Dependencies {
@ -19,13 +20,14 @@ interface Dependencies {
} }
const NonInjectedSiblingsInTabLayout = observer( const NonInjectedSiblingsInTabLayout = observer(
({ tabs, children }: Dependencies & SiblingTabLayoutProps) => { ({ tabs, children, ...other }: Dependencies & SiblingTabLayoutProps) => {
const dereferencedTabs = tabs.get(); const dereferencedTabs = tabs.get();
if (dereferencedTabs.length) { if (dereferencedTabs.length) {
return ( return (
<TabLayout <TabLayout
tabs={dereferencedTabs} tabs={dereferencedTabs}
{...other}
> >
{children} {children}
</TabLayout> </TabLayout>

View File

@ -15,11 +15,13 @@ import type { HierarchicalSidebarItem } from "./sidebar-items.injectable";
export interface TabLayoutProps { export interface TabLayoutProps {
tabs?: HierarchicalSidebarItem[]; tabs?: HierarchicalSidebarItem[];
children?: React.ReactNode; children?: React.ReactNode;
scrollable?: boolean;
} }
export const TabLayout = observer( export const TabLayout = observer(
({ ({
tabs = [], tabs = [],
scrollable,
children, children,
}: TabLayoutProps) => { }: TabLayoutProps) => {
const hasTabs = tabs.length > 0; const hasTabs = tabs.length > 0;
@ -49,7 +51,7 @@ export const TabLayout = observer(
</Tabs> </Tabs>
)} )}
<main> <main className={cssNames({ scrollable })}>
<ErrorBoundary> <ErrorBoundary>
{children} {children}
</ErrorBoundary> </ErrorBoundary>

View File

@ -11,16 +11,20 @@
> .Tabs { > .Tabs {
background: var(--layoutTabsBackground); background: var(--layoutTabsBackground);
min-height: 32px; min-height: 36px;
} }
main { main {
$spacing: $margin * 2; $spacing: $margin * 2;
flex-grow: 1; flex-grow: 1;
overflow-y: scroll; // always reserve space for scrollbar (17px) overflow-y: hidden;
overflow-x: auto; overflow-x: auto;
margin: $spacing; margin: $spacing;
margin-right: 0;
&.scrollable {
overflow-y: scroll;
margin-right: 0;
}
} }
} }

View File

@ -20,6 +20,7 @@ export interface TabLayoutProps {
contentClass?: IClassName; contentClass?: IClassName;
tabs?: TabLayoutRoute[]; tabs?: TabLayoutRoute[];
children?: ReactNode; children?: ReactNode;
scrollable?: boolean;
} }
export interface TabLayoutRoute { export interface TabLayoutRoute {
@ -31,7 +32,7 @@ export interface TabLayoutRoute {
default?: boolean; // initial tab to open with provided `url, by default tabs[0] is used default?: boolean; // initial tab to open with provided `url, by default tabs[0] is used
} }
export const TabLayout = observer(({ className, contentClass, tabs = [], children }: TabLayoutProps) => { export const TabLayout = observer(({ className, contentClass, tabs = [], scrollable, children }: TabLayoutProps) => {
const currentLocation = navigation.location.pathname; const currentLocation = navigation.location.pathname;
const hasTabs = tabs.length > 0; const hasTabs = tabs.length > 0;
const startTabUrl = hasTabs ? (tabs.find(tab => tab.default) || tabs[0])?.url : null; const startTabUrl = hasTabs ? (tabs.find(tab => tab.default) || tabs[0])?.url : null;
@ -50,7 +51,7 @@ export const TabLayout = observer(({ className, contentClass, tabs = [], childre
))} ))}
</Tabs> </Tabs>
)} )}
<main className={cssNames(contentClass)}> <main className={cssNames(contentClass, { scrollable })}>
<ErrorBoundary> <ErrorBoundary>
{hasTabs && ( {hasTabs && (
<Switch> <Switch>

View File

@ -28,7 +28,7 @@
} }
.separator { .separator {
flex-basis: 100%; flex-grow: 1;
} }
:global(.is-mac) .topBar { :global(.is-mac) .topBar {

View File

@ -14,6 +14,10 @@
overflow: auto; overflow: auto;
} }
&.scrollable.virtual {
overflow: unset;
}
&.selectable { &.selectable {
.TableHead, .TableRow { .TableHead, .TableRow {
padding: 0 $padding; padding: 0 $padding;

View File

@ -786,7 +786,7 @@ exports[`<ClusterFrame /> given cluster with list nodes and namespaces permissio
class="TabLayout" class="TabLayout"
> >
<main <main
class="" class="scrollable"
> >
<div <div
class="ClusterOverview" class="ClusterOverview"
@ -1228,7 +1228,9 @@ exports[`<ClusterFrame /> given cluster without list nodes, but with namespaces
</div> </div>
</div> </div>
</div> </div>
<main> <main
class="scrollable"
>
<div <div
class="WorkloadsOverview flex column gaps" class="WorkloadsOverview flex column gaps"
data-testid="page-for-workloads-overview" data-testid="page-for-workloads-overview"

View File

@ -3,6 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import type { DiContainer } from "@ogre-tools/injectable"; import type { DiContainer } from "@ogre-tools/injectable";
import { deserialize, serialize } from "v8";
import type { MessageChannel, MessageChannelListener } from "../../common/utils/channel/message-channel-listener-injection-token"; import type { MessageChannel, MessageChannelListener } from "../../common/utils/channel/message-channel-listener-injection-token";
import enlistMessageChannelListenerInjectableInMain from "../../main/utils/channel/channel-listeners/enlist-message-channel-listener.injectable"; import enlistMessageChannelListenerInjectableInMain from "../../main/utils/channel/channel-listeners/enlist-message-channel-listener.injectable";
import { getOrInsertSet } from "../../renderer/utils"; import { getOrInsertSet } from "../../renderer/utils";
@ -40,6 +41,12 @@ export const overrideMessagingFromWindowToMain = (mainDi: DiContainer) => {
); );
} }
try {
message = deserialize(serialize(message));
} catch (error) {
throw new Error(`Tried to send a message to channel "${channelId}" that is not compatible with StructuredClone: ${error}`);
}
listeners.forEach((listener) => listener.handler(message)); listeners.forEach((listener) => listener.handler(message));
}); });
}; };

View File

@ -3,6 +3,7 @@
* Licensed under MIT License. See LICENSE in root directory for more information. * Licensed under MIT License. See LICENSE in root directory for more information.
*/ */
import type { DiContainer } from "@ogre-tools/injectable"; import type { DiContainer } from "@ogre-tools/injectable";
import { deserialize, serialize } from "v8";
import type { RequestChannel } from "../../common/utils/channel/request-channel-listener-injection-token"; import type { RequestChannel } from "../../common/utils/channel/request-channel-listener-injection-token";
import type { RequestFromChannel } from "../../common/utils/channel/request-from-channel-injection-token"; import type { RequestFromChannel } from "../../common/utils/channel/request-from-channel-injection-token";
import enlistRequestChannelListenerInjectableInMain from "../../main/utils/channel/channel-listeners/enlist-request-channel-listener.injectable"; import enlistRequestChannelListenerInjectableInMain from "../../main/utils/channel/channel-listeners/enlist-request-channel-listener.injectable";
@ -46,6 +47,12 @@ export const overrideRequestingFromWindowToMain = (mainDi: DiContainer) => {
); );
} }
try {
request = deserialize(serialize(request));
} catch (error) {
throw new Error(`Tried to request from channel "${channel.id}" with data that is not compatible with StructuredClone: ${error}`);
}
return requestListener.handler(request); return requestListener.handler(request);
}) as RequestFromChannel, }) as RequestFromChannel,
); );

View File

@ -5100,10 +5100,10 @@ electron-window-state@^5.0.3:
jsonfile "^4.0.0" jsonfile "^4.0.0"
mkdirp "^0.5.1" mkdirp "^0.5.1"
electron@^19.1.8: electron@^19.1.9:
version "19.1.8" version "19.1.9"
resolved "https://registry.yarnpkg.com/electron/-/electron-19.1.8.tgz#3ce19c270ca86d05bbf0df5ceeaea2d23edc7083" resolved "https://registry.yarnpkg.com/electron/-/electron-19.1.9.tgz#01995eea4014f7cdb2f616f5f3492d4ed6f5e4f0"
integrity sha512-UfPQdFjgKI0xCm1V5sV3iAVOs0kCwAE91xWzV5tI7ij14yOkxTdXp9BqTzFaSbQYLYxn6q1BUUe1nlzjJjzAnw== integrity sha512-XT5LkTzIHB+ZtD3dTmNnKjVBWrDWReCKt9G1uAFLz6uJMEVcIUiYO+fph5pLXETiBw/QZBx8egduMEfIccLx+g==
dependencies: dependencies:
"@electron/get" "^1.14.1" "@electron/get" "^1.14.1"
"@types/node" "^16.11.26" "@types/node" "^16.11.26"