-
Notifications
You must be signed in to change notification settings - Fork 730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebSocket Fixes - Revert to Starscream 3.x and invert dependency #1861
Changes from all commits
45ddf21
0992db9
8d0a86d
59bd0aa
476a882
0f69c9d
a2f18bf
ee680f3
f7345de
6bfb260
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -92,9 +92,8 @@ | |
9B7BDA9C23FDE94C00ACD198 /* WebSocketTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9523FDE94C00ACD198 /* WebSocketTask.swift */; }; | ||
9B7BDA9D23FDE94C00ACD198 /* SplitNetworkTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9623FDE94C00ACD198 /* SplitNetworkTransport.swift */; }; | ||
9B7BDA9E23FDE94C00ACD198 /* OperationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9723FDE94C00ACD198 /* OperationMessage.swift */; }; | ||
9B7BDA9F23FDE94C00ACD198 /* ApolloWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9823FDE94C00ACD198 /* ApolloWebSocket.swift */; }; | ||
9B7BDA9F23FDE94C00ACD198 /* WebSocketClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9823FDE94C00ACD198 /* WebSocketClient.swift */; }; | ||
9B7BDAA023FDE94C00ACD198 /* WebSocketTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDA9923FDE94C00ACD198 /* WebSocketTransport.swift */; }; | ||
9B7BDAAC23FDEA7B00ACD198 /* Starscream in Frameworks */ = {isa = PBXBuildFile; productRef = 9B7BDAAB23FDEA7B00ACD198 /* Starscream */; }; | ||
9B7BDAD023FDEBE300ACD198 /* SQLiteSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDACD23FDEBE300ACD198 /* SQLiteSerialization.swift */; }; | ||
9B7BDAD223FDEBE300ACD198 /* SQLiteNormalizedCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7BDACF23FDEBE300ACD198 /* SQLiteNormalizedCache.swift */; }; | ||
9B7BDAF623FDEE2600ACD198 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = 9B7BDAF523FDEE2600ACD198 /* SQLite */; }; | ||
|
@@ -244,6 +243,7 @@ | |
DE0586362669957800265760 /* CacheReference.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE664ED92666DF150054DB4F /* CacheReference.swift */; }; | ||
DE0586372669958F00265760 /* GraphQLError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FC9A9D21E2FD48B0023C4D5 /* GraphQLError.swift */; }; | ||
DE0586392669985000265760 /* Dictionary+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE0586382669985000265760 /* Dictionary+Helpers.swift */; }; | ||
DE3A2816268BCE6700A1BDC8 /* Starscream in Frameworks */ = {isa = PBXBuildFile; productRef = DE3A2815268BCE6700A1BDC8 /* Starscream */; }; | ||
DE3C7974260A646300D2F4FF /* dist in Resources */ = {isa = PBXBuildFile; fileRef = DE3C7973260A646300D2F4FF /* dist */; }; | ||
DE3C7A94260A6C1000D2F4FF /* ApolloUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B68353E2463481A00337AE6 /* ApolloUtils.framework */; }; | ||
DE3C7A95260A6C1000D2F4FF /* ApolloUtils.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9B68353E2463481A00337AE6 /* ApolloUtils.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; | ||
|
@@ -256,6 +256,7 @@ | |
DE6B156A261505660068D642 /* GraphQLMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6B154A261505450068D642 /* GraphQLMap.swift */; }; | ||
DE6B15AF26152BE10068D642 /* DefaultInterceptorProviderIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6B15AE26152BE10068D642 /* DefaultInterceptorProviderIntegrationTests.swift */; }; | ||
DE6B15B126152BE10068D642 /* Apollo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FC750441D2A532C00458D91 /* Apollo.framework */; }; | ||
DE8C84F5268BC42100C54D02 /* DefaultWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE8C84F4268BC42100C54D02 /* DefaultWebSocket.swift */; }; | ||
DECD46D0262F64D000924527 /* StarWarsApolloSchemaDownloaderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DECD46CF262F64D000924527 /* StarWarsApolloSchemaDownloaderTests.swift */; }; | ||
DECD46FB262F659500924527 /* ApolloCodegenLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B7B6F47233C26D100F32205 /* ApolloCodegenLib.framework */; }; | ||
DECD4736262F668500924527 /* UploadAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B2DFBB624E1FA0D00ED3AE6 /* UploadAPI.framework */; }; | ||
|
@@ -699,7 +700,7 @@ | |
9B7BDA9523FDE94C00ACD198 /* WebSocketTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketTask.swift; sourceTree = "<group>"; }; | ||
9B7BDA9623FDE94C00ACD198 /* SplitNetworkTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SplitNetworkTransport.swift; sourceTree = "<group>"; }; | ||
9B7BDA9723FDE94C00ACD198 /* OperationMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OperationMessage.swift; sourceTree = "<group>"; }; | ||
9B7BDA9823FDE94C00ACD198 /* ApolloWebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApolloWebSocket.swift; sourceTree = "<group>"; }; | ||
9B7BDA9823FDE94C00ACD198 /* WebSocketClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketClient.swift; sourceTree = "<group>"; }; | ||
9B7BDA9923FDE94C00ACD198 /* WebSocketTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketTransport.swift; sourceTree = "<group>"; }; | ||
9B7BDA9A23FDE94C00ACD198 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||
9B7BDAA323FDE98C00ACD198 /* ApolloWebSocket-Project-Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "ApolloWebSocket-Project-Release.xcconfig"; sourceTree = "<group>"; }; | ||
|
@@ -912,6 +913,7 @@ | |
DE6B160B26152D210068D642 /* Project-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Project-Debug.xcconfig"; sourceTree = "<group>"; }; | ||
DE6B160C26152D210068D642 /* Workspace-Packaging.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Workspace-Packaging.xcconfig"; sourceTree = "<group>"; }; | ||
DE6B160D26152D210068D642 /* Workspace-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Workspace-Shared.xcconfig"; sourceTree = "<group>"; }; | ||
DE8C84F4268BC42100C54D02 /* DefaultWebSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultWebSocket.swift; sourceTree = "<group>"; }; | ||
DEA34AF6260E821F00F95F86 /* Apollo-Target-AnimalKingdomAPI.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Apollo-Target-AnimalKingdomAPI.xcconfig"; sourceTree = "<group>"; }; | ||
DECD46CF262F64D000924527 /* StarWarsApolloSchemaDownloaderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StarWarsApolloSchemaDownloaderTests.swift; sourceTree = "<group>"; }; | ||
DECD490B262F81BF00924527 /* ApolloCodegenTestSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ApolloCodegenTestSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; | ||
|
@@ -965,7 +967,7 @@ | |
buildActionMask = 2147483647; | ||
files = ( | ||
9B7BDAFD23FDEE9300ACD198 /* Apollo.framework in Frameworks */, | ||
9B7BDAAC23FDEA7B00ACD198 /* Starscream in Frameworks */, | ||
DE3A2816268BCE6700A1BDC8 /* Starscream in Frameworks */, | ||
); | ||
runOnlyForDeploymentPostprocessing = 0; | ||
}; | ||
|
@@ -1382,7 +1384,8 @@ | |
9B7BDA9323FDE94C00ACD198 /* ApolloWebSocket */ = { | ||
isa = PBXGroup; | ||
children = ( | ||
9B7BDA9823FDE94C00ACD198 /* ApolloWebSocket.swift */, | ||
9B7BDA9823FDE94C00ACD198 /* WebSocketClient.swift */, | ||
DE8C84F4268BC42100C54D02 /* DefaultWebSocket.swift */, | ||
9B7BDA9723FDE94C00ACD198 /* OperationMessage.swift */, | ||
9B7BDA9623FDE94C00ACD198 /* SplitNetworkTransport.swift */, | ||
9B7BDA9423FDE94C00ACD198 /* WebSocketError.swift */, | ||
|
@@ -2182,7 +2185,7 @@ | |
); | ||
name = ApolloWebSocket; | ||
packageProductDependencies = ( | ||
9B7BDAAB23FDEA7B00ACD198 /* Starscream */, | ||
DE3A2815268BCE6700A1BDC8 /* Starscream */, | ||
); | ||
productName = ApolloWebSocket; | ||
productReference = 9B7BDA7D23FDE90400ACD198 /* ApolloWebSocket.framework */; | ||
|
@@ -2312,6 +2315,7 @@ | |
); | ||
name = Apollo; | ||
packageProductDependencies = ( | ||
DE8C84F3268BBF8000C54D02 /* Starscream */, | ||
); | ||
productName = Apollo; | ||
productReference = 9FC750441D2A532C00458D91 /* Apollo.framework */; | ||
|
@@ -2518,10 +2522,10 @@ | |
); | ||
mainGroup = 9FC7503A1D2A532C00458D91; | ||
packageReferences = ( | ||
9B7BDAAA23FDEA7B00ACD198 /* XCRemoteSwiftPackageReference "Starscream" */, | ||
9B7BDAF423FDEE2600ACD198 /* XCRemoteSwiftPackageReference "SQLite.swift" */, | ||
9B68F04B2413239100E97318 /* XCRemoteSwiftPackageReference "Stencil" */, | ||
9B47515B2575AA4A0001FB87 /* XCRemoteSwiftPackageReference "InflectorKit" */, | ||
DE8C84F2268BBF8000C54D02 /* XCRemoteSwiftPackageReference "Starscream" */, | ||
); | ||
productRefGroup = 9FC750451D2A532C00458D91 /* Products */; | ||
projectDirPath = ""; | ||
|
@@ -2786,9 +2790,10 @@ | |
isa = PBXSourcesBuildPhase; | ||
buildActionMask = 2147483647; | ||
files = ( | ||
9B7BDA9F23FDE94C00ACD198 /* ApolloWebSocket.swift in Sources */, | ||
9B7BDA9F23FDE94C00ACD198 /* WebSocketClient.swift in Sources */, | ||
9B7BDAA023FDE94C00ACD198 /* WebSocketTransport.swift in Sources */, | ||
9B7BDA9C23FDE94C00ACD198 /* WebSocketTask.swift in Sources */, | ||
DE8C84F5268BC42100C54D02 /* DefaultWebSocket.swift in Sources */, | ||
9B7BDA9B23FDE94C00ACD198 /* WebSocketError.swift in Sources */, | ||
9B7BDA9D23FDE94C00ACD198 /* SplitNetworkTransport.swift in Sources */, | ||
9B7BDA9E23FDE94C00ACD198 /* OperationMessage.swift in Sources */, | ||
|
@@ -3807,7 +3812,7 @@ | |
repositoryURL = "https://github.com/daltoniam/Starscream.git"; | ||
requirement = { | ||
kind = upToNextMinorVersion; | ||
minimumVersion = 4.0.4; | ||
minimumVersion = 3.1.1; | ||
}; | ||
}; | ||
9B7BDAF423FDEE2600ACD198 /* XCRemoteSwiftPackageReference "SQLite.swift" */ = { | ||
|
@@ -3818,6 +3823,14 @@ | |
minimumVersion = 0.12.2; | ||
}; | ||
}; | ||
DE8C84F2268BBF8000C54D02 /* XCRemoteSwiftPackageReference "Starscream" */ = { | ||
isa = XCRemoteSwiftPackageReference; | ||
repositoryURL = "https://github.com/apollographql/Starscream.git"; | ||
requirement = { | ||
kind = upToNextMinorVersion; | ||
minimumVersion = 3.1.2; | ||
}; | ||
}; | ||
/* End XCRemoteSwiftPackageReference section */ | ||
|
||
/* Begin XCSwiftPackageProductDependency section */ | ||
|
@@ -3831,11 +3844,6 @@ | |
package = 9B68F04B2413239100E97318 /* XCRemoteSwiftPackageReference "Stencil" */; | ||
productName = Stencil; | ||
}; | ||
9B7BDAAB23FDEA7B00ACD198 /* Starscream */ = { | ||
isa = XCSwiftPackageProductDependency; | ||
package = 9B7BDAAA23FDEA7B00ACD198 /* XCRemoteSwiftPackageReference "Starscream" */; | ||
productName = Starscream; | ||
}; | ||
9B7BDAF523FDEE2600ACD198 /* SQLite */ = { | ||
isa = XCSwiftPackageProductDependency; | ||
package = 9B7BDAF423FDEE2600ACD198 /* XCRemoteSwiftPackageReference "SQLite.swift" */; | ||
|
@@ -3851,6 +3859,16 @@ | |
package = 9B7BDAF423FDEE2600ACD198 /* XCRemoteSwiftPackageReference "SQLite.swift" */; | ||
productName = SQLite; | ||
}; | ||
DE3A2815268BCE6700A1BDC8 /* Starscream */ = { | ||
isa = XCSwiftPackageProductDependency; | ||
package = DE8C84F2268BBF8000C54D02 /* XCRemoteSwiftPackageReference "Starscream" */; | ||
productName = Starscream; | ||
}; | ||
DE8C84F3268BBF8000C54D02 /* Starscream */ = { | ||
isa = XCSwiftPackageProductDependency; | ||
package = DE8C84F2268BBF8000C54D02 /* XCRemoteSwiftPackageReference "Starscream" */; | ||
productName = Starscream; | ||
}; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. also not clear on why this has been added like three times There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not clear on that either... XCProject files still have some weird bugs with their SPM integrations sometimes. I'm not too worried about it though. Not sure if there is anything we can do to fix that... |
||
DECD4870262F7A6E00924527 /* InflectorKit */ = { | ||
isa = XCSwiftPackageProductDependency; | ||
package = 9B47515B2575AA4A0001FB87 /* XCRemoteSwiftPackageReference "InflectorKit" */; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,8 +24,8 @@ | |
"repositoryURL": "https://github.com/kylef/Spectre.git", | ||
"state": { | ||
"branch": null, | ||
"revision": "f14ff47f45642aa5703900980b014c2e9394b6e5", | ||
"version": "0.9.0" | ||
"revision": "f79d4ecbf8bc4e1579fbd86c3e1d652fb6876c53", | ||
"version": "0.9.2" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I generally don't think we should be pulling other dependency updates into focused PRs. If we ever wanted to revert this PR it ends up affecting other things too. I'm not requiring a change, will approve |
||
} | ||
}, | ||
{ | ||
|
@@ -39,20 +39,20 @@ | |
}, | ||
{ | ||
"package": "Starscream", | ||
"repositoryURL": "https://github.com/daltoniam/Starscream", | ||
"repositoryURL": "https://github.com/apollographql/Starscream", | ||
"state": { | ||
"branch": null, | ||
"revision": "df8d82047f6654d8e4b655d1b1525c64e1059d21", | ||
"version": "4.0.4" | ||
"revision": "8cf77babe5901693396436f4f418a6db0f328b78", | ||
"version": "3.1.2" | ||
} | ||
}, | ||
{ | ||
"package": "Stencil", | ||
"repositoryURL": "https://github.com/stencilproject/Stencil.git", | ||
"state": { | ||
"branch": null, | ||
"revision": "94197b3adbbf926348ad8765476a158aa4e54f8a", | ||
"version": "0.14.0" | ||
"revision": "973e190edf5d09274e4a6bc2e636c86899ed84c3", | ||
"version": "0.14.1" | ||
} | ||
} | ||
] | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1,35 @@ | ||
import Starscream | ||
import Foundation | ||
@testable import ApolloWebSocket | ||
|
||
public class MockWebSocket: ApolloWebSocketClient { | ||
public class MockWebSocket: WebSocketClient { | ||
|
||
public var callbackQueue: DispatchQueue = DispatchQueue.main | ||
|
||
// A dummy web socket since we can't just return the client | ||
var webSocketForDelegate: WebSocket | ||
public var request: URLRequest | ||
public var callbackQueue: DispatchQueue = DispatchQueue.main | ||
public var delegate: WebSocketClientDelegate? = nil | ||
public var isConnected: Bool = false | ||
|
||
public required init(request: URLRequest, | ||
certPinner: CertificatePinning? = FoundationSecurity(), | ||
compressionHandler: CompressionHandler? = nil) { | ||
self.webSocketForDelegate = WebSocket(request: request) | ||
public required init(request: URLRequest) { | ||
self.request = request | ||
} | ||
|
||
public init(request: URLRequest) { | ||
self.request = request | ||
self.webSocketForDelegate = WebSocket(request: request) | ||
} | ||
|
||
open func reportDidConnect() { | ||
callbackQueue.async { | ||
self.delegate?.didReceive(event: .connected([:]), client: self.webSocketForDelegate) | ||
self.delegate?.websocketDidConnect(socket: self) | ||
} | ||
} | ||
|
||
open func write(string: String, completion: (() -> ())?) { | ||
open func write(string: String) { | ||
callbackQueue.async { | ||
self.delegate?.didReceive(event: .text(string), client: self.webSocketForDelegate) | ||
self.delegate?.websocketDidReceiveMessage(socket: self, text: string) | ||
} | ||
} | ||
|
||
open func write(stringData: Data, completion: (() -> ())?) { | ||
} | ||
|
||
open func write(data: Data, completion: (() -> ())?) { | ||
} | ||
|
||
open func write(ping: Data, completion: (() -> ())?) { | ||
} | ||
|
||
open func write(pong: Data, completion: (() -> ())?) { | ||
} | ||
|
||
public func disconnect(closeCode: UInt16) { | ||
|
||
public func disconnect() { | ||
} | ||
|
||
public var delegate: WebSocketDelegate? = nil | ||
public var isConnected: Bool = false | ||
|
||
public func connect() { | ||
} | ||
} |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like there's some kind of reference to the main Starscream repo floating around in here