Skip to content

Commit 9cfc1be

Browse files
committed
Bump codeium version to 1.2.17
1 parent 910769f commit 9cfc1be

File tree

3 files changed

+24
-21
lines changed

3 files changed

+24
-21
lines changed

Core/Sources/CodeiumService/CodeiumInstallationManager.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Terminal
33

44
public struct CodeiumInstallationManager {
55
private static var isInstalling = false
6-
let latestSupportedVersion: String = "1.2.9"
6+
static let latestSupportedVersion: String = "1.2.17"
77

88
public init() {}
99

@@ -29,17 +29,17 @@ public struct CodeiumInstallationManager {
2929
let versionData = try? Data(contentsOf: versionFileURL),
3030
let version = String(data: versionData, encoding: .utf8)
3131
{
32-
switch version.compare(latestSupportedVersion) {
32+
switch version.compare(Self.latestSupportedVersion) {
3333
case .orderedAscending:
34-
return .outdated(current: version, latest: latestSupportedVersion)
34+
return .outdated(current: version, latest: Self.latestSupportedVersion)
3535
case .orderedSame:
3636
return .installed(version)
3737
case .orderedDescending:
38-
return .unsupported(current: version, latest: latestSupportedVersion)
38+
return .unsupported(current: version, latest: Self.latestSupportedVersion)
3939
}
4040
}
4141

42-
return .outdated(current: "Unknown", latest: latestSupportedVersion)
42+
return .outdated(current: "Unknown", latest: Self.latestSupportedVersion)
4343
}
4444

4545
public enum InstallationStep {
@@ -62,7 +62,7 @@ public struct CodeiumInstallationManager {
6262
continuation.yield(.downloading)
6363
let urls = try CodeiumSuggestionService.createFoldersIfNeeded()
6464
let urlString =
65-
"https://github.com/Exafunction/codeium/releases/download/language-server-v\(latestSupportedVersion)/language_server_macos_\(isAppleSilicon() ? "arm" : "x64").gz"
65+
"https://github.com/Exafunction/codeium/releases/download/language-server-v\(Self.latestSupportedVersion)/language_server_macos_\(isAppleSilicon() ? "arm" : "x64").gz"
6666
guard let url = URL(string: urlString) else { return }
6767

6868
// download
@@ -91,7 +91,7 @@ public struct CodeiumInstallationManager {
9191
)
9292

9393
// create version file
94-
let data = latestSupportedVersion.data(using: .utf8)
94+
let data = Self.latestSupportedVersion.data(using: .utf8)
9595
FileManager.default.createFile(
9696
atPath: urls.executableURL.appendingPathComponent("version").path,
9797
contents: data

Core/Sources/CodeiumService/CodeiumLanguageServer.swift

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,8 @@ final class CodeiumLanguageServer {
4242
process.executableURL = languageServerExecutableURL
4343

4444
process.arguments = [
45-
"--api_server_host",
46-
"server.codeium.com",
47-
"--api_server_port",
48-
"443",
45+
"--api_server_url",
46+
"https://server.codeium.com",
4947
"--manager_dir",
5048
managerDirectoryURL.path,
5149
]
@@ -145,8 +143,11 @@ extension CodeiumLanguageServer: CodeiumLSP {
145143
} else {
146144
do {
147145
let error = try JSONDecoder().decode(CodeiumResponseError.self, from: data)
148-
if UserDefaults.shared.value(for: \.codeiumVerboseLog) {
149-
Logger.codeium.error(error.message)
146+
if error.code == "aborted" {
147+
if error.message.contains("is too old") {
148+
throw CodeiumError.languageServerOutdated
149+
}
150+
throw error
150151
}
151152
throw CancellationError()
152153
} catch {

Core/Sources/CodeiumService/CodeiumService.swift

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ enum CodeiumError: Error, LocalizedError {
3030
case .languageServerNotInstalled:
3131
return "Language server is not installed. Please install it in the host app."
3232
case .languageServerOutdated:
33-
return "Language server is outdated. Please update it in the host app."
33+
return "Language server is outdated. Please update it in the host app or update the extension."
3434
case .languageServiceIsInstalling:
35-
return "Language service is installing. Please wait."
35+
return "Language service is installing, please try again later."
3636
}
3737
}
3838
}
@@ -52,6 +52,7 @@ public class CodeiumSuggestionService {
5252
let authService = CodeiumAuthService()
5353

5454
var xcodeVersion = "14.0.0"
55+
var languageServerVersion = CodeiumInstallationManager.latestSupportedVersion
5556

5657
init(designatedServer: CodeiumLSP) {
5758
projectRootURL = URL(fileURLWithPath: "/")
@@ -75,18 +76,19 @@ public class CodeiumSuggestionService {
7576
@discardableResult
7677
func setupServerIfNeeded() async throws -> CodeiumLSP {
7778
if let server { return server }
78-
79+
7980
let binaryManager = CodeiumInstallationManager()
8081
let installationStatus = binaryManager.checkInstallation()
8182
switch installationStatus {
82-
case .installed, .unsupported:
83-
break
83+
case let .installed(version), let .unsupported(version, _):
84+
languageServerVersion = version
8485
case .notInstalled:
8586
throw CodeiumError.languageServerNotInstalled
86-
case .outdated:
87+
case let .outdated(version, _):
88+
languageServerVersion = version
8789
throw CodeiumError.languageServerOutdated
8890
}
89-
91+
9092
let metadata = try getMetadata()
9193
xcodeVersion = (try? await getXcodeVersion()) ?? xcodeVersion
9294
let versionNumberSegmentCount = xcodeVersion.split(separator: ".").count
@@ -187,7 +189,7 @@ extension CodeiumSuggestionService {
187189
return Metadata(
188190
ide_name: "xcode",
189191
ide_version: xcodeVersion,
190-
extension_version: xcodeVersion,
192+
extension_version: languageServerVersion,
191193
api_key: key,
192194
session_id: CodeiumSuggestionService.sessionId,
193195
request_id: requestCounter

0 commit comments

Comments
 (0)