From 1b38554df0886d298fefb6c4f38b5aaec6077603 Mon Sep 17 00:00:00 2001 From: Ishan Karmakar Date: Sun, 31 May 2026 22:12:42 -0500 Subject: [PATCH 1/2] Apparently runElevated is not needed --- src/netbird.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/netbird.ts b/src/netbird.ts index 0a16005..98b0dbb 100644 --- a/src/netbird.ts +++ b/src/netbird.ts @@ -30,6 +30,7 @@ export class NetBirdClient { }); } + /// Deprecated??? runElevated(args: string[]): Promise> { const quotedExe = this.executablePath.replace(/'/g, "''"); const quotedArgs = args.map(arg => `'${String(arg).replace(/'/g, "''")}'`).join(','); @@ -67,7 +68,7 @@ export class NetBirdClient { if (status.ok) return true; - await this.runElevated([ + await this.run([ 'service', 'install', '--management-url', @@ -78,7 +79,7 @@ export class NetBirdClient { 'info' ]); - await this.runElevated(['service', 'start']); + await this.run(['service', 'start']); for (let index = 0; index < 20; index++) { const check = await this.status({ timeout: 8000 }); From 532ef77b6f1ef5ddb687b382bb3c61faf7179b97 Mon Sep 17 00:00:00 2001 From: Ishan Karmakar Date: Sun, 31 May 2026 22:13:02 -0500 Subject: [PATCH 2/2] fix: Fix tray window continuously getting smaller --- src/config.ts | 2 ++ src/main.ts | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/config.ts b/src/config.ts index d85c862..7da98f5 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,6 +2,8 @@ export const MANAGEMENT_URL = 'https://vpn.vyntehome.com'; export const GATEWAY_HOST = new URL(MANAGEMENT_URL).host; export const APP_NAME = "Vynte Connect"; export const POLL_INTERVAL_MS = 5000; +export const WINDOW_WIDTH = 384; +export const WINDOW_HEIGHT = 420; export const DEFAULT_STATUS = { state: "checking", title: `Checking ${GATEWAY_HOST}`, diff --git a/src/main.ts b/src/main.ts index 2a73ebf..a2fbb50 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,7 @@ import { app, BrowserWindow, ipcMain, nativeImage, shell, Tray } from 'electron'; import path from 'node:path'; import started from 'electron-squirrel-startup'; -import { APP_NAME, DEFAULT_STATUS, GATEWAY_HOST, MANAGEMENT_URL, POLL_INTERVAL_MS } from './config'; +import { APP_NAME, DEFAULT_STATUS, GATEWAY_HOST, MANAGEMENT_URL, POLL_INTERVAL_MS, WINDOW_HEIGHT, WINDOW_WIDTH } from './config'; import { NetBirdClient } from './netbird'; import { baseStatus, normalizeStatus } from './status'; @@ -145,8 +145,8 @@ async function logout() { function createWindow() { window = new BrowserWindow({ - width: 384, - height: 430, + width: WINDOW_WIDTH, + height: WINDOW_HEIGHT, show: false, resizable: false, frame: false, @@ -171,10 +171,13 @@ function createWindow() { function showWindow() { const bounds = tray.getBounds(); - const windowBounds = window.getBounds(); - const x = Math.round(bounds.x + bounds.width - windowBounds.width); - const y = Math.round(bounds.y - windowBounds.height - 8); - window.setPosition(Math.max(x, 0), Math.max(y, 0), false); + const x = Math.round(bounds.x - WINDOW_WIDTH); + const y = Math.round(bounds.y - WINDOW_HEIGHT); + window.setBounds({ + width: WINDOW_WIDTH, + height: WINDOW_HEIGHT, + x, y + }); window.show(); window.focus(); broadcastStatus();