Skip to content

Commit 4dbb4ea

Browse files
cloud-shannonintitni
authored andcommitted
fix: getting ports
1 parent 670a481 commit 4dbb4ea

8 files changed

Lines changed: 63 additions & 18 deletions

File tree

Copilot for Xcode.xcodeproj/project.pbxproj

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,8 @@
773773
CODE_SIGN_STYLE = Automatic;
774774
COMBINE_HIDPI_IMAGES = YES;
775775
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
776-
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
776+
DEAD_CODE_STRIPPING = YES;
777+
DEVELOPMENT_TEAM = 7FZQCG2W63;
777778
ENABLE_HARDENED_RUNTIME = YES;
778779
INFOPLIST_FILE = EditorExtension/Info.plist;
779780
INFOPLIST_KEY_CFBundleDisplayName = "$(EXTESNION_BUNDLE_NAME)";
@@ -800,6 +801,7 @@
800801
CODE_SIGN_STYLE = Automatic;
801802
COMBINE_HIDPI_IMAGES = YES;
802803
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
804+
DEAD_CODE_STRIPPING = YES;
803805
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
804806
ENABLE_HARDENED_RUNTIME = YES;
805807
INFOPLIST_FILE = EditorExtension/Info.plist;
@@ -854,9 +856,11 @@
854856
CLANG_WARN_UNREACHABLE_CODE = YES;
855857
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
856858
COPY_PHASE_STRIP = NO;
859+
DEAD_CODE_STRIPPING = YES;
857860
DEBUG_INFORMATION_FORMAT = dwarf;
858861
ENABLE_STRICT_OBJC_MSGSEND = YES;
859862
ENABLE_TESTABILITY = YES;
863+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
860864
GCC_C_LANGUAGE_STANDARD = gnu11;
861865
GCC_DYNAMIC_NO_PIC = NO;
862866
GCC_NO_COMMON_BLOCKS = YES;
@@ -915,9 +919,11 @@
915919
CLANG_WARN_UNREACHABLE_CODE = YES;
916920
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
917921
COPY_PHASE_STRIP = NO;
922+
DEAD_CODE_STRIPPING = YES;
918923
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
919924
ENABLE_NS_ASSERTIONS = NO;
920925
ENABLE_STRICT_OBJC_MSGSEND = YES;
926+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
921927
GCC_C_LANGUAGE_STANDARD = gnu11;
922928
GCC_NO_COMMON_BLOCKS = YES;
923929
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -945,8 +951,9 @@
945951
CODE_SIGN_STYLE = Automatic;
946952
COMBINE_HIDPI_IMAGES = YES;
947953
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
954+
DEAD_CODE_STRIPPING = YES;
948955
DEVELOPMENT_ASSET_PATHS = "\"Copilot for Xcode/Preview Content\"";
949-
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
956+
DEVELOPMENT_TEAM = 7FZQCG2W63;
950957
ENABLE_HARDENED_RUNTIME = YES;
951958
ENABLE_PREVIEWS = YES;
952959
GENERATE_INFOPLIST_FILE = YES;
@@ -977,6 +984,7 @@
977984
CODE_SIGN_STYLE = Automatic;
978985
COMBINE_HIDPI_IMAGES = YES;
979986
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
987+
DEAD_CODE_STRIPPING = YES;
980988
DEVELOPMENT_ASSET_PATHS = "\"Copilot for Xcode/Preview Content\"";
981989
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
982990
ENABLE_HARDENED_RUNTIME = YES;
@@ -1002,7 +1010,8 @@
10021010
isa = XCBuildConfiguration;
10031011
buildSettings = {
10041012
CODE_SIGN_STYLE = Automatic;
1005-
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
1013+
DEAD_CODE_STRIPPING = YES;
1014+
DEVELOPMENT_TEAM = 7FZQCG2W63;
10061015
ENABLE_HARDENED_RUNTIME = YES;
10071016
MACOSX_DEPLOYMENT_TARGET = 12.0;
10081017
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1015,7 +1024,8 @@
10151024
isa = XCBuildConfiguration;
10161025
buildSettings = {
10171026
CODE_SIGN_STYLE = Automatic;
1018-
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
1027+
DEAD_CODE_STRIPPING = YES;
1028+
DEVELOPMENT_TEAM = 7FZQCG2W63;
10191029
ENABLE_HARDENED_RUNTIME = YES;
10201030
MACOSX_DEPLOYMENT_TARGET = 12.0;
10211031
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1033,7 +1043,8 @@
10331043
CODE_SIGN_STYLE = Automatic;
10341044
COMBINE_HIDPI_IMAGES = YES;
10351045
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
1036-
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
1046+
DEAD_CODE_STRIPPING = YES;
1047+
DEVELOPMENT_TEAM = 7FZQCG2W63;
10371048
ENABLE_HARDENED_RUNTIME = YES;
10381049
ENABLE_PREVIEWS = YES;
10391050
GENERATE_INFOPLIST_FILE = YES;
@@ -1065,6 +1076,7 @@
10651076
CODE_SIGN_STYLE = Automatic;
10661077
COMBINE_HIDPI_IMAGES = YES;
10671078
CURRENT_PROJECT_VERSION = "$(APP_BUILD)";
1079+
DEAD_CODE_STRIPPING = YES;
10681080
DEVELOPMENT_TEAM = 5YKZ4Y3DAW;
10691081
ENABLE_HARDENED_RUNTIME = YES;
10701082
ENABLE_PREVIEWS = YES;

Copilot for Xcode.xcodeproj/xcshareddata/xcschemes/Copilot for Xcode.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1410"
3+
LastUpgradeVersion = "1520"
44
version = "1.7">
55
<BuildAction
66
parallelizeBuildables = "YES"

Copilot for Xcode.xcodeproj/xcshareddata/xcschemes/EditorExtension.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1410"
3+
LastUpgradeVersion = "1520"
44
wasCreatedForAppExtension = "YES"
55
version = "2.0">
66
<BuildAction

Copilot for Xcode.xcodeproj/xcshareddata/xcschemes/ExtensionService.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1420"
3+
LastUpgradeVersion = "1520"
44
version = "1.7">
55
<BuildAction
66
parallelizeBuildables = "YES"

Core/.swiftpm/xcode/xcshareddata/xcschemes/Service.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1410"
3+
LastUpgradeVersion = "1520"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Core/.swiftpm/xcode/xcshareddata/xcschemes/SuggestionInjector.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1410"
3+
LastUpgradeVersion = "1520"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Tool/Sources/CodeiumService/CodeiumRequest.swift

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,20 @@ struct CodeiumResponseError: Codable, Error, LocalizedError {
2727
}
2828

2929
enum CodeiumRequest {
30-
struct GetProcessPorts: CodeiumRequestType {
30+
struct GetProcesses: CodeiumRequestType {
3131
struct Response: Codable {
32-
var lsp_port: UInt32
33-
var chat_web_server_port: UInt32
34-
var chat_client_port: UInt32
32+
var lspPort: UInt32
33+
var chatWebServerPort: UInt32
34+
var chatClientPort: UInt32
3535
}
3636

37-
struct RequestBody: Codable {
38-
var metadata: Metadata
39-
}
37+
struct RequestBody: Codable {}
4038

4139
var requestBody: RequestBody
4240

4341
func makeURLRequest(server: String) -> URLRequest {
4442
let data = (try? JSONEncoder().encode(requestBody)) ?? Data()
45-
return assembleURLRequest(server: server, method: "GetProcessPorts", body: data)
43+
return assembleURLRequest(server: server, method: "GetProcesses", body: data)
4644
}
4745
}
4846

Tool/Sources/CodeiumService/CodeiumService.swift

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import AppKit
12
import Foundation
23
import LanguageClient
34
import LanguageServerProtocol
@@ -15,6 +16,7 @@ public protocol CodeiumSuggestionServiceType {
1516
usesTabsForIndentation: Bool
1617
) async throws -> [CodeSuggestion]
1718
func notifyAccepted(_ suggestion: CodeSuggestion) async
19+
func openChat() async throws
1820
func notifyOpenTextDocument(fileURL: URL, content: String) async throws
1921
func notifyChangeTextDocument(fileURL: URL, content: String) async throws
2022
func notifyCloseTextDocument(fileURL: URL) async throws
@@ -310,6 +312,39 @@ extension CodeiumService: CodeiumSuggestionServiceType {
310312
))
311313
)
312314
}
315+
316+
public func openChat() async throws {
317+
if let metadata = try? await getMetadata() {
318+
let ports = try? await server?.sendRequest(
319+
CodeiumRequest.GetProcesses(requestBody: .init())
320+
)
321+
322+
if let chatClientPort = ports?.chatClientPort, let chatWebServerPort = ports?.chatWebServerPort {
323+
let webServerUrl = "ws://127.0.0.1:\(chatWebServerPort)"
324+
var components = URLComponents()
325+
components.scheme = "http"
326+
components.host = "127.0.0.1"
327+
components.port = Int(chatClientPort)
328+
components.path = "/"
329+
components.queryItems = [
330+
URLQueryItem(name: "api_key", value: metadata.api_key),
331+
URLQueryItem(name: "locale", value: "en"),
332+
URLQueryItem(name: "extension_name", value: "Copilot for XCode"),
333+
URLQueryItem(name: "extension_version", value: metadata.extension_version),
334+
URLQueryItem(name: "ide_name", value: metadata.ide_name),
335+
URLQueryItem(name: "ide_version", value: metadata.ide_version),
336+
URLQueryItem(name: "web_server_url", value: webServerUrl),
337+
]
338+
339+
if let url = components.url {
340+
// Use NSWorkspace to open the URL
341+
NSWorkspace.shared.open(url)
342+
} else {
343+
print("Failed to construct the URL")
344+
}
345+
}
346+
}
347+
}
313348

314349
public func notifyAccepted(_ suggestion: CodeSuggestion) async {
315350
_ = try? await (try setupServerIfNeeded())

0 commit comments

Comments
 (0)