From 42cc7e29c7414f83b31e8ac6717461a0be81ea91 Mon Sep 17 00:00:00 2001 From: KingKDot Date: Thu, 12 Mar 2026 12:05:42 -0500 Subject: [PATCH] 1.3.3 + add easy way to tell the version --- Overlord-Client/cmd/agent/config/config.go | 2 +- Overlord-Server/package.json | 2 +- Overlord-Server/public/assets/build.js | 17 +++++++++++- Overlord-Server/public/assets/main.css | 8 ++++++ Overlord-Server/public/assets/main.js | 30 +++++++++++++++++++++ Overlord-Server/public/build.html | 3 --- Overlord-Server/public/index.html | 3 +++ Overlord-Server/src/db.ts | 1 + Overlord-Server/src/server/build-process.ts | 14 ++++++++++ Overlord-Server/src/version.ts | 2 +- 10 files changed, 75 insertions(+), 7 deletions(-) diff --git a/Overlord-Client/cmd/agent/config/config.go b/Overlord-Client/cmd/agent/config/config.go index 4ac6e20..d54adca 100644 --- a/Overlord-Client/cmd/agent/config/config.go +++ b/Overlord-Client/cmd/agent/config/config.go @@ -17,7 +17,7 @@ import ( "time" ) -var AgentVersion = "1.3.2" +var AgentVersion = "1.3.3" var DefaultPersistence = "false" var DefaultServerURL = "wss://127.0.0.1:5173" diff --git a/Overlord-Server/package.json b/Overlord-Server/package.json index 9f2f2f8..69d036d 100644 --- a/Overlord-Server/package.json +++ b/Overlord-Server/package.json @@ -1,6 +1,6 @@ { "name": "overlord-server", - "version": "1.3.2", + "version": "1.3.3", "private": true, "type": "module", "scripts": { diff --git a/Overlord-Server/public/assets/build.js b/Overlord-Server/public/assets/build.js index 2ac5c65..9399461 100644 --- a/Overlord-Server/public/assets/build.js +++ b/Overlord-Server/public/assets/build.js @@ -540,6 +540,13 @@ function formatFileSize(bytes) { return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + " " + sizes[i]; } +function formatStubVersion(version) { + if (typeof version === "string" && version.trim()) { + return version.trim(); + } + return "unknown (legacy build)"; +} + function saveBuildToStorage(buildId, buildData) { try { const builds = JSON.parse(localStorage.getItem("overlord_builds") || "[]"); @@ -736,7 +743,15 @@ function showBuildFilesForContainer(build, containerId, timerId) { fileName.textContent = file.filename; const filePlatform = document.createElement("div"); filePlatform.className = "text-sm text-gray-400"; - filePlatform.textContent = file.platform; + const versionValue = formatStubVersion(file.version); + const platformText = document.createElement("span"); + platformText.textContent = `${file.platform} | `; + const versionText = document.createElement("span"); + versionText.className = "server-version-number"; + versionText.textContent = + versionValue === "unknown (legacy build)" ? versionValue : `v${versionValue}`; + filePlatform.appendChild(platformText); + filePlatform.appendChild(versionText); fileText.appendChild(fileName); fileText.appendChild(filePlatform); fileMeta.appendChild(fileIcon); diff --git a/Overlord-Server/public/assets/main.css b/Overlord-Server/public/assets/main.css index 92a7cef..d4bdc01 100644 --- a/Overlord-Server/public/assets/main.css +++ b/Overlord-Server/public/assets/main.css @@ -1580,6 +1580,14 @@ mark.search-current { box-shadow: 0 8px 20px rgba(30, 64, 175, 0.25); } +.server-version-number { + color: #4ade80; + text-shadow: + 0 0 8px rgba(74, 222, 128, 0.65), + 0 0 16px rgba(34, 197, 94, 0.4); + font-weight: 600; +} + #filter-status, #filter-os, #sort { diff --git a/Overlord-Server/public/assets/main.js b/Overlord-Server/public/assets/main.js index efb6999..fe2fbd7 100644 --- a/Overlord-Server/public/assets/main.js +++ b/Overlord-Server/public/assets/main.js @@ -36,12 +36,41 @@ const bulkScreenshotBtn = document.getElementById("bulk-screenshot"); const bulkDisconnectBtn = document.getElementById("bulk-disconnect"); const bulkUninstallBtn = document.getElementById("bulk-uninstall"); const bulkClearBtn = document.getElementById("bulk-clear"); +const serverVersionText = document.getElementById("server-version-text"); const selectedClients = new Set(); let lastNonOnlineStatus = "all"; let currentUser = null; let contextCard = null; let availableOsList = new Set(); + +function setServerVersionLabel(version) { + if (!serverVersionText) return; + serverVersionText.textContent = "Server version: "; + const value = document.createElement("span"); + value.className = "server-version-number"; + value.textContent = version; + serverVersionText.appendChild(value); +} + +async function loadServerVersion() { + if (!serverVersionText) return; + try { + const res = await fetch("/api/version", { credentials: "include" }); + if (!res.ok) { + serverVersionText.textContent = "Server version: unavailable"; + return; + } + const payload = await res.json(); + const version = typeof payload?.version === "string" && payload.version.trim() + ? payload.version.trim() + : "unknown"; + setServerVersionLabel(version); + } catch { + serverVersionText.textContent = "Server version: unavailable"; + } +} + const setContext = (id) => { contextCard = id; }; @@ -108,6 +137,7 @@ function applyMenuSupportRules(clientId) { } async function loadCurrentUser() { + loadServerVersion(); try { const res = await fetch("/api/auth/me"); if (res.ok) { diff --git a/Overlord-Server/public/build.html b/Overlord-Server/public/build.html index 3ed3134..5b66824 100644 --- a/Overlord-Server/public/build.html +++ b/Overlord-Server/public/build.html @@ -222,9 +222,6 @@ placeholder="wss://your-server:5173" class="w-full px-3 py-2 bg-slate-800/60 border border-slate-700 rounded-lg focus:outline-none focus:border-blue-500 transition-colors" /> -

- Optional: Override the default server URL in the build -