From c276e94082b152842f98911401d0759e02ac8cfc Mon Sep 17 00:00:00 2001 From: KingKDot Date: Mon, 13 Apr 2026 23:02:50 -0500 Subject: [PATCH] add copy ID + show ip on page --- Overlord-Server/public/assets/render.js | 16 +++++++++++++++- Overlord-Server/src/db.ts | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Overlord-Server/public/assets/render.js b/Overlord-Server/public/assets/render.js index 51e0bf4..5d858a8 100644 --- a/Overlord-Server/public/assets/render.js +++ b/Overlord-Server/public/assets/render.js @@ -62,6 +62,19 @@ export function createRenderer({ return; } + const copyBtn = e.target.closest(".copy-id-btn"); + if (copyBtn) { + e.stopPropagation(); + const fullId = copyBtn.dataset.copy; + if (fullId) { + navigator.clipboard.writeText(fullId).then(() => { + const icon = copyBtn.querySelector(".copy-id-icon"); + if (icon) { icon.className = "fa-solid fa-check copy-id-icon"; setTimeout(() => { icon.className = "fa-regular fa-copy copy-id-icon"; }, 1200); } + }).catch(() => {}); + } + return; + } + if (e.target.closest(".command-btn")) { e.stopPropagation(); const rect = e.target.closest(".command-btn").getBoundingClientRect(); @@ -461,8 +474,9 @@ export function createRenderer({ ` : ""}
- ID ${deviceId} + ID ${deviceId} ${client.hwid ? `HW ${hwid}` : ""} + ${client.ip ? ` ${escapeHtml(client.ip)}` : ""}
diff --git a/Overlord-Server/src/db.ts b/Overlord-Server/src/db.ts index 4ae6eb1..534d58f 100644 --- a/Overlord-Server/src/db.ts +++ b/Overlord-Server/src/db.ts @@ -897,7 +897,7 @@ export function listClients(filters: ListFilters): ListResult { const rows = db .query( - `SELECT id, hwid, role, host, os, arch, version, user, nickname, custom_tag as customTag, custom_tag_note as customTagNote, monitors, country, last_seen as lastSeen, online, ping_ms as pingMs, bookmarked, build_tag as buildTag, built_by_user_id as builtByUserId, enrollment_status as enrollmentStatus, public_key as publicKey, key_fingerprint as keyFingerprint, cpu, gpu, ram, is_admin as isAdmin, elevation, permissions, disconnect_reason as disconnectReason, disconnect_detail as disconnectDetail + `SELECT id, hwid, role, ip, host, os, arch, version, user, nickname, custom_tag as customTag, custom_tag_note as customTagNote, monitors, country, last_seen as lastSeen, online, ping_ms as pingMs, bookmarked, build_tag as buildTag, built_by_user_id as builtByUserId, enrollment_status as enrollmentStatus, public_key as publicKey, key_fingerprint as keyFingerprint, cpu, gpu, ram, is_admin as isAdmin, elevation, permissions, disconnect_reason as disconnectReason, disconnect_detail as disconnectDetail FROM clients ${whereSql} ${orderBy} @@ -909,6 +909,7 @@ export function listClients(filters: ListFilters): ListResult { id: c.id, hwid: c.hwid, role: (c.role as ClientRole) || "client", + ip: c.ip || null, lastSeen: Number(c.lastSeen) || 0, host: c.host, os: c.os || "unknown",