Skip to content

Conversation

@tylerkron
Copy link
Contributor

@tylerkron tylerkron commented Oct 28, 2025

Summary

This PR combines all open Dependabot PRs into a single update to simplify review and merging.

Dependency Updates

Changes

  • Updated NuGet packages for better compatibility and bug fixes
  • Upgraded GitHub Actions workflow to use latest upload-artifact action

Test Plan

  • Build passes
  • All tests pass
  • No breaking changes introduced

Related PRs

Closes #295, #294, #288, #281, #280

🤖 Generated with Claude Code

This commit combines the following Dependabot PRs:
- PR #295: Bump Microsoft.Data.Sqlite from 9.0.9 to 9.0.10
- PR #294: Bump actions/upload-artifact from 4 to 5
- PR #288: Bump EFCore.BulkExtensions from 9.0.1 to 9.0.2
- PR #281: Bump System.IO.Ports from 9.0.8 to 9.0.9
- PR #280: Bump Newtonsoft.Json from 13.0.3 to 13.0.4 (already applied)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Oct 28, 2025

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit scope: The PR only updates dependencies and CI steps, adding no new runtime code where audit
logging could be assessed, so compliance cannot be determined from the diff.

Referred Code
<PackageReference Include="EFCore.BulkExtensions" Version="9.0.2" />
<PackageReference Include="MahApps.Metro" Version="2.4.11" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="6.1.0" />
<PackageReference Include="MahApps.Metro.IconPacks.Material" Version="6.1.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.9" />
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status:
No new code: Only dependency and workflow action version updates are present with no new identifiers
added, so naming compliance cannot be evaluated from the diff.

Referred Code
uses: actions/upload-artifact@v5
with:
  name: coverage-report
  path: ./CoverageReport/
  if-no-files-found: warn
Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
No error logic: The changes update action versions and package references without altering application
error handling, so robustness cannot be assessed from the diff.

Referred Code
uses: actions/upload-artifact@v5
with:
  name: DAQifiDesktop-Installer
  path: Daqifi.Desktop.Setup/DAQifiDesktopSetup/bin/x86/Release/DAQifiDesktop_Setup.msi
  if-no-files-found: error
Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status:
No user errors: Only package references were added and no user-facing error paths are modified, so secure
error handling cannot be evaluated from the diff.

Referred Code
<PackageReference Include="System.IO.Ports" Version="9.0.9" />
<PackageReference Include="Daqifi.Core" Version="0.6.0" />
<PackageReference Include="Google.Protobuf" Version="3.33.0" />
<PackageReference Include="Roslynator.Analyzers" Version="4.14.0">
	<PrivateAssets>all</PrivateAssets>
Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status:
No logging changes: The PR does not add or modify application logging code, so we cannot confirm secure
logging practices from the provided changes.

Referred Code
- name: Generate Coverage Report
  run: reportgenerator -reports:"./TestResults/**/coverage.cobertura.xml" -targetdir:"./CoverageReport" -reporttypes:"HtmlInline_AzurePipelines;TextSummary;MarkdownSummaryGithub" -verbosity:Warning

- name: Upload Coverage Report
  uses: actions/upload-artifact@v5
  with:
    name: coverage-report
    path: ./CoverageReport/
    if-no-files-found: warn
Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Dependency risk: Dependency version bumps (e.g., Microsoft.Data.Sqlite, EFCore.BulkExtensions,
System.IO.Ports) may affect input/data handling, but no application code changes are shown
to validate security implications.

Referred Code
<PackageReference Include="EFCore.BulkExtensions" Version="9.0.2" />
<PackageReference Include="MahApps.Metro" Version="2.4.11" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="6.1.0" />
<PackageReference Include="MahApps.Metro.IconPacks.Material" Version="6.1.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.9" />
  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-merge-pro
Copy link
Contributor

qodo-merge-pro bot commented Oct 28, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Remove redundant package reference

Remove the redundant System.IO.Ports package reference. For projects targeting
net9.0, this package is included in the .NET runtime and an explicit reference
is unnecessary.

Daqifi.Desktop.IO/Daqifi.Desktop.IO.csproj [11-19]

 	<ItemGroup>
-		<PackageReference Include="System.IO.Ports" Version="9.0.9" />
 		<PackageReference Include="Daqifi.Core" Version="0.6.0" />
 		<PackageReference Include="Google.Protobuf" Version="3.33.0" />
 		<PackageReference Include="Roslynator.Analyzers" Version="4.14.0">
 			<PrivateAssets>all</PrivateAssets>
 			<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 		</PackageReference>
 	</ItemGroup>
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that the System.IO.Ports package reference is redundant for a project targeting net9.0, as this functionality is now part of the .NET shared framework. Removing it improves dependency management and prevents potential future conflicts.

Medium
  • Update

Daqifi.Core 0.6.0 requires System.IO.Ports >= 9.0.10, so upgrading
from 9.0.9 to 9.0.10 to prevent package downgrade error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@github-actions
Copy link

📊 Code Coverage Report

Summary

