MCPcopy Create free account
hub / github.com/altic-dev/FluidVoice / loadProviderState

Method loadProviderState

Sources/Fluid/ContentView.swift:656–703  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

654 }
655
656 private func loadProviderState() {
657 self.selectedProviderID = SettingsStore.shared.selectedProviderID
658 self.updateCurrentProvider()
659
660 self.enableDebugLogs = SettingsStore.shared.enableDebugLogs
661 self.availableModelsByProvider = SettingsStore.shared.availableModelsByProvider
662 self.selectedModelByProvider = SettingsStore.shared.selectedModelByProvider
663 self.providerAPIKeys = SettingsStore.shared.providerAPIKeys
664 self.savedProviders = SettingsStore.shared.savedProviders
665
666 var normalized: [String: [String]] = [:]
667 for (key, models) in self.availableModelsByProvider {
668 let lower = key.lowercased()
669 let newKey = ModelRepository.shared.isBuiltIn(lower) ? lower : (key.hasPrefix("custom:") ? key : "custom:\(key)")
670 let clean = Array(Set(models.map { $0.trimmingCharacters(in: .whitespacesAndNewlines) })).sorted()
671 if !clean.isEmpty {
672 normalized[newKey] = clean
673 }
674 }
675 self.availableModelsByProvider = normalized
676 SettingsStore.shared.availableModelsByProvider = normalized
677
678 var normalizedSel: [String: String] = [:]
679 for (key, model) in self.selectedModelByProvider {
680 let lower = key.lowercased()
681 let newKey = ModelRepository.shared.isBuiltIn(lower) ? lower : (key.hasPrefix("custom:") ? key : "custom:\(key)")
682 if let list = normalized[newKey], list.contains(model) {
683 normalizedSel[newKey] = model
684 }
685 }
686 self.selectedModelByProvider = normalizedSel
687 SettingsStore.shared.selectedModelByProvider = normalizedSel
688
689 if let saved = savedProviders.first(where: { $0.id == selectedProviderID }) {
690 self.availableModels = saved.models
691 self.openAIBaseURL = saved.baseURL
692 } else if let stored = availableModelsByProvider[currentProvider], !stored.isEmpty {
693 self.availableModels = stored
694 } else {
695 self.availableModels = ModelRepository.shared.defaultModels(for: self.providerKey(for: self.selectedProviderID))
696 }
697
698 if let sel = selectedModelByProvider[currentProvider], availableModels.contains(sel) {
699 self.selectedModel = sel
700 } else if let first = availableModels.first {
701 self.selectedModel = first
702 }
703 }
704
705 private func installShortcutCaptureMonitor() {
706 self.removeShortcutCaptureMonitor()

Callers 1

handleContentAppearMethod · 0.95

Calls 4

updateCurrentProviderMethod · 0.95
providerKeyMethod · 0.95
isBuiltInMethod · 0.80
defaultModelsMethod · 0.80

Tested by

no test coverage detected