diff --git a/CHANGELOG.md b/CHANGELOG.md index a7a3b32..d4b4241 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.3.3 + +- Fix: Master-WebUI definiert und aktualisiert `agentCache`, bevor die Farm-Mitglieder berechnet werden. +- Behebt `ReferenceError: agentCache is not defined` in der Farm-/Broker-Ansicht. +- Die Farm-Agent-Anzahl verwendet weiterhin dieselbe Membership-Logik wie der Broker (`farm.agent_ids`, `agent.farm_ids`, `required_tags`). + ## 0.3.2 - Fixed Farm member count in the Master WebUI. The table now uses the same membership rules as the broker: explicit `farm.agent_ids`, agent-side `agent.farm_ids`, and `required_tags`. diff --git a/README.md b/README.md index 3e1ce76..37be3a2 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,15 @@ SessionGuard is a Go-based **RDS control plane** for Windows Remote Desktop Session Hosts. It is designed to complement Apache Guacamole: Guacamole remains the HTML5/RDP gateway, while SessionGuard provides Citrix-like broker, Director, policy, profile-lifecycle and operations functions. -**Current development version: 0.3.1 (Broker & Director production candidate)** +**Current development version: 0.3.3 (Broker & Director production candidate)** > SessionGuard is not an ICA/HDX implementation and does not replace the Windows RDS runtime. It deliberately reuses standard RDP/WTS, Guacamole and PocketID/OIDC. +## 0.3.3 Farm UI regression fix + +The master UI now maintains an explicit `agentCache` from the dashboard response before rendering farm membership. This fixes `ReferenceError: agentCache is not defined` introduced by the v0.3.2 farm-count display correction. + + ## 0.3.1 UI stability fix - Live dashboard refresh no longer recreates editable Master forms. @@ -283,4 +288,4 @@ The current source tree contains unit tests for configuration, templates, profil ## Production-candidate status -The design intentionally fails closed around destructive profile operations and broker farm boundaries. Nevertheless, v0.3.2 should be introduced as a canary before broad production rollout. In particular, validate native WTS behavior, SMB failure/recovery, PostgreSQL backup/restore, Guacamole extension loading and your exact PocketID group claims in your environment. +The design intentionally fails closed around destructive profile operations and broker farm boundaries. Nevertheless, v0.3.3 should be introduced as a canary before broad production rollout. In particular, validate native WTS behavior, SMB failure/recovery, PostgreSQL backup/restore, Guacamole extension loading and your exact PocketID group claims in your environment. diff --git a/internal/agent/agent.go b/internal/agent/agent.go index 28130ce..bc410b6 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -25,7 +25,7 @@ import ( "github.com/example/sessionguard/internal/windowsx" ) -const Version = "0.3.1" +const Version = "0.3.3" type App struct { cfg config.Agent diff --git a/internal/master/master.go b/internal/master/master.go index b0f279e..8193d2c 100644 --- a/internal/master/master.go +++ b/internal/master/master.go @@ -23,7 +23,7 @@ import ( "github.com/example/sessionguard/internal/model" ) -const Version = "0.3.1" +const Version = "0.3.3" type App struct { cfg config.Master diff --git a/internal/master/ui.go b/internal/master/ui.go index 7c5424a..ba3422d 100644 --- a/internal/master/ui.go +++ b/internal/master/ui.go @@ -2,12 +2,12 @@ package master const masterHTML = `