Generalize Yattee Server credentials manager to BasicAuthCredentialsManager

Renames YatteeServerCredentialsManager → BasicAuthCredentialsManager so the
same Keychain-backed username/password storage can be reused for any instance
type that sits behind a reverse proxy requiring HTTP Basic Auth. Adds a
one-time migration that moves existing items from the legacy
'com.yattee.yatteeserver' Keychain service to 'com.yattee.basicauth',
preserving the iCloud-sync attribute. No behavior change for end users.
This commit is contained in:
Arkadiusz Fal
2026-04-06 19:45:16 +02:00
parent 240cf23693
commit 8cd3aca96c
12 changed files with 141 additions and 56 deletions

View File

@@ -492,7 +492,7 @@ final class SubscriptionFeedCache {
do {
let yatteeServerAPI = YatteeServerAPI(httpClient: HTTPClient())
let authHeader = appEnvironment.yatteeServerCredentialsManager.basicAuthHeader(for: instance)
let authHeader = appEnvironment.basicAuthCredentialsManager.basicAuthHeader(for: instance)
await yatteeServerAPI.setAuthHeader(authHeader)
LoggingService.shared.debug("refreshFromStatelessServer: Calling postFeed for \(channelRequests.count) channels", category: .general)
let response = try await yatteeServerAPI.postFeed(
@@ -556,7 +556,7 @@ final class SubscriptionFeedCache {
StatelessChannelStatusRequest(channelId: $0.channelId, site: $0.site)
}
let yatteeServerAPI = YatteeServerAPI(httpClient: HTTPClient())
let authHeader = appEnvironment.yatteeServerCredentialsManager.basicAuthHeader(for: instance)
let authHeader = appEnvironment.basicAuthCredentialsManager.basicAuthHeader(for: instance)
await yatteeServerAPI.setAuthHeader(authHeader)
let maxRetries = 5