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

@@ -47,7 +47,7 @@ final class AppEnvironment {
let handoffManager: HandoffManager
let invidiousCredentialsManager: InvidiousCredentialsManager
let pipedCredentialsManager: PipedCredentialsManager
let yatteeServerCredentialsManager: YatteeServerCredentialsManager
let basicAuthCredentialsManager: BasicAuthCredentialsManager
let homeInstanceCache: HomeInstanceCache
let invidiousAPI: InvidiousAPI
let pipedAPI: PipedAPI
@@ -82,12 +82,12 @@ final class AppEnvironment {
instances.setSettingsManager(settings)
self.instancesManager = instances
// Initialize Yattee Server Credentials Manager early (needed for ContentService)
let yatteeServerCreds = YatteeServerCredentialsManager()
yatteeServerCreds.settingsManager = settings
self.yatteeServerCredentialsManager = yatteeServerCreds
// Initialize Basic Auth Credentials Manager early (needed for ContentService)
let basicAuthCreds = BasicAuthCredentialsManager()
basicAuthCreds.settingsManager = settings
self.basicAuthCredentialsManager = basicAuthCreds
let contentSvc = ContentService(httpClient: client, yatteeServerCredentialsManager: yatteeServerCreds)
let contentSvc = ContentService(httpClient: client, basicAuthCredentialsManager: basicAuthCreds)
self.contentService = contentSvc
self.instanceDetector = InstanceDetector(httpClient: client)
self.navigationCoordinator = navigationCoordinator ?? NavigationCoordinator()
@@ -374,7 +374,7 @@ final class AppEnvironment {
case .piped:
return pipedCredentialsManager
case .yatteeServer:
return yatteeServerCredentialsManager
return basicAuthCredentialsManager
default:
return nil
}