Release LoadGen FrontEnd: 1.0.0.11879
LoadGen FrontEnd
- [#8595] Notification bell — Phase 2 lights up the previously no-op bell with a real LoadGen-hosted message feed. Operations can publish a single message and have it land on every appliance whose installed component versions match. The unread badge now shows a numeric pill (capped at
9+) tinted by the highest-severity unread item, the dropdown opens a detail modal with proper typography (headings, lists, code blocks, links, blockquotes), and Mark all as read clears the pill instantly. User-identifiable interaction state stays on the appliance — only the notifications themselves come from LoadGen, the "which user read which message" tracking lives on the local API. - [#8639] PostgreSQL support — wires the Frontend surface for the new managed appliance PostgreSQL service that backs LG058 Service Levels (SLO/SLA) storage. A new Service Levels datasource tab on Setup → Datasources, a PostgreSQL container card on the Docker tab, a PostgreSQL status card on the Services tab (with reveal/copy for both admin and LG058 app-role credentials), and an Add Service Levels Datasource dialog that offers PostgreSQL (managed, default) and SqlServer (bring-your-own). PostgreSQL is TCP-only — no frontend-domain prerequisite on the toggle.
- [#8629] Restored SessionSight session-replay fidelity — DOM-only sessions can now use Play / Pause and render with real styles instead of plain text + URLs. Safe stylesheet links and base-href values are preserved during replay while scripts, event handlers, media, iframes, and other unsafe resources are still stripped. Added balanced replay/heatmap diagnostics with request IDs, timings, and redacted error details.
- [#8634] / [#8635] / [#8636] Fixed Web / Core load-profile creation and editing — Web users now deserialize their identifier correctly so assignments no longer collapse to an empty ID, the wizard keeps the saved profile ID after save / reload (skipping a legacy sync path that doesn't apply to Web users), opening an existing bad profile no longer crashes with duplicate-key exceptions, and the profile overview now correctly counts Web / Core user assignments for bundle profiles.
- [#8565] Fixed the Running / Tests gauge on the appliance Docker tab. The gauge previously rendered a boolean as a 0 / 1 count and showed
0whenever the active workload was an end-to-end monitoring session or uptime check instead of a load test. The gauge now binds to a real running-test count and the System tab "Tests Active (N)" badge surfaces the same number. - [#8627] Fixed Download on the Infrastructure → Debug page opening a blank tab instead of triggering the download. Some browsers' popup blockers were discarding the click entirely because the download was kicked off from an async continuation. The buttons now use a hidden-anchor pattern that browsers recognise as a user-initiated download.
- [#8621] When the appliance API is an older build that doesn't expose the user-preferences endpoint, My Profile now shows a clear "The appliance API does not expose this endpoint — update the appliance" message instead of the generic "rejected the value" toast that read as if the user had typed an invalid email.
- Fixed a Blazor circuit teardown caused by the notification poller being disposed twice during page refresh on Windows browsers. The duplicate disposal is now handled cleanly.
- Hardened the Frontend container — the container health check now works correctly, the latest Debian security patches are applied, the dpkg CVE-2025-6297 and glibc CVE fixes are picked up, and the cold-start grace period for the Blazor Server warmup is bumped.