diff options
| author | Christian Cleberg <[email protected]> | 2026-04-13 19:44:44 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-13 19:44:44 -0500 |
| commit | fe1ccc69661603d419a642a450e4ac9e1258adb0 (patch) | |
| tree | 386455b6b5468abdd9dfa46dd4802b10da8b77a2 /Hutch/Networking/SystemStatusService.swift | |
| parent | 6ec9754ce34f331641b000eddef3d44bca2631a5 (diff) | |
| download | hutch-fe1ccc69661603d419a642a450e4ac9e1258adb0.tar.gz hutch-fe1ccc69661603d419a642a450e4ac9e1258adb0.tar.bz2 hutch-fe1ccc69661603d419a642a450e4ac9e1258adb0.zip | |
fix: centralize URLs, tighten models, and polish SwiftUI bindingsv3.1.3
- 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.
Diffstat (limited to 'Hutch/Networking/SystemStatusService.swift')
| -rw-r--r-- | Hutch/Networking/SystemStatusService.swift | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Hutch/Networking/SystemStatusService.swift b/Hutch/Networking/SystemStatusService.swift index 5dd27b5..ec2d233 100644 --- a/Hutch/Networking/SystemStatusService.swift +++ b/Hutch/Networking/SystemStatusService.swift @@ -1,8 +1,8 @@ import Foundation struct SystemStatusService: Sendable { - nonisolated static let statusURL = URL(string: "https://status.sr.ht/")! - nonisolated static let feedURL = URL(string: "https://status.sr.ht/index.xml")! + nonisolated static let statusURL = SRHTWebURL.status + nonisolated static let feedURL = SRHTWebURL.statusIncidentFeed private let session: URLSession private let now: @Sendable () -> Date @@ -340,24 +340,24 @@ private final class SystemStatusFeedParser: NSObject, XMLParserDelegate, @unchec return incidents.sorted { $0.publishedAt > $1.publishedAt } } - func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String: String] = [:]) { + func parser(_: XMLParser, didStartElement elementName: String, namespaceURI _: String?, qualifiedName _: String?, attributes _: [String: String] = [:]) { textBuffer = "" if elementName == "item" { currentItem = FeedItem() } } - func parser(_ parser: XMLParser, foundCharacters string: String) { + func parser(_: XMLParser, foundCharacters string: String) { textBuffer += string } - func parser(_ parser: XMLParser, foundCDATA CDATABlock: Data) { - if let string = String(data: CDATABlock, encoding: .utf8) { + func parser(_: XMLParser, foundCDATA cdata: Data) { + if let string = String(data: cdata, encoding: .utf8) { textBuffer += string } } - func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { + func parser(_: XMLParser, didEndElement elementName: String, namespaceURI _: String?, qualifiedName _: String?) { guard var currentItem else { textBuffer = "" return |
