Skip to content

Operator-first UX: calm analyzer scope, readable phase metering and progressive diagnostics/PTP #136

Operator-first UX: calm analyzer scope, readable phase metering and progressive diagnostics/PTP

Operator-first UX: calm analyzer scope, readable phase metering and progressive diagnostics/PTP #136

Triggered via pull request October 17, 2026 08:45
Status Success
Total duration 1m 53s
Artifacts 1

candidate-package.yml

on: pull_request
Build verified Windows x64 candidate
1m 50s
Build verified Windows x64 candidate
Fit to window
Zoom out
Zoom in

Annotations

20 warnings
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/ViewModels/MainWindowViewModel.cs#L4607
Use 'string.StartsWith(char)' instead of 'string.StartsWith(string)' when you have a string with a single char (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1865)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/MainWindow.xaml.cs#L143
The behavior of 'int.ToString()' could vary based on the current user's locale settings. Replace this call in 'MainWindow.UpdateWorkspaceActivePill(bool)' with a call to 'int.ToString(IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/ViewModels/MainWindowViewModel.cs#L4587
The behavior of 'int.ToString()' could vary based on the current user's locale settings. Replace this call in 'GooseTrafficRow.DatasetEntryCountText.get' with a call to 'int.ToString(IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/ViewModels/MainWindowViewModel.cs#L4538
The behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings. Replace this call in 'GooseTrafficRow.TimeText.get' with a call to 'DateTime.ToString(string, IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/ViewModels/MainWindowViewModel.cs#L4583
The behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings. Replace this call in 'GooseTrafficRow.EntryTimeText.get' with a call to 'DateTime.ToString(string, IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/ViewModels/MainWindowViewModel.cs#L4510
Change return type of method 'ResolveBrush' from 'System.Windows.Media.Brush' to 'System.Windows.Media.SolidColorBrush' for improved performance (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1859)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/Controls/WaveformPanelControl.cs#L179
Do not use Enumerable methods on indexable collections. Instead use the collection directly. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1826)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/Controls/WaveformPanelControl.cs#L177
Do not use Enumerable methods on indexable collections. Instead use the collection directly. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1826)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/Controls/WaveformPanelControl.cs#L158
In member void WaveformPanelControl.OnRender(DrawingContext dc), change parameter name dc to drawingContext in order to match the identifier as it has been declared in void UIElement.OnRender(DrawingContext drawingContext) (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1725)
Build verified Windows x64 candidate: src/ProcessBus.App.Wpf/Controls/PhasorDiagramControl.cs#L79
In member void PhasorDiagramControl.OnRender(DrawingContext dc), change parameter name dc to drawingContext in order to match the identifier as it has been declared in void UIElement.OnRender(DrawingContext drawingContext) (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1725)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Analysis/RawProcessBusAnalyzer.cs#L312
The behavior of 'uint.ToString()' could vary based on the current user's locale settings. Replace this call in 'RawProcessBusAnalyzer.ResolveSvMappingProfile(ProcessBusFrame, SampledValueAsdu)' with a call to 'uint.ToString(IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Analysis/RawProcessBusAnalyzer.cs#L311
The behavior of 'ushort.ToString()' could vary based on the current user's locale settings. Replace this call in 'RawProcessBusAnalyzer.ResolveSvMappingProfile(ProcessBusFrame, SampledValueAsdu)' with a call to 'ushort.ToString(IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Replay/PcapReplayReader.cs#L12
Use 'ArgumentOutOfRangeException.ThrowIfLessThan' instead of explicitly throwing a new exception instance (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1512)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Replay/ProcessBusReplaySession.cs#L36
Method Replay passes 'MaximumFrames' as the paramName argument to a ArgumentOutOfRangeException constructor. Replace this argument with one of the method's parameter names. Note that the provided parameter name should have the exact casing as declared on the method. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2208)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Runtime/SvRuntimeSnapshot.cs#L169
Use 'ArgumentOutOfRangeException.ThrowIfNegative' instead of explicitly throwing a new exception instance (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1512)
Build verified Windows x64 candidate: src/ProcessBus.Iec61850.Raw/Analysis/RollingJitterWindow.cs#L23
Use 'ArgumentOutOfRangeException.ThrowIfNegativeOrZero' instead of explicitly throwing a new exception instance (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1512)
Build verified Windows x64 candidate: src/ProcessBus.Core/Models/PtpEventItem.cs#L6
The behavior of 'DateTime.ToString(string)' could vary based on the current user's locale settings. Replace this call in 'PtpEventItem.TimeText.get' with a call to 'DateTime.ToString(string, IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.Core/Services/PcapAdapterCatalog.cs#L128
Specify marshaling for P/Invoke string arguments (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2101)
Build verified Windows x64 candidate: src/ProcessBus.Core/Services/PcapAdapterCatalog.cs#L58
The behavior of 'int.ToString()' could vary based on the current user's locale settings. Replace this call in 'PcapAdapterCatalog.GetAdaptersCore()' with a call to 'int.ToString(IFormatProvider)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1305)
Build verified Windows x64 candidate: src/ProcessBus.Core/Services/Scl/SclSemanticParser.cs#L9
Member 'Load' does not access instance data and can be marked as static (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1822)

Artifacts

Produced during runtime
Name Size Digest
ProcessBusInsight-v1.4.0-beta.2-win-x64-candidate-136
93.7 MB
sha256:59532dd063d8c58809845e5de80f9759e3ba262dd09cb41840c0fcd6c361a506