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:
@@ -605,7 +605,9 @@ public class SiteStreamGrpcClient : IAsyncDisposable, IDisposable
|
||||
IsConfiguredPlaceholder = evt.AlarmChanged.IsConfiguredPlaceholder,
|
||||
// MES alarm-status API §6.4: ack instant; an absent proto Timestamp (unacked
|
||||
// condition, computed alarm, or a pre-AckTime site) stays null.
|
||||
AckTime = evt.AlarmChanged.AckTime?.ToDateTimeOffset()
|
||||
AckTime = evt.AlarmChanged.AckTime?.ToDateTimeOffset(),
|
||||
// Gitea #60: a pre-#60 site leaves the field at its proto3 default (false).
|
||||
IsMesReportable = evt.AlarmChanged.IsMesReportable
|
||||
},
|
||||
_ => null
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user