diff --git a/apps/macos/Sources/Clawdis/AnthropicOAuth.swift b/apps/macos/Sources/Clawdis/AnthropicOAuth.swift index 0c238bb7b..be2222b1e 100644 --- a/apps/macos/Sources/Clawdis/AnthropicOAuth.swift +++ b/apps/macos/Sources/Clawdis/AnthropicOAuth.swift @@ -36,8 +36,8 @@ enum AnthropicAuthMode: Equatable { enum AnthropicAuthResolver { static func resolve( environment: [String: String] = ProcessInfo.processInfo.environment, - oauthStatus: ClawdisOAuthStore.AnthropicOAuthStatus = ClawdisOAuthStore.anthropicOAuthStatus() - ) -> AnthropicAuthMode + oauthStatus: ClawdisOAuthStore.AnthropicOAuthStatus = ClawdisOAuthStore + .anthropicOAuthStatus()) -> AnthropicAuthMode { if oauthStatus.isConnected { return .oauthFile } diff --git a/apps/macos/Sources/Clawdis/MenuBar.swift b/apps/macos/Sources/Clawdis/MenuBar.swift index 7ca6b3901..cc229edc0 100644 --- a/apps/macos/Sources/Clawdis/MenuBar.swift +++ b/apps/macos/Sources/Clawdis/MenuBar.swift @@ -384,8 +384,8 @@ final class SparkleUpdaterController: NSObject, UpdaterProviding, SPUUpdaterDele _ updater: SPUUpdater, userDidMakeChoice choice: SPUUserUpdateChoice, forUpdate updateItem: SUAppcastItem, - state: SPUUserUpdateState - ) { + state: SPUUserUpdateState) + { switch choice { case .install, .skip: self.updateStatus.isUpdateReady = false diff --git a/apps/macos/Sources/Clawdis/MenuSessionsInjector.swift b/apps/macos/Sources/Clawdis/MenuSessionsInjector.swift index 76e7d150f..77cde5e1f 100644 --- a/apps/macos/Sources/Clawdis/MenuSessionsInjector.swift +++ b/apps/macos/Sources/Clawdis/MenuSessionsInjector.swift @@ -131,7 +131,9 @@ final class MenuSessionsInjector: NSObject, NSMenuDelegate { var cursor = insertIndex + 1 if rows.isEmpty { - menu.insertItem(self.makeMessageItem(text: "No active sessions", symbolName: "minus", width: width), at: cursor) + menu.insertItem( + self.makeMessageItem(text: "No active sessions", symbolName: "minus", width: width), + at: cursor) return } @@ -234,7 +236,10 @@ final class MenuSessionsInjector: NSObject, NSMenuDelegate { !sessionId.isEmpty { menu.addItem(NSMenuItem.separator()) - let openLog = NSMenuItem(title: "Open Session Log", action: #selector(self.openSessionLog(_:)), keyEquivalent: "") + let openLog = NSMenuItem( + title: "Open Session Log", + action: #selector(self.openSessionLog(_:)), + keyEquivalent: "") openLog.target = self openLog.representedObject = [ "sessionId": sessionId, @@ -250,7 +255,10 @@ final class MenuSessionsInjector: NSObject, NSMenuDelegate { reset.representedObject = row.key menu.addItem(reset) - let compact = NSMenuItem(title: "Compact Session Log", action: #selector(self.compactSession(_:)), keyEquivalent: "") + let compact = NSMenuItem( + title: "Compact Session Log", + action: #selector(self.compactSession(_:)), + keyEquivalent: "") compact.target = self compact.representedObject = row.key menu.addItem(compact) diff --git a/apps/macos/Sources/Clawdis/SessionMenuLabelView.swift b/apps/macos/Sources/Clawdis/SessionMenuLabelView.swift index 925f66162..5cfd1b4a0 100644 --- a/apps/macos/Sources/Clawdis/SessionMenuLabelView.swift +++ b/apps/macos/Sources/Clawdis/SessionMenuLabelView.swift @@ -30,14 +30,14 @@ struct SessionMenuLabelView: View { var body: some View { VStack(alignment: .leading, spacing: 8) { ContextUsageBar( - usedTokens: row.tokens.total, - contextTokens: row.tokens.contextTokens, + usedTokens: self.row.tokens.total, + contextTokens: self.row.tokens.contextTokens, width: max(1, self.width - (self.paddingLeading + self.paddingTrailing)), height: self.barHeight) HStack(alignment: .firstTextBaseline, spacing: 8) { - Text(row.key) - .font(.caption.weight(row.key == "main" ? .semibold : .regular)) + Text(self.row.key) + .font(.caption.weight(self.row.key == "main" ? .semibold : .regular)) .foregroundStyle(self.primaryTextColor) .lineLimit(1) .truncationMode(.middle) @@ -45,7 +45,7 @@ struct SessionMenuLabelView: View { Spacer(minLength: 8) - Text(row.tokens.contextSummaryShort) + Text(self.row.tokens.contextSummaryShort) .font(.caption.monospacedDigit()) .foregroundStyle(self.secondaryTextColor) .lineLimit(1) diff --git a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift index ba7b0f229..f2cb2dd20 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeRuntime.swift @@ -150,7 +150,8 @@ actor VoiceWakeRuntime { guard let self else { return } let transcript = result?.bestTranscription.formattedString let segments = result.flatMap { result in - transcript.map { WakeWordSpeechSegments.from(transcription: result.bestTranscription, transcript: $0) } + transcript + .map { WakeWordSpeechSegments.from(transcription: result.bestTranscription, transcript: $0) } } ?? [] let isFinal = result?.isFinal ?? false Task { await self.handleRecognition( @@ -477,13 +478,13 @@ actor VoiceWakeRuntime { triggers: [String]) -> String { guard let triggerEndTime else { - return trimmedAfterTrigger(transcript, triggers: triggers) + return self.trimmedAfterTrigger(transcript, triggers: triggers) } let trimmed = WakeWordGate.commandText( transcript: transcript, segments: segments, triggerEndTime: triggerEndTime) - return trimmed.isEmpty ? trimmedAfterTrigger(transcript, triggers: triggers) : trimmed + return trimmed.isEmpty ? self.trimmedAfterTrigger(transcript, triggers: triggers) : trimmed } #if DEBUG diff --git a/apps/macos/Sources/Clawdis/VoiceWakeTester.swift b/apps/macos/Sources/Clawdis/VoiceWakeTester.swift index 5d4eeb5f0..3c6a81283 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeTester.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeTester.swift @@ -94,7 +94,9 @@ final class VoiceWakeTester { self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in guard let self, !self.isStopping else { return } let text = result?.bestTranscription.formattedString ?? "" - let segments = result.map { WakeWordSpeechSegments.from(transcription: $0.bestTranscription, transcript: text) } ?? [] + let segments = result.map { WakeWordSpeechSegments.from( + transcription: $0.bestTranscription, + transcript: text) } ?? [] let gateConfig = WakeWordGateConfig(triggers: triggers) let match = WakeWordGate.match(transcript: text, segments: segments, config: gateConfig) let isFinal = result?.isFinal ?? false diff --git a/apps/macos/Sources/Clawdis/WebChatSwiftUI.swift b/apps/macos/Sources/Clawdis/WebChatSwiftUI.swift index 5c0d09625..c64aed36a 100644 --- a/apps/macos/Sources/Clawdis/WebChatSwiftUI.swift +++ b/apps/macos/Sources/Clawdis/WebChatSwiftUI.swift @@ -314,12 +314,11 @@ final class WebChatSwiftUIWindowController { effectView.autoresizingMask = [.width, .height] effectView.wantsLayer = true effectView.layer?.cornerCurve = .continuous - let cornerRadius: CGFloat - switch presentation { + let cornerRadius: CGFloat = switch presentation { case .panel: - cornerRadius = 16 + 16 case .window: - cornerRadius = 12 + 12 } effectView.layer?.cornerRadius = cornerRadius effectView.layer?.masksToBounds = true @@ -336,7 +335,7 @@ final class WebChatSwiftUIWindowController { hosting.view.leadingAnchor.constraint(equalTo: effectView.leadingAnchor), hosting.view.trailingAnchor.constraint(equalTo: effectView.trailingAnchor), hosting.view.topAnchor.constraint(equalTo: effectView.topAnchor), - hosting.view.bottomAnchor.constraint(equalTo: effectView.bottomAnchor) + hosting.view.bottomAnchor.constraint(equalTo: effectView.bottomAnchor), ]) return controller