From 8558f4cf4d84b512cdbdfed56596c69e68e9231a Mon Sep 17 00:00:00 2001 From: UNITRONIX <36471318+UNITRONIX@users.noreply.github.com> Date: Thu, 28 May 2026 01:14:09 +0200 Subject: [PATCH] chore: gitignore fix, enrollment token re-issue, desktop session events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit .gitignore: scope /lib/ and /lib64/ to repo root only — was matching Tauri src/lib directories. Go server: re-issue device_token on re-registration so agents that lost config can recover auth. Go agent: emit SESSION_START/SESSION_END stdout events for overlay integration, handle DESKTOP_STOP stdin command. This commit was made possible thanks to Insolve. --- .gitignore | 7 +- betterdesk-agent-client/package.json | 6 +- .../public/session-border.html | 58 +++ .../betterdesk-agent-x86_64-unknown-linux-gnu | Bin 7422114 -> 7422114 bytes .../src-tauri/src/commands.rs | 25 ++ .../src-tauri/src/config.rs | 96 ++++- betterdesk-agent-client/src-tauri/src/lib.rs | 7 + .../src-tauri/src/session_overlay.rs | 129 +++++++ .../src-tauri/src/sidecar.rs | 75 +++- betterdesk-agent-client/src/App.tsx | 2 + .../src/components/SessionOverlay.tsx | 199 ++++++++++ .../src/components/SettingsPanel.tsx | 41 +- betterdesk-agent-client/src/lib/i18n.ts | 114 ++++++ betterdesk-agent-client/src/lib/logger.ts | 88 +++++ betterdesk-agent-client/src/locales/en.json | 20 + betterdesk-agent-client/src/locales/pl.json | 20 + betterdesk-agent-client/src/styles/global.css | 179 +++++++++ betterdesk-agent/agent/agent.go | 11 + betterdesk-agent/agent/desktop.go | 25 ++ betterdesk-server/api/branding_handlers.go | 10 + betterdesk-server/api/server.go | 28 +- docs/AGENT_CLIENT_ROADMAP_2026-05-27.md | 362 ++++++++++++++++++ 22 files changed, 1469 insertions(+), 33 deletions(-) create mode 100644 betterdesk-agent-client/public/session-border.html create mode 100644 betterdesk-agent-client/src-tauri/src/session_overlay.rs create mode 100644 betterdesk-agent-client/src/components/SessionOverlay.tsx create mode 100644 betterdesk-agent-client/src/lib/i18n.ts create mode 100644 betterdesk-agent-client/src/lib/logger.ts create mode 100644 docs/AGENT_CLIENT_ROADMAP_2026-05-27.md diff --git a/.gitignore b/.gitignore index cde7c217..f1e6dacb 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,11 @@ dist/ downloads/ eggs/ .eggs/ -lib/ -lib64/ +# Python distutils 'lib/' build output (root-level only — must NOT match +# Tauri/SolidJS client src/lib directories like +# betterdesk-agent-client/src/lib or betterdesk-mgmt/src/lib). +/lib/ +/lib64/ parts/ sdist/ var/ diff --git a/betterdesk-agent-client/package.json b/betterdesk-agent-client/package.json index b8cc16bd..7b575432 100644 --- a/betterdesk-agent-client/package.json +++ b/betterdesk-agent-client/package.json @@ -17,14 +17,14 @@ }, "dependencies": { "@solidjs/router": "^0.14.0", - "@tauri-apps/api": "^2.10.1", + "@tauri-apps/api": "~2.10", "solid-js": "^1.9.0" }, "devDependencies": { "@tauri-apps/cli": "^2.0.0", "typescript": "^5.6.0", - "vitest": "^3.2.4", "vite": "^6.0.0", - "vite-plugin-solid": "^2.10.0" + "vite-plugin-solid": "^2.10.0", + "vitest": "^3.2.4" } } diff --git a/betterdesk-agent-client/public/session-border.html b/betterdesk-agent-client/public/session-border.html new file mode 100644 index 00000000..900ef2d9 --- /dev/null +++ b/betterdesk-agent-client/public/session-border.html @@ -0,0 +1,58 @@ + + +
+ +;DQ!m!PHWRKxUNQEI9}p|AxB!0UU;$HGE3p@RB>dd;cly^
z0>1)5^}%;o@4}m%1~A7z*i=oX^&y)5R~*1> RKK*l=YW?m=^^V?`S@J4{_t@DNS$lP~ ld*w>*7+3f@n79
z2?U!pqwqvJYa%>~C>0_lrcO9aIf?-DBH} C*XyNPTpZ<3|;z`KHE~x65c>;)x$@ydnXR);mM@J^dA0<-4j1b@~mTs
zfHwM$*ABt}
TwvwSMtgLFv*p$pO{InB
_0`I7?rtUc^k2BlNF&E1n{7^JY^m(aL*#)aqF2mKB
z_f<3hepQgAYAo=u8f*GmjoE!!#sA)Rh5zL$oNcZuyS*CoJ^=o0Si445fSqbA&~K5d
z^qMNBXSVaHt(kK`D^O{MKO1E*-5mb>zTu4b=L%r3!E}H4^P7e7G9Z^y}g{`Y7;2XzaqVXEZki*@(-_ui~t^|H4qM!1(=#XyUVLu&4m{>}d2
zinu@3y7>pmt2ZfSd=a}yMuRr(Pmc&R?JpFWzews2k)X;Q86g@qK*WP2wqQkG6e)-&
zv*Ahhx>uXXT2=$LD9SqK6ddSCy8w}*{O)%8wTg3SUld<})(s&`P-WkC#kg6c2P*nu
z%Ce>uZFdEA`VHh;JUCbM{uFmnp{x+GkWJKBLK9J~Y!-oz{O~42RKF4)R|#!r;Qm>a
zSdPy75Vp_cq@H+_`xsdybA
D<7aYD;K)Uf)*8-oCr+z!IKL)3`DwmeWmLY(sQ2CBwr2oN
z=KJ@%6kF0CWz@C%#FjIorn&&X+r@t;#$w!&PWNy!HeN%T=VWZGL{d#Az=bnq7w)6X3zz{Ss+ohoIMoj4!;@iN2H
zT{wq!5>Cxd<5WgHn(fBcv?gFnuI4t^;G{pws3ZyJ%&1~mI;yJPcPDpP!PtCvq-)VY
zlEy0+b|}V%I~n`t-b==^TsY5n@IS4{sM_v0{oe&n9cnVeHJpJ?oMGi~D!Fi0?BK8E
zfS*HoZYg_xFmS>MN2lTRapJuA{Utx^8ava~d
*X7SrJ{23IXs22@vEQXl|(@%{>
zUsEY+5G@9nKBG^g#U#@RD&ItmF^#6VO@uE3zi5J0R}@*BiY4ZTH)(BCQ70;PJjm&2
zo@NV?#=B-0)%iW!@`!EN^r9^4m9!UXu&=@%R3-*e+dk?VBj%VsqH8f?VM*Jae}H`K
zc)M@+x>JRwH3PdIo}!D;+PFR`w6~e?HdpCRmztq&KT@0KqK^4~WlC!f42RO<=HfT=
zpzAcQg@`YiG}cIoxkR-e%fgGd@ak&J1g~3&kYdM-gFPP$%1)~4=QRMPu4ft9nS1mK
zlut(gP9MaI@@W|m?WQ}&VQ+f>b>~?3+;i=+e9y!+JnuetFdzv?$V*c`>6n8j>_WW`
z1&?xSiS2W@mJv4|wsqg}M`2HPG1EN(rbT%rmABqc2uC
z5~&kNu!AK$jTvv1WJK6;5xHth=#7W~ZP