feat(streaming): carry IsMesReportable on AlarmStateUpdate (25) and DebugAlarmStateDto (20) (ScadaBridge#60)
Central's Debug View live stream and Alarm Summary cache always saw false because neither wire message had the field. Additive proto fields, vendored C# regenerated with docker/regen-proto.sh (sitestream + sitecommand), mapped both ways in StreamRelayActor/SiteStreamGrpcClient and SiteCommandDtoMapper. The live stream publishes Alarm Actor events, which never carried the flag, so InstanceActor.HandleAlarmStateChanged now stamps it before retaining and publishing. A pre-#60 site sends the proto3 default. No UI badge yet. Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
@@ -111,9 +111,10 @@ public record AlarmStateChanged(
|
||||
/// <summary>
|
||||
/// True when the alarm's deployed configuration flags it as MES-reportable
|
||||
/// (<c>ResolvedAlarm.IsMesReportable</c>). Stamped by the Instance Actor on its alarm
|
||||
/// snapshot; always false for native conditions, which have no per-alarm config row.
|
||||
/// NOT carried on the gRPC stream or the debug-snapshot DTO in this slice (no proto
|
||||
/// field on either) — central sees the default. Additive; default false.
|
||||
/// snapshot and on every event it relays to the site stream; always false for native
|
||||
/// conditions, which have no per-alarm config row. Carried to central on
|
||||
/// <c>AlarmStateUpdate</c> field 25 and <c>DebugAlarmStateDto</c> field 20 (Gitea #60);
|
||||
/// a pre-#60 site sends the proto3 default. Additive; default false.
|
||||
/// </summary>
|
||||
public bool IsMesReportable { get; init; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user