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

wait app to be ready before creating a BrowserWindow for system proxy resolver (#7443)

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen 2023-03-31 13:33:13 +03:00 committed by GitHub
parent b5e564271e
commit 7bae712703
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 8 deletions

View File

@ -10,11 +10,12 @@ const resolveSystemProxyFromElectronInjectable = getInjectable({
id: "resolve-system-proxy-from-electron", id: "resolve-system-proxy-from-electron",
instantiate: (di) => { instantiate: (di) => {
const helperWindow = di.inject(resolveSystemProxyWindowInjectable);
const withErrorLoggingFor = di.inject(withErrorLoggingInjectable); const withErrorLoggingFor = di.inject(withErrorLoggingInjectable);
const withErrorLogging = withErrorLoggingFor(() => "Error resolving proxy"); const withErrorLogging = withErrorLoggingFor(() => "Error resolving proxy");
return withErrorLogging(async (url: string) => { return withErrorLogging(async (url: string) => {
const helperWindow = await di.inject(resolveSystemProxyWindowInjectable);
return await helperWindow.webContents.session.resolveProxy(url); return await helperWindow.webContents.session.resolveProxy(url);
}); });
}, },

View File

@ -32,7 +32,7 @@ describe("technical: resolve-system-proxy-from-electron", () => {
di.override( di.override(
resolveSystemProxyWindowInjectable, resolveSystemProxyWindowInjectable,
() => ({ async () => ({
webContents: { webContents: {
session: { session: {
resolveProxy: resolveSystemProxyMock, resolveProxy: resolveSystemProxyMock,
@ -73,7 +73,7 @@ describe("technical: resolve-system-proxy-from-electron", () => {
di.override( di.override(
resolveSystemProxyWindowInjectable, resolveSystemProxyWindowInjectable,
() => ({ async () => ({
webContents: { webContents: {
session: { session: {
resolveProxy: () => { resolveProxy: () => {

View File

@ -9,7 +9,7 @@ import resolveSystemProxyWindowInjectable from "./resolve-system-proxy-window.in
export default getGlobalOverride( export default getGlobalOverride(
resolveSystemProxyWindowInjectable, resolveSystemProxyWindowInjectable,
() => ({ async () => ({
webContents: { webContents: {
session: { session: {
resolveProxy: () => "DIRECT", resolveProxy: () => "DIRECT",

View File

@ -4,11 +4,19 @@
*/ */
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import { BrowserWindow } from "electron"; import { BrowserWindow } from "electron";
import electronAppInjectable from "../../electron-app/electron-app.injectable";
const resolveSystemProxyWindowInjectable = getInjectable({ const resolveSystemProxyWindowInjectable = getInjectable({
id: "resolve-system-proxy-window", id: "resolve-system-proxy-window",
instantiate: () => { instantiate: async (di) => {
const window = new BrowserWindow({ show: false }); const app = di.inject(electronAppInjectable);
await app.whenReady();
const window = new BrowserWindow({
show: false,
paintWhenInitiallyHidden: false,
});
window.hide(); window.hide();