diff --git a/src/window.ts b/src/window.ts index 7445fe7..ddcdb33 100644 --- a/src/window.ts +++ b/src/window.ts @@ -4,7 +4,7 @@ // I'm sorry for this mess but I'm not sure how to fix it. import {BrowserWindow, shell, app, ipcMain, dialog, clipboard} from "electron"; import path from "path"; -import {checkIfConfigIsBroken, firstRun, getConfig, contentPath, isSetup, setConfig} from "./utils"; +import {checkIfConfigIsBroken, firstRun, getConfig, contentPath, isSetup} from "./utils"; import {registerIpc} from "./ipc"; import startServer from "./socket"; import contextMenu from "electron-context-menu"; @@ -13,7 +13,6 @@ export var icon: string; export let mainWindow: BrowserWindow; export let inviteWindow: BrowserWindow; let guestWindows: BrowserWindow[] = []; -var osType = os.type() contextMenu({ showSaveImageAs: true, @@ -22,50 +21,11 @@ contextMenu({ }); async function doAfterDefiningTheWindow() { - var ignoreProtocolWarning = await getConfig("ignoreProtocolWarning"); checkIfConfigIsBroken(); registerIpc(); - - // A little sloppy but it works :p - if (osType == 'Windows_NT') { - osType = "Windows " + os.release().split('.')[0] + " (" + os.release() + ")"; - } - mainWindow.webContents.userAgent = `Mozilla/5.0 (X11; ${osType} ${os.arch()}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36`; //fake useragent for screenshare to work + mainWindow.webContents.userAgent = `Mozilla/5.0 (X11; ${os.type()} ${os.arch()}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36`; //fake useragent for screenshare to work mainWindow.webContents.setWindowOpenHandler(({url}) => { - if (url.startsWith("https:" || url.startsWith("http:") || url.startsWith("mailto:"))) { - shell.openExternal(url); - } else { - if (ignoreProtocolWarning) { - shell.openExternal(url); - } else { - const options = { - type: "question", - buttons: ["Yes, please", "No, I don't"], - defaultId: 1, - title: url, - message: `Do you want to open ${url}?`, - detail: "This url was detected to not use normal browser protocols. It could mean that this url leads to a local program on your computer. Please check if you recognise it, before proceeding!", - checkboxLabel: "Remember my answer and ignore this warning for future sessions", - checkboxChecked: false - }; - - dialog.showMessageBox(mainWindow, options).then(({response, checkboxChecked}) => { - console.log(response, checkboxChecked); - if (checkboxChecked) { - if (response == 0) { - setConfig("ignoreProtocolWarning", true); - } else { - setConfig("ignoreProtocolWarning", false); - } - } - if (response == 0) { - shell.openExternal(url); - } else { - return; - } - }); - } - } + shell.openExternal(url); return {action: "deny"}; }); mainWindow.webContents.session.webRequest.onBeforeRequest((details, callback) => {