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:
@@ -1941,7 +1941,8 @@ public static class SiteCommandDtoMapper
|
||||
CurrentValue = alarm.CurrentValue,
|
||||
LimitValue = alarm.LimitValue,
|
||||
NativeSourceCanonicalName = alarm.NativeSourceCanonicalName,
|
||||
IsConfiguredPlaceholder = alarm.IsConfiguredPlaceholder
|
||||
IsConfiguredPlaceholder = alarm.IsConfiguredPlaceholder,
|
||||
IsMesReportable = alarm.IsMesReportable
|
||||
};
|
||||
|
||||
if (alarm.Condition != AlarmConditionStateFactory.ForComputed(alarm.State, alarm.Priority))
|
||||
@@ -1983,7 +1984,8 @@ public static class SiteCommandDtoMapper
|
||||
CurrentValue = dto.CurrentValue,
|
||||
LimitValue = dto.LimitValue,
|
||||
NativeSourceCanonicalName = dto.NativeSourceCanonicalName,
|
||||
IsConfiguredPlaceholder = dto.IsConfiguredPlaceholder
|
||||
IsConfiguredPlaceholder = dto.IsConfiguredPlaceholder,
|
||||
IsMesReportable = dto.IsMesReportable
|
||||
};
|
||||
|
||||
return dto.Condition is null ? alarm : alarm with { Condition = FromProto(dto.Condition) };
|
||||
|
||||
Reference in New Issue
Block a user