From fe1ccc69661603d419a642a450e4ac9e1258adb0 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 13 Apr 2026 19:44:44 -0500 Subject: fix: centralize URLs, tighten models, and polish SwiftUI bindings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add shared HutchDeepLinkURL constants for app, widgets, and tests. - Bump marketing version to 3.1.2 and build to 70 (app + widget extension). - Point Hutch stats default base URL at HutchStatsAPI; add SRHTWebURL status incident feed and reuse it from SystemStatusService. - Group Project into Metadata and Resources; split ContributionStatsResponse into StatsWindow and StatsTotals with updated decoding and tests. - Replace @Bindable usage with explicit Bindings in Profile, Projects list, and repository ACL flows; simplify Home pinned-item helper; add no-op bodies on cancel alert buttons where the compiler requires a statement. - Move repository row build-status indicator next to the relative-updated caption and reserve a fixed 8×8 slot so the row does not jump when status loads. - Use NSString.lastPathComponent for build artifact filenames; collapse duplicate ACL error branches; minor HutchStats HTTP and XMLParserDelegate cleanups. - Point widgets at HutchDeepLinkURL helpers; align tests with the new response and URL types. --- HutchTests/SystemStatusServiceTests.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'HutchTests/SystemStatusServiceTests.swift') diff --git a/HutchTests/SystemStatusServiceTests.swift b/HutchTests/SystemStatusServiceTests.swift index d1577b6..d963fa4 100644 --- a/HutchTests/SystemStatusServiceTests.swift +++ b/HutchTests/SystemStatusServiceTests.swift @@ -3,6 +3,9 @@ import Testing @testable import Hutch struct SystemStatusServiceTests { + private enum Fixture { + static let ddosIssueURL = "https://status.sr.ht/issues/2026-04-06-ddos-attack/" + } @Test func parsesCurrentStatusHTMLIntoServicesAndActiveIncidents() throws { @@ -16,7 +19,7 @@ struct SystemStatusServiceTests { #expect(snapshot.activeIncidents.count == 1) #expect(snapshot.activeIncidents[0].title == "SourceHut disrupted due to DDoS attack") #expect(snapshot.activeIncidents[0].summary == "SourceHut was disrupted by a DDoS attack.") - #expect(snapshot.activeIncidents[0].url?.absoluteString == "https://status.sr.ht/issues/2026-04-06-ddos-attack/") + #expect(snapshot.activeIncidents[0].url?.absoluteString == Fixture.ddosIssueURL) } @Test -- cgit v1.2.3