Summary
Generated on: 10/28/2025 - 2:41:26 AM
Coverage date: 10/28/2025 - 2:41:11 AM - 10/28/2025 - 2:41:22 AM
Parser: MultiReport (5x Cobertura)
Assemblies: 5
Classes: 119
Files: 153
Line coverage: 11.9% (680 of 5684)
Covered lines: 680
Uncovered lines: 5004
Coverable lines: 5684
Total lines: 17642
Branch coverage: 12% (244 of 2023)
Covered branches: 244
Total branches: 2023
Method coverage: Feature is only available for sponsors

Coverage

DAQiFi - 10.4%
Name Line Branch
DAQiFi 10.4% 11.1%
Daqifi.Desktop.App 3% 0%
Daqifi.Desktop.Channel.AbstractChannel 22.7% 25%
Daqifi.Desktop.Channel.AnalogChannel 50% 25%
Daqifi.Desktop.Channel.Channel 11.5% 0%
Daqifi.Desktop.Channel.ChannelColorManager 100% 100%
Daqifi.Desktop.Channel.DataSample 90.4%
Daqifi.Desktop.Channel.DigitalChannel 0% 0%
Daqifi.Desktop.Commands.CompositeCommand 0% 0%
Daqifi.Desktop.Commands.HostCommands 0%
Daqifi.Desktop.Commands.WeakEventHandlerManager 0% 0%
Daqifi.Desktop.Configuration.FirewallConfiguration 90.6% 66.6%
Daqifi.Desktop.Configuration.WindowsFirewallWrapper 64% 68.4%
Daqifi.Desktop.ConnectionManager 40.9% 55.8%
Daqifi.Desktop.Converters.BoolToActiveStatusConverter 0% 0%
Daqifi.Desktop.Converters.BoolToConnectionStatusConverter 0% 0%
Daqifi.Desktop.Converters.BoolToStatusColorConverter 0% 0%
Daqifi.Desktop.Converters.ConnectionTypeToColorConverter 0% 0%
Daqifi.Desktop.Converters.ConnectionTypeToUsbConverter 0% 0%
Daqifi.Desktop.Converters.InvertedBoolToVisibilityConverter 0% 0%
Daqifi.Desktop.Converters.ListToStringConverter 0% 0%
Daqifi.Desktop.Converters.NotNullToVisibilityConverter 0% 0%
Daqifi.Desktop.Converters.OxyColorToBrushConverter 0% 0%
Daqifi.Desktop.Device.AbstractStreamingDevice 5.4% 2.9%
Daqifi.Desktop.Device.DeviceInfoConverter 0% 0%
Daqifi.Desktop.Device.DeviceMessage 0%
Daqifi.Desktop.Device.DeviceTypeDetector 100% 100%
Daqifi.Desktop.Device.HidDevice.HidFirmwareDevice 0%
Daqifi.Desktop.Device.NativeMethods 0%
Daqifi.Desktop.Device.SerialDevice.SerialDeviceHelper 0% 0%
Daqifi.Desktop.Device.SerialDevice.SerialStreamingDevice 7.7% 15%
Daqifi.Desktop.Device.SerialDevice.UsbDevice 0% 0%
Daqifi.Desktop.Device.WiFiDevice.DaqifiStreamingDevice 19.6% 0%
Daqifi.Desktop.DialogService.DialogService 0% 0%
Daqifi.Desktop.DialogService.ServiceLocator 0% 0%
Daqifi.Desktop.DuplicateDeviceCheckResult 100%
Daqifi.Desktop.Exporter.OptimizedLoggingSessionExporter 29.7% 32.9%
Daqifi.Desktop.Exporter.SampleData 0%
Daqifi.Desktop.Helpers.BooleanConverter`1 0% 0%
Daqifi.Desktop.Helpers.BooleanToInverseBoolConverter 0% 0%
Daqifi.Desktop.Helpers.BooleanToVisibilityConverter 0%
Daqifi.Desktop.Helpers.EnumDescriptionConverter 100% 100%
Daqifi.Desktop.Helpers.IntToVisibilityConverter 0% 0%
Daqifi.Desktop.Helpers.MyMultiValueConverter 0%
Daqifi.Desktop.Helpers.NaturalSortHelper 100% 100%
Daqifi.Desktop.Helpers.VersionHelper 98.2% 66.2%
Daqifi.Desktop.Logger.DatabaseLogger 0% 0%
Daqifi.Desktop.Logger.LoggedSeriesLegendItem 0% 0%
Daqifi.Desktop.Logger.LoggingContext 0%
Daqifi.Desktop.Logger.LoggingManager 0% 0%
Daqifi.Desktop.Logger.LoggingSession 26.6% 0%
Daqifi.Desktop.Logger.PlotLogger 0% 0%
Daqifi.Desktop.Logger.SummaryLogger 0% 0%
Daqifi.Desktop.Loggers.FirmwareUpdatationManager 5.8% 0%
Daqifi.Desktop.MainWindow 0% 0%
Daqifi.Desktop.Migrations.InitialSQLiteMigration 0%
Daqifi.Desktop.Migrations.LoggingContextModelSnapshot 0%
Daqifi.Desktop.Models.AddProfileModel 0%
Daqifi.Desktop.Models.DaqifiSettings 86.3% 100%
Daqifi.Desktop.Models.DebugDataCollection 0% 0%
Daqifi.Desktop.Models.DebugDataModel 0% 0%
Daqifi.Desktop.Models.Notifications 0%
Daqifi.Desktop.Models.SdCardFile 0%
Daqifi.Desktop.Services.WindowsPrincipalAdminChecker 0%
Daqifi.Desktop.Services.WpfMessageBoxService 0%
Daqifi.Desktop.UpdateVersion.VersionNotification 0% 0%
Daqifi.Desktop.View.AddChannelDialog 0% 0%
Daqifi.Desktop.View.AddProfileConfirmationDialog 0% 0%
Daqifi.Desktop.View.AddprofileDialog 0% 0%
Daqifi.Desktop.View.ConnectionDialog 0% 0%
Daqifi.Desktop.View.DebugWindow 0% 0%
Daqifi.Desktop.View.DeviceLogsView 0% 0%
Daqifi.Desktop.View.DuplicateDeviceDialog 0% 0%
Daqifi.Desktop.View.ErrorDialog 0% 0%
Daqifi.Desktop.View.ExportDialog 0% 0%
Daqifi.Desktop.View.FirmwareDialog 0% 0%
Daqifi.Desktop.View.Flyouts.ChannelsFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.DevicesFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.FirmwareFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.LiveGraphFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.LoggedSessionFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.NotificationsFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.SummaryFlyout 0% 0%
Daqifi.Desktop.View.Flyouts.UpdateProfileFlyout 0% 0%
Daqifi.Desktop.View.SelectColorDialog 0% 0%
Daqifi.Desktop.View.SettingsDialog 0% 0%
Daqifi.Desktop.View.SuccessDialog 0% 0%
Daqifi.Desktop.ViewModels.AddChannelDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.AddProfileConfirmationDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.AddProfileDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.ConnectionDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.DaqifiViewModel 0% 0%
Daqifi.Desktop.ViewModels.DeviceLogsViewModel 0% 0%
Daqifi.Desktop.ViewModels.DeviceSettingsViewModel 0% 0%
Daqifi.Desktop.ViewModels.DuplicateDeviceDialogViewModel 0%
Daqifi.Desktop.ViewModels.ErrorDialogViewModel 0%
Daqifi.Desktop.ViewModels.ExportDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.FirmwareDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.SelectColorDialogViewModel 0% 0%
Daqifi.Desktop.ViewModels.SettingsViewModel 0%
Daqifi.Desktop.ViewModels.SuccessDialogViewModel 0%
Daqifi.Desktop.WindowViewModelMapping.IWindowViewModelMappingsContract 0%
Daqifi.Desktop.WindowViewModelMapping.WindowViewModelMappings 0%
Daqifi.Desktop.Bootloader - 20.6%
Name Line Branch
Daqifi.Desktop.Bootloader 20.6% 17.3%
Daqifi.Desktop.Bootloader.Crc16 100% 100%
Daqifi.Desktop.Bootloader.Exceptions.FirmwareUpdateException 0%
Daqifi.Desktop.Bootloader.FirmwareDownloader 82% 66.6%
Daqifi.Desktop.Bootloader.Pic32Bootloader 0% 0%
Daqifi.Desktop.Bootloader.Pic32BootloaderMessageConsumer 0% 0%
Daqifi.Desktop.Bootloader.Pic32BootloaderMessageProducer 80.9% 100%
Daqifi.Desktop.Bootloader.WifiFirmwareDownloader 0% 0%
Daqifi.Desktop.Bootloader.WifiModuleUpdater 0% 0%
Daqifi.Desktop.Common - 45.9%
Name Line Branch
Daqifi.Desktop.Common 45.9% 33.3%
Daqifi.Desktop.Common.Loggers.AppLogger 42.1% 33.3%
Daqifi.Desktop.Common.Loggers.NoOpLogger 100%
Daqifi.Desktop.DataModel - 100%
Name Line Branch
Daqifi.Desktop.DataModel 100% ****
Daqifi.Desktop.DataModel.Device.DeviceInfo 100%
Daqifi.Desktop.IO - 23.9%
Name Line Branch
Daqifi.Desktop.IO 23.9% 18.9%
Daqifi.Desktop.IO.Messages.Consumers.AbstractMessageConsumer 0% 0%
Daqifi.Desktop.IO.Messages.Consumers.MessageConsumer 0% 0%
Daqifi.Desktop.IO.Messages.Consumers.TextMessageConsumer 0% 0%
Daqifi.Desktop.IO.Messages.Decoders.ProtobufDecoder 100% 75%
Daqifi.Desktop.IO.Messages.MessageEventArgs`1 0%
Daqifi.Desktop.IO.Messages.Producers.MessageProducer 81% 80%

Coverage report generated by ReportGeneratorView full report in build artifacts

@tylerkron tylerkron merged commit 28ed90e into main Oct 28, 2025
3 checks passed
@tylerkron tylerkron deleted the deps/combined-dependabot-updates branch October 28, 2025 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants