diff options
| author | Christian Cleberg <[email protected]> | 2026-07-20 16:22:28 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-20 16:27:59 -0500 |
| commit | bb18197860ffdb491f010648ec903003b6e1bb65 (patch) | |
| tree | e569d7cdeb1c14c7eab889cb7fac1ea9813e6efe /DomainDig/WorkflowsView.swift | |
| parent | 083dfa723739eedd409ea8a6ae27332e48515210 (diff) | |
| download | domain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.tar.gz domain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.tar.bz2 domain-dig-bb18197860ffdb491f010648ec903003b6e1bb65.zip | |
v4.8.3: Clear SonarCloud new-code issues
Fixes the 4 reported bugs and ~97 code smells flagged in the new-code
period. No behavior changes.
Bugs (swift:S3923) — DomainInspectionService's confidenceFor* helpers each
returned `error == nil ? .low : .low`, an inert conditional. Simplified to
`return .low` and dropped the now-unused `error` parameter.
Smells:
- Merged 14 identical `.empty`/`.error` switch branches in DomainViewModel
- Consolidated duplicate implementations (clearPresentedResults/reset,
String.nonEmpty/nilIfEmpty, ExportFormat.id/fileExtension)
- Extracted nested ternaries into TLSGrade.tone, EmailSecurityGrade.tone,
and ChangeImpactClassification.color; removed ContentView.impactColor
and the duplicate mapping in BatchResultsView
- Documented empty closures and singleton inits
- Marked unused protocol-conformance parameters `_`
- Renamed CloudSyncTrigger.`import` to `imported` (raw value preserved)
and SSLSessionDelegate's _serverTrust/_tlsMetadata
- Merged nested ifs in the DER parser; flattened closure nesting in
PortScanService and IntegrationService
- Replaced two-case switches with if/else
Left open: S107 (init parameter counts), S115 (constants mirroring DoH and
ipapi JSON keys), S1075 (false positives on https:// literals), and two
S117 hits on SwiftUI $binding shorthand. These want a Won't Fix resolution
in SonarCloud, not a code change.
Diffstat (limited to 'DomainDig/WorkflowsView.swift')
| -rw-r--r-- | DomainDig/WorkflowsView.swift | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/DomainDig/WorkflowsView.swift b/DomainDig/WorkflowsView.swift index 3cfca42..ce889fb 100644 --- a/DomainDig/WorkflowsView.swift +++ b/DomainDig/WorkflowsView.swift @@ -253,13 +253,13 @@ struct WorkflowDetailView: View { shareWorkflowResults(format: .pdf) } } else { - Button("CSV Export • Available in Pro") {} + Button("CSV Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("JSON Export • Available in Pro") {} + Button("JSON Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("Markdown Export • Available in Pro") {} + Button("Markdown Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("PDF Export • Available in Pro") {} + Button("PDF Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) } } label: { @@ -554,13 +554,13 @@ struct WorkflowRunSummaryView: View { share(format: .pdf) } } else { - Button("CSV Export • Available in Pro") {} + Button("CSV Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("JSON Export • Available in Pro") {} + Button("JSON Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("Markdown Export • Available in Pro") {} + Button("Markdown Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) - Button("PDF Export • Available in Pro") {} + Button("PDF Export • Available in Pro") { /* Inert: disabled Pro upsell affordance. */ } .disabled(true) } } label: { |
