summaryrefslogtreecommitdiff
path: root/Hutch/Networking/SystemStatusService.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-13 19:44:44 -0500
committerChristian Cleberg <[email protected]>2026-04-13 19:44:44 -0500
commitfe1ccc69661603d419a642a450e4ac9e1258adb0 (patch)
tree386455b6b5468abdd9dfa46dd4802b10da8b77a2 /Hutch/Networking/SystemStatusService.swift
parent6ec9754ce34f331641b000eddef3d44bca2631a5 (diff)
downloadhutch-3.1.3.tar.gz
hutch-3.1.3.tar.bz2
hutch-3.1.3.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.swift14
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