mbproxy: replace status page with a live SignalR web dashboard
The single auto-refreshing zero-JS status page gave operators a 25-column wall and no way to drill into one connection. This adds a Bootstrap fleet dashboard (filterable/sortable KPI table) and a per-PLC detail page with a real-time debug view of raw PLC-side BCD vs. decoded client-side values, streamed live over a SignalR feed. The debug view is fed by an on-demand per-tag value capture, armed only while a detail page is open. All assets (Bootstrap, SignalR client, fonts) are embedded so the UI works unchanged on firewalled networks; GET /status.json is untouched for scrapers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,16 @@
|
||||
<InternalsVisibleTo Include="Mbproxy.Tests" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Admin web-UI assets — Bootstrap, the SignalR JS client, vendored fonts, and the
|
||||
dashboard's own HTML/CSS/JS. Embedded into the assembly so the single-file binary
|
||||
serves the whole UI with no CDN dependency (firewalled networks). Resource names
|
||||
are Mbproxy.Admin.wwwroot.<filename>; AdminEndpointHost streams them on
|
||||
GET /assets/<filename>. The directory is intentionally flat to keep the
|
||||
resource-name → request-path mapping trivial. -->
|
||||
<EmbeddedResource Include="Admin\wwwroot\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Link the platform-appropriate install template as the published appsettings.json so
|
||||
the binary ships with a fully-commented, usable example config (PLCs, BCD tags, all
|
||||
sections present) instead of an empty stub. The .NET configuration loader supports
|
||||
|
||||
Reference in New Issue
Block a user