diff --git a/Core/Sources/SuggestionWidget/WidgetWindowsController.swift b/Core/Sources/SuggestionWidget/WidgetWindowsController.swift index c906d312d..2cda76b69 100644 --- a/Core/Sources/SuggestionWidget/WidgetWindowsController.swift +++ b/Core/Sources/SuggestionWidget/WidgetWindowsController.swift @@ -8,6 +8,10 @@ import Foundation import SwiftUI import XcodeInspector +#warning(""" +TODO: This part is too messy, consider breaking it up, let each window handle their own things +""") + actor WidgetWindowsController: NSObject { let userDefaultsObservers = WidgetUserDefaultsObservers() var xcodeInspector: XcodeInspector { .shared } @@ -419,7 +423,8 @@ extension WidgetWindowsController { 0 } else if previousAppIsXcode { if windows.chatPanelWindow.isFullscreen, - windows.chatPanelWindow.isOnActiveSpace { + windows.chatPanelWindow.isOnActiveSpace + { 0 } else { 1 @@ -513,7 +518,7 @@ extension WidgetWindowsController { ) updateWindowLocationTask = Task { - try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000)) + try await Task.sleep(nanoseconds: UInt64(delay * 500_000_000)) try Task.checkCancellation() await update() } @@ -580,9 +585,8 @@ extension WidgetWindowsController { func handleXcodeFullscreenChange() async { let activeXcode = await XcodeInspector.shared.safe.activeXcode - let isFullscreen = if let xcode = activeXcode?.appElement, - let xcodeWindow = xcode.focusedWindow - { + let xcode = activeXcode?.appElement + let isFullscreen = if let xcode, let xcodeWindow = xcode.focusedWindow { xcodeWindow.isFullScreen && xcode.isFrontmost } else { false @@ -598,7 +602,7 @@ extension WidgetWindowsController { $0.send(.didChangeActiveSpace(fullscreen: isFullscreen)) } - if windows.fullscreenDetector.isOnActiveSpace, isFullscreen { + if windows.fullscreenDetector.isOnActiveSpace, xcode?.focusedWindow != nil { windows.orderFront() } } @@ -819,7 +823,9 @@ public final class WidgetWindows { toastWindow.orderFrontRegardless() sharedPanelWindow.orderFrontRegardless() suggestionPanelWindow.orderFrontRegardless() - if chatPanelWindow.level.rawValue > NSWindow.Level.normal.rawValue { + if chatPanelWindow.level.rawValue > NSWindow.Level.normal.rawValue, + store.withState({ !$0.chatPanelState.isDetached }) + { chatPanelWindow.orderFrontRegardless() } } diff --git a/Tool/Sources/CodeiumService/LanguageServer/CodeiumLanguageServer.swift b/Tool/Sources/CodeiumService/LanguageServer/CodeiumLanguageServer.swift index 62af56b19..c3f83118c 100644 --- a/Tool/Sources/CodeiumService/LanguageServer/CodeiumLanguageServer.swift +++ b/Tool/Sources/CodeiumService/LanguageServer/CodeiumLanguageServer.swift @@ -63,6 +63,8 @@ final class CodeiumLanguageServer { if isEnterpriseMode { process.arguments?.append("--enterprise_mode") + process.arguments?.append("--portal_url") + process.arguments?.append(UserDefaults.shared.value(for: \.codeiumPortalUrl)) } let indexEnabled = UserDefaults.shared.value(for: \.codeiumIndexEnabled) diff --git a/Version.xcconfig b/Version.xcconfig index 41110cc2c..10eba9dc0 100644 --- a/Version.xcconfig +++ b/Version.xcconfig @@ -1,3 +1,3 @@ -APP_VERSION = 0.33.7 -APP_BUILD = 399 +APP_VERSION = 0.33.8 +APP_BUILD = 402