From 6047203809892b45e8b6bdd6db7203ab3d5de6a6 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Wed, 24 Jun 2026 14:40:40 +0530 Subject: [PATCH 1/3] added realtime jwt support --- .../java/io/package/services/Realtime.kt.twig | 9 ++++++++- .../apple/Sources/Services/Realtime.swift.twig | 8 ++++++++ .../flutter/lib/src/realtime_browser.dart.twig | 11 +++++++++++ .../flutter/lib/src/realtime_io.dart.twig | 7 +++++++ templates/react-native/src/client.ts.twig | 10 +++++++++- .../unity/Assets/Runtime/Realtime.cs.twig | 15 ++++++++++++--- templates/web/src/client.ts.twig | 8 +++++++- templates/web/src/services/realtime.ts.twig | 18 +++++++++++++++--- 8 files changed, 77 insertions(+), 9 deletions(-) diff --git a/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig b/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig index c2301d400c..40d95ab3ea 100644 --- a/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig +++ b/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig @@ -73,7 +73,14 @@ class Realtime(client: Client) : Service(client), CoroutineScope { val encodedProject = java.net.URLEncoder.encode(client.config["project"].toString(), "UTF-8") val queryParams = "project=$encodedProject" val url = "${client.endpointRealtime}/realtime?$queryParams" - val request = Request.Builder().url(url).build() + val requestBuilder = Request.Builder().url(url) + // Native clients can set headers on the handshake, so the JWT goes in + // the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). + val jwt = client.config["jwt"] + if (!jwt.isNullOrEmpty()) { + requestBuilder.addHeader("x-{{ spec.title | caseLower }}-jwt", jwt) + } + val request = requestBuilder.build() val generation = socketGeneration.incrementAndGet() socket = client.http.newWebSocket(request, {{ spec.title | caseUcfirst }}WebSocketListener(generation)) diff --git a/templates/apple/Sources/Services/Realtime.swift.twig b/templates/apple/Sources/Services/Realtime.swift.twig index 255cd0dea3..2bb66f6262 100644 --- a/templates/apple/Sources/Services/Realtime.swift.twig +++ b/templates/apple/Sources/Services/Realtime.swift.twig @@ -135,9 +135,17 @@ open class Realtime : Service { return } + // Native clients can set headers on the handshake, so the JWT goes in + // the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). + var headers = HTTPHeaders() + if let jwt = client.config["jwt"], !jwt.isEmpty { + headers.add(name: "x-{{ spec.title | caseLower }}-jwt", value: jwt) + } + socketClient = WebSocketClient( url, tlsEnabled: !client.selfSigned, + headers: headers, delegate: self ) diff --git a/templates/flutter/lib/src/realtime_browser.dart.twig b/templates/flutter/lib/src/realtime_browser.dart.twig index 3563e7d983..a6341ba576 100644 --- a/templates/flutter/lib/src/realtime_browser.dart.twig +++ b/templates/flutter/lib/src/realtime_browser.dart.twig @@ -22,6 +22,17 @@ class RealtimeBrowser extends RealtimeBase with RealtimeMixin { Future _getWebSocket(Uri uri) async { await (client as ClientBrowser).init(); + + // Browsers cannot set headers on the WebSocket handshake, so the JWT + // travels in the `jwt` query string instead (the server accepts both). + final jwt = client.config['jwt']; + if (jwt != null && jwt.isNotEmpty) { + uri = uri.replace(queryParameters: { + ...uri.queryParameters, + 'jwt': jwt, + }); + } + return HtmlWebSocketChannel.connect(uri); } diff --git a/templates/flutter/lib/src/realtime_io.dart.twig b/templates/flutter/lib/src/realtime_io.dart.twig index e8cd2ebb3d..68597cda26 100644 --- a/templates/flutter/lib/src/realtime_io.dart.twig +++ b/templates/flutter/lib/src/realtime_io.dart.twig @@ -32,6 +32,13 @@ class RealtimeIO extends RealtimeBase with RealtimeMixin { final cookies = await (client as ClientIO).cookieJar.loadForRequest(uri); headers = {HttpHeaders.cookieHeader: CookieManager.getCookies(cookies)}; + // Native clients can set headers on the handshake, so the JWT goes in the + // `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). + final jwt = client.config['jwt']; + if (jwt != null && jwt.isNotEmpty) { + headers['x-{{ spec.title | caseLower }}-jwt'] = jwt; + } + final websok = IOWebSocketChannel((client as ClientIO).selfSigned ? await _connectForSelfSignedCert(uri, headers) : await WebSocket.connect(uri.toString(), headers: headers)); diff --git a/templates/react-native/src/client.ts.twig b/templates/react-native/src/client.ts.twig index 5d1c60cb5b..4e77881ed7 100644 --- a/templates/react-native/src/client.ts.twig +++ b/templates/react-native/src/client.ts.twig @@ -328,6 +328,13 @@ class Client { const channels = new URLSearchParams(); channels.set('project', this.config.project); + // On web the JWT must ride in the query string (no handshake headers); + // on native it goes in the `x-{{ spec.title | caseLower }}-jwt` header below. + const jwt = this.config.jwt; + if (jwt && Platform.OS === 'web') { + channels.set('jwt', jwt); + } + const url = this.config.endpointRealtime + '/realtime?' + channels.toString(); if ( @@ -347,7 +354,8 @@ class Client { // @ts-ignore this.realtime.socket = new WebSocket(url, undefined, { headers: { - Origin: `{{ spec.title | caseLower }}-${Platform.OS}://${this.config.platform}` + Origin: `{{ spec.title | caseLower }}-${Platform.OS}://${this.config.platform}`, + ...(jwt && Platform.OS !== 'web' ? { 'x-{{ spec.title | caseLower }}-jwt': jwt } : {}) } }); this.realtime.socket.addEventListener('message', this.realtime.onMessage); diff --git a/templates/unity/Assets/Runtime/Realtime.cs.twig b/templates/unity/Assets/Runtime/Realtime.cs.twig index 64f8dcc1b5..86d92a592e 100644 --- a/templates/unity/Assets/Runtime/Realtime.cs.twig +++ b/templates/unity/Assets/Runtime/Realtime.cs.twig @@ -523,17 +523,26 @@ namespace {{ spec.title | caseUcfirst }} { var uri = PrepareUri(); Debug.Log($"[Realtime] Connecting to URI: {uri}"); - + + // Native clients can set headers on the handshake, so the JWT goes + // in the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). + var headers = new Dictionary(); + var jwt = _client.Config.GetValueOrDefault("jwt"); + if (!string.IsNullOrEmpty(jwt)) + { + headers["x-{{ spec.title | caseLower }}-jwt"] = jwt; + } + if (_webSocket == null || _webSocket.State == WebSocketState.Closed) { - _webSocket = new WebSocket(uri); + _webSocket = new WebSocket(uri, headers); _lastUrl = uri; SetupWebSocketEvents(); } else if (_lastUrl != uri && _webSocket.State != WebSocketState.Closed) { await CloseConnection(); - _webSocket = new WebSocket(uri); + _webSocket = new WebSocket(uri, headers); _lastUrl = uri; SetupWebSocketEvents(); } diff --git a/templates/web/src/client.ts.twig b/templates/web/src/client.ts.twig index 40eb362d59..07667b6fb8 100644 --- a/templates/web/src/client.ts.twig +++ b/templates/web/src/client.ts.twig @@ -564,7 +564,13 @@ class Client { const encodedProject = encodeURIComponent((this.config.project as string) ?? ''); // URL carries only the project; channels/queries are sent via subscribe message. - const queryParams = 'project=' + encodedProject; + let queryParams = 'project=' + encodedProject; + + // Browsers cannot set headers on the WebSocket handshake, so the JWT + // travels in the `jwt` query string instead (the server accepts both). + if (this.config.jwt) { + queryParams += '&jwt=' + encodeURIComponent(this.config.jwt as string); + } const url = this.config.endpointRealtime + '/realtime?' + queryParams; diff --git a/templates/web/src/services/realtime.ts.twig b/templates/web/src/services/realtime.ts.twig index 2d4514718c..a3d5b927f5 100644 --- a/templates/web/src/services/realtime.ts.twig +++ b/templates/web/src/services/realtime.ts.twig @@ -208,7 +208,16 @@ export class Realtime { } // URL carries only the project; channels/queries are sent via the subscribe message. - const queryParams = `project=${projectId}`; + let queryParams = `project=${projectId}`; + + const jwt = this.client.config.jwt; +{% if language.name != 'ReactNative' %} + // Browsers cannot set headers on the WebSocket handshake, so the JWT + // travels in the `jwt` query string instead (the server accepts both). + if (jwt) { + queryParams += `&jwt=${encodeURIComponent(jwt)}`; + } +{% endif %} const endpoint = this.client.config.endpointRealtime !== '' @@ -242,11 +251,14 @@ export class Realtime { const connectionId = ++this.connectionId; {% if language.name == 'ReactNative' %} const WebSocketCtor: any = WebSocket; + // On web the JWT must ride in the query string (no handshake headers); + // on native it goes in the `x-{{ spec.title | caseLower }}-jwt` header. const socket = (this.socket = Platform.OS === 'web' - ? new WebSocketCtor(url) + ? new WebSocketCtor(jwt ? `${url}&jwt=${encodeURIComponent(jwt)}` : url) : new WebSocketCtor(url, undefined, { headers: { - Origin: `{{ spec.title | caseLower }}-${Platform.OS}://${this.client.config.platform}` + Origin: `{{ spec.title | caseLower }}-${Platform.OS}://${this.client.config.platform}`, + ...(jwt ? { 'x-{{ spec.title | caseLower }}-jwt': jwt } : {}) } })); {% else %} From c53c20800f847ddc3d403efc5029322e29054454 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Wed, 24 Jun 2026 16:07:29 +0530 Subject: [PATCH 2/3] removed comments --- .../src/main/java/io/package/services/Realtime.kt.twig | 2 -- templates/apple/Sources/Services/Realtime.swift.twig | 2 -- templates/flutter/lib/src/realtime_browser.dart.twig | 2 -- templates/flutter/lib/src/realtime_io.dart.twig | 2 -- templates/react-native/src/client.ts.twig | 2 -- templates/unity/Assets/Runtime/Realtime.cs.twig | 2 -- templates/web/src/client.ts.twig | 2 -- templates/web/src/services/realtime.ts.twig | 4 ---- tests/sdks/apple/.build/checkouts/async-http-client | 1 + tests/sdks/apple/.build/checkouts/swift-algorithms | 1 + tests/sdks/apple/.build/checkouts/swift-asn1 | 1 + tests/sdks/apple/.build/checkouts/swift-async-algorithms | 1 + tests/sdks/apple/.build/checkouts/swift-atomics | 1 + tests/sdks/apple/.build/checkouts/swift-certificates | 1 + tests/sdks/apple/.build/checkouts/swift-collections | 1 + tests/sdks/apple/.build/checkouts/swift-crypto | 1 + tests/sdks/apple/.build/checkouts/swift-distributed-tracing | 1 + .../sdks/apple/.build/checkouts/swift-http-structured-headers | 1 + tests/sdks/apple/.build/checkouts/swift-http-types | 1 + tests/sdks/apple/.build/checkouts/swift-log | 1 + tests/sdks/apple/.build/checkouts/swift-nio | 1 + tests/sdks/apple/.build/checkouts/swift-nio-extras | 1 + tests/sdks/apple/.build/checkouts/swift-nio-http2 | 1 + tests/sdks/apple/.build/checkouts/swift-nio-ssl | 1 + .../sdks/apple/.build/checkouts/swift-nio-transport-services | 1 + tests/sdks/apple/.build/checkouts/swift-numerics | 1 + tests/sdks/apple/.build/checkouts/swift-service-context | 1 + tests/sdks/apple/.build/checkouts/swift-service-lifecycle | 1 + tests/sdks/apple/.build/checkouts/swift-system | 1 + 29 files changed, 21 insertions(+), 18 deletions(-) create mode 160000 tests/sdks/apple/.build/checkouts/async-http-client create mode 160000 tests/sdks/apple/.build/checkouts/swift-algorithms create mode 160000 tests/sdks/apple/.build/checkouts/swift-asn1 create mode 160000 tests/sdks/apple/.build/checkouts/swift-async-algorithms create mode 160000 tests/sdks/apple/.build/checkouts/swift-atomics create mode 160000 tests/sdks/apple/.build/checkouts/swift-certificates create mode 160000 tests/sdks/apple/.build/checkouts/swift-collections create mode 160000 tests/sdks/apple/.build/checkouts/swift-crypto create mode 160000 tests/sdks/apple/.build/checkouts/swift-distributed-tracing create mode 160000 tests/sdks/apple/.build/checkouts/swift-http-structured-headers create mode 160000 tests/sdks/apple/.build/checkouts/swift-http-types create mode 160000 tests/sdks/apple/.build/checkouts/swift-log create mode 160000 tests/sdks/apple/.build/checkouts/swift-nio create mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-extras create mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-http2 create mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-ssl create mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-transport-services create mode 160000 tests/sdks/apple/.build/checkouts/swift-numerics create mode 160000 tests/sdks/apple/.build/checkouts/swift-service-context create mode 160000 tests/sdks/apple/.build/checkouts/swift-service-lifecycle create mode 160000 tests/sdks/apple/.build/checkouts/swift-system diff --git a/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig b/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig index 40d95ab3ea..269c3d0403 100644 --- a/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig +++ b/templates/android/library/src/main/java/io/package/services/Realtime.kt.twig @@ -74,8 +74,6 @@ class Realtime(client: Client) : Service(client), CoroutineScope { val queryParams = "project=$encodedProject" val url = "${client.endpointRealtime}/realtime?$queryParams" val requestBuilder = Request.Builder().url(url) - // Native clients can set headers on the handshake, so the JWT goes in - // the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). val jwt = client.config["jwt"] if (!jwt.isNullOrEmpty()) { requestBuilder.addHeader("x-{{ spec.title | caseLower }}-jwt", jwt) diff --git a/templates/apple/Sources/Services/Realtime.swift.twig b/templates/apple/Sources/Services/Realtime.swift.twig index 2bb66f6262..c231bd9bbb 100644 --- a/templates/apple/Sources/Services/Realtime.swift.twig +++ b/templates/apple/Sources/Services/Realtime.swift.twig @@ -135,8 +135,6 @@ open class Realtime : Service { return } - // Native clients can set headers on the handshake, so the JWT goes in - // the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). var headers = HTTPHeaders() if let jwt = client.config["jwt"], !jwt.isEmpty { headers.add(name: "x-{{ spec.title | caseLower }}-jwt", value: jwt) diff --git a/templates/flutter/lib/src/realtime_browser.dart.twig b/templates/flutter/lib/src/realtime_browser.dart.twig index a6341ba576..a0f4193ab4 100644 --- a/templates/flutter/lib/src/realtime_browser.dart.twig +++ b/templates/flutter/lib/src/realtime_browser.dart.twig @@ -23,8 +23,6 @@ class RealtimeBrowser extends RealtimeBase with RealtimeMixin { Future _getWebSocket(Uri uri) async { await (client as ClientBrowser).init(); - // Browsers cannot set headers on the WebSocket handshake, so the JWT - // travels in the `jwt` query string instead (the server accepts both). final jwt = client.config['jwt']; if (jwt != null && jwt.isNotEmpty) { uri = uri.replace(queryParameters: { diff --git a/templates/flutter/lib/src/realtime_io.dart.twig b/templates/flutter/lib/src/realtime_io.dart.twig index 68597cda26..d45450dffc 100644 --- a/templates/flutter/lib/src/realtime_io.dart.twig +++ b/templates/flutter/lib/src/realtime_io.dart.twig @@ -32,8 +32,6 @@ class RealtimeIO extends RealtimeBase with RealtimeMixin { final cookies = await (client as ClientIO).cookieJar.loadForRequest(uri); headers = {HttpHeaders.cookieHeader: CookieManager.getCookies(cookies)}; - // Native clients can set headers on the handshake, so the JWT goes in the - // `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). final jwt = client.config['jwt']; if (jwt != null && jwt.isNotEmpty) { headers['x-{{ spec.title | caseLower }}-jwt'] = jwt; diff --git a/templates/react-native/src/client.ts.twig b/templates/react-native/src/client.ts.twig index 4e77881ed7..8ba12235ed 100644 --- a/templates/react-native/src/client.ts.twig +++ b/templates/react-native/src/client.ts.twig @@ -328,8 +328,6 @@ class Client { const channels = new URLSearchParams(); channels.set('project', this.config.project); - // On web the JWT must ride in the query string (no handshake headers); - // on native it goes in the `x-{{ spec.title | caseLower }}-jwt` header below. const jwt = this.config.jwt; if (jwt && Platform.OS === 'web') { channels.set('jwt', jwt); diff --git a/templates/unity/Assets/Runtime/Realtime.cs.twig b/templates/unity/Assets/Runtime/Realtime.cs.twig index 86d92a592e..b644d55a0a 100644 --- a/templates/unity/Assets/Runtime/Realtime.cs.twig +++ b/templates/unity/Assets/Runtime/Realtime.cs.twig @@ -524,8 +524,6 @@ namespace {{ spec.title | caseUcfirst }} var uri = PrepareUri(); Debug.Log($"[Realtime] Connecting to URI: {uri}"); - // Native clients can set headers on the handshake, so the JWT goes - // in the `x-{{ spec.title | caseLower }}-jwt` header (the server accepts both). var headers = new Dictionary(); var jwt = _client.Config.GetValueOrDefault("jwt"); if (!string.IsNullOrEmpty(jwt)) diff --git a/templates/web/src/client.ts.twig b/templates/web/src/client.ts.twig index 07667b6fb8..9744bdf3f9 100644 --- a/templates/web/src/client.ts.twig +++ b/templates/web/src/client.ts.twig @@ -566,8 +566,6 @@ class Client { // URL carries only the project; channels/queries are sent via subscribe message. let queryParams = 'project=' + encodedProject; - // Browsers cannot set headers on the WebSocket handshake, so the JWT - // travels in the `jwt` query string instead (the server accepts both). if (this.config.jwt) { queryParams += '&jwt=' + encodeURIComponent(this.config.jwt as string); } diff --git a/templates/web/src/services/realtime.ts.twig b/templates/web/src/services/realtime.ts.twig index a3d5b927f5..5dc18d8878 100644 --- a/templates/web/src/services/realtime.ts.twig +++ b/templates/web/src/services/realtime.ts.twig @@ -212,8 +212,6 @@ export class Realtime { const jwt = this.client.config.jwt; {% if language.name != 'ReactNative' %} - // Browsers cannot set headers on the WebSocket handshake, so the JWT - // travels in the `jwt` query string instead (the server accepts both). if (jwt) { queryParams += `&jwt=${encodeURIComponent(jwt)}`; } @@ -251,8 +249,6 @@ export class Realtime { const connectionId = ++this.connectionId; {% if language.name == 'ReactNative' %} const WebSocketCtor: any = WebSocket; - // On web the JWT must ride in the query string (no handshake headers); - // on native it goes in the `x-{{ spec.title | caseLower }}-jwt` header. const socket = (this.socket = Platform.OS === 'web' ? new WebSocketCtor(jwt ? `${url}&jwt=${encodeURIComponent(jwt)}` : url) : new WebSocketCtor(url, undefined, { diff --git a/tests/sdks/apple/.build/checkouts/async-http-client b/tests/sdks/apple/.build/checkouts/async-http-client new file mode 160000 index 0000000000..3a5b74a587 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/async-http-client @@ -0,0 +1 @@ +Subproject commit 3a5b74a58782c3b4c1f0bc75e9b67b10c2494e8f diff --git a/tests/sdks/apple/.build/checkouts/swift-algorithms b/tests/sdks/apple/.build/checkouts/swift-algorithms new file mode 160000 index 0000000000..87e50f483c --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-algorithms @@ -0,0 +1 @@ +Subproject commit 87e50f483c54e6efd60e885f7f5aa946cee68023 diff --git a/tests/sdks/apple/.build/checkouts/swift-asn1 b/tests/sdks/apple/.build/checkouts/swift-asn1 new file mode 160000 index 0000000000..9f54261033 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-asn1 @@ -0,0 +1 @@ +Subproject commit 9f542610331815e29cc3821d3b6f488db8715517 diff --git a/tests/sdks/apple/.build/checkouts/swift-async-algorithms b/tests/sdks/apple/.build/checkouts/swift-async-algorithms new file mode 160000 index 0000000000..9d349bcc32 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-async-algorithms @@ -0,0 +1 @@ +Subproject commit 9d349bcc328ac3c31ce40e746b5882742a0d1272 diff --git a/tests/sdks/apple/.build/checkouts/swift-atomics b/tests/sdks/apple/.build/checkouts/swift-atomics new file mode 160000 index 0000000000..b601256eab --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-atomics @@ -0,0 +1 @@ +Subproject commit b601256eab081c0f92f059e12818ac1d4f178ff7 diff --git a/tests/sdks/apple/.build/checkouts/swift-certificates b/tests/sdks/apple/.build/checkouts/swift-certificates new file mode 160000 index 0000000000..24ccdeeeed --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-certificates @@ -0,0 +1 @@ +Subproject commit 24ccdeeeed4dfaae7955fcac9dbf5489ed4f1a25 diff --git a/tests/sdks/apple/.build/checkouts/swift-collections b/tests/sdks/apple/.build/checkouts/swift-collections new file mode 160000 index 0000000000..03cc312c2c --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-collections @@ -0,0 +1 @@ +Subproject commit 03cc312c2c933ed87abace34044a5dff7a3117c1 diff --git a/tests/sdks/apple/.build/checkouts/swift-crypto b/tests/sdks/apple/.build/checkouts/swift-crypto new file mode 160000 index 0000000000..bb4ba815da --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-crypto @@ -0,0 +1 @@ +Subproject commit bb4ba815dab96d4edc1e0b86d7b9acf9ff973a84 diff --git a/tests/sdks/apple/.build/checkouts/swift-distributed-tracing b/tests/sdks/apple/.build/checkouts/swift-distributed-tracing new file mode 160000 index 0000000000..dc40301842 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-distributed-tracing @@ -0,0 +1 @@ +Subproject commit dc4030184203ffafbb2ec614352487235d747fe0 diff --git a/tests/sdks/apple/.build/checkouts/swift-http-structured-headers b/tests/sdks/apple/.build/checkouts/swift-http-structured-headers new file mode 160000 index 0000000000..76d7627bd8 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-http-structured-headers @@ -0,0 +1 @@ +Subproject commit 76d7627bd88b47bf5a0f8497dd244885960dde0b diff --git a/tests/sdks/apple/.build/checkouts/swift-http-types b/tests/sdks/apple/.build/checkouts/swift-http-types new file mode 160000 index 0000000000..45eb022491 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-http-types @@ -0,0 +1 @@ +Subproject commit 45eb0224913ea070ec4fba17291b9e7ecf4749ca diff --git a/tests/sdks/apple/.build/checkouts/swift-log b/tests/sdks/apple/.build/checkouts/swift-log new file mode 160000 index 0000000000..8c0f217f01 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-log @@ -0,0 +1 @@ +Subproject commit 8c0f217f01000dd30f60d6e536569ad4e74291f9 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio b/tests/sdks/apple/.build/checkouts/swift-nio new file mode 160000 index 0000000000..558f24a464 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-nio @@ -0,0 +1 @@ +Subproject commit 558f24a4647193b5a0e2104031b71c55d31ff83a diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-extras b/tests/sdks/apple/.build/checkouts/swift-nio-extras new file mode 160000 index 0000000000..abcf5312eb --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-nio-extras @@ -0,0 +1 @@ +Subproject commit abcf5312eb8ed2fb11916078aef7c46b06f20813 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-http2 b/tests/sdks/apple/.build/checkouts/swift-nio-http2 new file mode 160000 index 0000000000..6d8d596f0a --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-nio-http2 @@ -0,0 +1 @@ +Subproject commit 6d8d596f0a9bfebb925733003731fe2d749b7e02 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-ssl b/tests/sdks/apple/.build/checkouts/swift-nio-ssl new file mode 160000 index 0000000000..df9c340602 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-nio-ssl @@ -0,0 +1 @@ +Subproject commit df9c3406028e3297246e6e7081977a167318b692 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-transport-services b/tests/sdks/apple/.build/checkouts/swift-nio-transport-services new file mode 160000 index 0000000000..60c3e18715 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-nio-transport-services @@ -0,0 +1 @@ +Subproject commit 60c3e187154421171721c1a38e800b390680fb5d diff --git a/tests/sdks/apple/.build/checkouts/swift-numerics b/tests/sdks/apple/.build/checkouts/swift-numerics new file mode 160000 index 0000000000..0c0290ff6b --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-numerics @@ -0,0 +1 @@ +Subproject commit 0c0290ff6b24942dadb83a929ffaaa1481df04a2 diff --git a/tests/sdks/apple/.build/checkouts/swift-service-context b/tests/sdks/apple/.build/checkouts/swift-service-context new file mode 160000 index 0000000000..d0997351b0 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-service-context @@ -0,0 +1 @@ +Subproject commit d0997351b0c7779017f88e7a93bc30a1878d7f29 diff --git a/tests/sdks/apple/.build/checkouts/swift-service-lifecycle b/tests/sdks/apple/.build/checkouts/swift-service-lifecycle new file mode 160000 index 0000000000..9829955b38 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-service-lifecycle @@ -0,0 +1 @@ +Subproject commit 9829955b385e5bb88128b73f1b8389e9b9c3191a diff --git a/tests/sdks/apple/.build/checkouts/swift-system b/tests/sdks/apple/.build/checkouts/swift-system new file mode 160000 index 0000000000..7c6ad0fc39 --- /dev/null +++ b/tests/sdks/apple/.build/checkouts/swift-system @@ -0,0 +1 @@ +Subproject commit 7c6ad0fc39d0763e0b699210e4124afd5041c5df From c96b0024f228df6ef78e864a2967aca89858620c Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Wed, 24 Jun 2026 16:10:39 +0530 Subject: [PATCH 3/3] removed comments --- tests/sdks/apple/.build/checkouts/async-http-client | 1 - tests/sdks/apple/.build/checkouts/swift-algorithms | 1 - tests/sdks/apple/.build/checkouts/swift-asn1 | 1 - tests/sdks/apple/.build/checkouts/swift-async-algorithms | 1 - tests/sdks/apple/.build/checkouts/swift-atomics | 1 - tests/sdks/apple/.build/checkouts/swift-certificates | 1 - tests/sdks/apple/.build/checkouts/swift-collections | 1 - tests/sdks/apple/.build/checkouts/swift-crypto | 1 - tests/sdks/apple/.build/checkouts/swift-distributed-tracing | 1 - tests/sdks/apple/.build/checkouts/swift-http-structured-headers | 1 - tests/sdks/apple/.build/checkouts/swift-http-types | 1 - tests/sdks/apple/.build/checkouts/swift-log | 1 - tests/sdks/apple/.build/checkouts/swift-nio | 1 - tests/sdks/apple/.build/checkouts/swift-nio-extras | 1 - tests/sdks/apple/.build/checkouts/swift-nio-http2 | 1 - tests/sdks/apple/.build/checkouts/swift-nio-ssl | 1 - tests/sdks/apple/.build/checkouts/swift-nio-transport-services | 1 - tests/sdks/apple/.build/checkouts/swift-numerics | 1 - tests/sdks/apple/.build/checkouts/swift-service-context | 1 - tests/sdks/apple/.build/checkouts/swift-service-lifecycle | 1 - tests/sdks/apple/.build/checkouts/swift-system | 1 - 21 files changed, 21 deletions(-) delete mode 160000 tests/sdks/apple/.build/checkouts/async-http-client delete mode 160000 tests/sdks/apple/.build/checkouts/swift-algorithms delete mode 160000 tests/sdks/apple/.build/checkouts/swift-asn1 delete mode 160000 tests/sdks/apple/.build/checkouts/swift-async-algorithms delete mode 160000 tests/sdks/apple/.build/checkouts/swift-atomics delete mode 160000 tests/sdks/apple/.build/checkouts/swift-certificates delete mode 160000 tests/sdks/apple/.build/checkouts/swift-collections delete mode 160000 tests/sdks/apple/.build/checkouts/swift-crypto delete mode 160000 tests/sdks/apple/.build/checkouts/swift-distributed-tracing delete mode 160000 tests/sdks/apple/.build/checkouts/swift-http-structured-headers delete mode 160000 tests/sdks/apple/.build/checkouts/swift-http-types delete mode 160000 tests/sdks/apple/.build/checkouts/swift-log delete mode 160000 tests/sdks/apple/.build/checkouts/swift-nio delete mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-extras delete mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-http2 delete mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-ssl delete mode 160000 tests/sdks/apple/.build/checkouts/swift-nio-transport-services delete mode 160000 tests/sdks/apple/.build/checkouts/swift-numerics delete mode 160000 tests/sdks/apple/.build/checkouts/swift-service-context delete mode 160000 tests/sdks/apple/.build/checkouts/swift-service-lifecycle delete mode 160000 tests/sdks/apple/.build/checkouts/swift-system diff --git a/tests/sdks/apple/.build/checkouts/async-http-client b/tests/sdks/apple/.build/checkouts/async-http-client deleted file mode 160000 index 3a5b74a587..0000000000 --- a/tests/sdks/apple/.build/checkouts/async-http-client +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3a5b74a58782c3b4c1f0bc75e9b67b10c2494e8f diff --git a/tests/sdks/apple/.build/checkouts/swift-algorithms b/tests/sdks/apple/.build/checkouts/swift-algorithms deleted file mode 160000 index 87e50f483c..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-algorithms +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 87e50f483c54e6efd60e885f7f5aa946cee68023 diff --git a/tests/sdks/apple/.build/checkouts/swift-asn1 b/tests/sdks/apple/.build/checkouts/swift-asn1 deleted file mode 160000 index 9f54261033..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-asn1 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9f542610331815e29cc3821d3b6f488db8715517 diff --git a/tests/sdks/apple/.build/checkouts/swift-async-algorithms b/tests/sdks/apple/.build/checkouts/swift-async-algorithms deleted file mode 160000 index 9d349bcc32..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-async-algorithms +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9d349bcc328ac3c31ce40e746b5882742a0d1272 diff --git a/tests/sdks/apple/.build/checkouts/swift-atomics b/tests/sdks/apple/.build/checkouts/swift-atomics deleted file mode 160000 index b601256eab..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-atomics +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b601256eab081c0f92f059e12818ac1d4f178ff7 diff --git a/tests/sdks/apple/.build/checkouts/swift-certificates b/tests/sdks/apple/.build/checkouts/swift-certificates deleted file mode 160000 index 24ccdeeeed..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-certificates +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 24ccdeeeed4dfaae7955fcac9dbf5489ed4f1a25 diff --git a/tests/sdks/apple/.build/checkouts/swift-collections b/tests/sdks/apple/.build/checkouts/swift-collections deleted file mode 160000 index 03cc312c2c..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-collections +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 03cc312c2c933ed87abace34044a5dff7a3117c1 diff --git a/tests/sdks/apple/.build/checkouts/swift-crypto b/tests/sdks/apple/.build/checkouts/swift-crypto deleted file mode 160000 index bb4ba815da..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-crypto +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bb4ba815dab96d4edc1e0b86d7b9acf9ff973a84 diff --git a/tests/sdks/apple/.build/checkouts/swift-distributed-tracing b/tests/sdks/apple/.build/checkouts/swift-distributed-tracing deleted file mode 160000 index dc40301842..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-distributed-tracing +++ /dev/null @@ -1 +0,0 @@ -Subproject commit dc4030184203ffafbb2ec614352487235d747fe0 diff --git a/tests/sdks/apple/.build/checkouts/swift-http-structured-headers b/tests/sdks/apple/.build/checkouts/swift-http-structured-headers deleted file mode 160000 index 76d7627bd8..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-http-structured-headers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 76d7627bd88b47bf5a0f8497dd244885960dde0b diff --git a/tests/sdks/apple/.build/checkouts/swift-http-types b/tests/sdks/apple/.build/checkouts/swift-http-types deleted file mode 160000 index 45eb022491..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-http-types +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 45eb0224913ea070ec4fba17291b9e7ecf4749ca diff --git a/tests/sdks/apple/.build/checkouts/swift-log b/tests/sdks/apple/.build/checkouts/swift-log deleted file mode 160000 index 8c0f217f01..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-log +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8c0f217f01000dd30f60d6e536569ad4e74291f9 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio b/tests/sdks/apple/.build/checkouts/swift-nio deleted file mode 160000 index 558f24a464..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-nio +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 558f24a4647193b5a0e2104031b71c55d31ff83a diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-extras b/tests/sdks/apple/.build/checkouts/swift-nio-extras deleted file mode 160000 index abcf5312eb..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-nio-extras +++ /dev/null @@ -1 +0,0 @@ -Subproject commit abcf5312eb8ed2fb11916078aef7c46b06f20813 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-http2 b/tests/sdks/apple/.build/checkouts/swift-nio-http2 deleted file mode 160000 index 6d8d596f0a..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-nio-http2 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6d8d596f0a9bfebb925733003731fe2d749b7e02 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-ssl b/tests/sdks/apple/.build/checkouts/swift-nio-ssl deleted file mode 160000 index df9c340602..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-nio-ssl +++ /dev/null @@ -1 +0,0 @@ -Subproject commit df9c3406028e3297246e6e7081977a167318b692 diff --git a/tests/sdks/apple/.build/checkouts/swift-nio-transport-services b/tests/sdks/apple/.build/checkouts/swift-nio-transport-services deleted file mode 160000 index 60c3e18715..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-nio-transport-services +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 60c3e187154421171721c1a38e800b390680fb5d diff --git a/tests/sdks/apple/.build/checkouts/swift-numerics b/tests/sdks/apple/.build/checkouts/swift-numerics deleted file mode 160000 index 0c0290ff6b..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-numerics +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0c0290ff6b24942dadb83a929ffaaa1481df04a2 diff --git a/tests/sdks/apple/.build/checkouts/swift-service-context b/tests/sdks/apple/.build/checkouts/swift-service-context deleted file mode 160000 index d0997351b0..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-service-context +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d0997351b0c7779017f88e7a93bc30a1878d7f29 diff --git a/tests/sdks/apple/.build/checkouts/swift-service-lifecycle b/tests/sdks/apple/.build/checkouts/swift-service-lifecycle deleted file mode 160000 index 9829955b38..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-service-lifecycle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9829955b385e5bb88128b73f1b8389e9b9c3191a diff --git a/tests/sdks/apple/.build/checkouts/swift-system b/tests/sdks/apple/.build/checkouts/swift-system deleted file mode 160000 index 7c6ad0fc39..0000000000 --- a/tests/sdks/apple/.build/checkouts/swift-system +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7c6ad0fc39d0763e0b699210e4124afd5041c5df