mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
fix(desktop): use get-port-please for dynamic port selection
This commit is contained in:
parent
b07a64fd27
commit
c6f3218085
3 changed files with 15 additions and 2 deletions
|
|
@ -27,6 +27,7 @@
|
|||
"wait-on": "^9.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"electron-updater": "^6.8.3"
|
||||
"electron-updater": "^6.8.3",
|
||||
"get-port-please": "^3.2.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
surfsense_desktop/pnpm-lock.yaml
generated
8
surfsense_desktop/pnpm-lock.yaml
generated
|
|
@ -11,6 +11,9 @@ importers:
|
|||
electron-updater:
|
||||
specifier: ^6.8.3
|
||||
version: 6.8.3
|
||||
get-port-please:
|
||||
specifier: ^3.2.0
|
||||
version: 3.2.0
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^25.5.0
|
||||
|
|
@ -793,6 +796,9 @@ packages:
|
|||
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
get-port-please@3.2.0:
|
||||
resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==}
|
||||
|
||||
get-proto@1.0.1:
|
||||
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
|
@ -2415,6 +2421,8 @@ snapshots:
|
|||
hasown: 2.0.2
|
||||
math-intrinsics: 1.1.0
|
||||
|
||||
get-port-please@3.2.0: {}
|
||||
|
||||
get-proto@1.0.1:
|
||||
dependencies:
|
||||
dunder-proto: 1.0.1
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
import { app, BrowserWindow, shell, ipcMain, session } from 'electron';
|
||||
import path from 'path';
|
||||
import { getPort } from 'get-port-please';
|
||||
|
||||
const isDev = !app.isPackaged;
|
||||
let mainWindow: BrowserWindow | null = null;
|
||||
let deepLinkUrl: string | null = null;
|
||||
let serverPort: number = 3000;
|
||||
let serverPort: number = 3000; // overwritten at startup with a free port
|
||||
|
||||
const PROTOCOL = 'surfsense';
|
||||
// Injected at compile time from .env.desktop via esbuild define
|
||||
|
|
@ -33,6 +34,9 @@ async function waitForServer(url: string, maxRetries = 60): Promise<boolean> {
|
|||
async function startNextServer(): Promise<void> {
|
||||
if (isDev) return;
|
||||
|
||||
serverPort = await getPort({ port: 3000, portRange: [30_011, 50_000] });
|
||||
console.log(`Selected port ${serverPort}`);
|
||||
|
||||
const standalonePath = getStandalonePath();
|
||||
const serverScript = path.join(standalonePath, 'server.js');
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue