Add: Agent v2.1.2, WebSocket Live Shell, WebRTC Remote Desktop (Beta), Announcement Push
- Agent v2.1.2: WebSocket ShellService, ACK nach WS-Ankündigungen, shown_announcements Fix - Backend: shellServer.js mit WebSocket-Server (Shell + Announcement Push + RTC Signaling) - Backend: patch.controller.js Fix (command_id=0 Falsy-Bug beim Auto-Update) - Frontend: Remote Desktop Tab (WebRTC Beta) in AgentDetailPage für super_admin/admin - Frontend: PatchManagementPage auf v2.1.2 aktualisiert - WPF Notification: AllowsTransparency=False + kein DropShadowEffect (Dispatcher-Crash Fix) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@ namespace ITNexusAgent;
|
||||
|
||||
public class AgentWorker
|
||||
{
|
||||
private const string Version = "2.0.0";
|
||||
private const string Version = "2.1.2";
|
||||
private const string DataDir = @"C:\ProgramData\IT Nexus Agent";
|
||||
private const string ConfigPath = @"C:\ProgramData\IT Nexus Agent\config.json";
|
||||
private const string StatusPath = @"C:\ProgramData\IT Nexus Agent\status.json";
|
||||
@@ -39,6 +39,10 @@ public class AgentWorker
|
||||
|
||||
Log($"Agent v{Version} gestartet");
|
||||
|
||||
// WebSocket Shell-Service im Hintergrund starten
|
||||
var shellService = new ShellService(_config.ServerUrl, _config.AgentKey, SystemInfoService.GetHostname());
|
||||
_ = shellService.RunAsync(_ct);
|
||||
|
||||
while (!_ct.IsCancellationRequested)
|
||||
{
|
||||
await RunCycleAsync();
|
||||
@@ -79,12 +83,16 @@ public class AgentWorker
|
||||
await executor.ExecuteAsync(cmd);
|
||||
}
|
||||
|
||||
// Ankündigungen anzeigen
|
||||
// Ankündigungen anzeigen + sofort ACKen damit Server sie nicht mehr schickt
|
||||
if (response.Announcements.Count > 0)
|
||||
{
|
||||
_notifier!.ShowAnnouncements(response.Announcements);
|
||||
foreach (var ann in response.Announcements)
|
||||
{
|
||||
Log($"ANNOUNCEMENT: Dialog für {SystemInfoService.GetLastUser()} gestartet - ID {ann.Id}");
|
||||
try { await _api!.AckAnnouncementAsync(ann.Id, payload.Hostname); }
|
||||
catch (Exception ex) { Log($"ANNOUNCEMENT ACK Fehler: {ex.Message}"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user