GithubHelp home page GithubHelp logo

Comments (11)

BraveEvidence avatar BraveEvidence commented on May 18, 2024 1

@calvincestari Thank you for all the help

from apollo-ios.

calvincestari avatar calvincestari commented on May 18, 2024

Hi @BraveEvidence - try using the ws protocol instead of wss for the websocket server address. It's unlikely your local host is serving WebSocket Secure which would be like using https locally.

from apollo-ios.

BraveEvidence avatar BraveEvidence commented on May 18, 2024

Thank you @calvincestari for your reply. I tried changing the protocol to ws and now I get error saying "The operation couldn’t be completed. (ApolloWebSocket.WebSocket.WSError error 1.)"

Any suggestions

from apollo-ios.

calvincestari avatar calvincestari commented on May 18, 2024

Check that you're using the correct GraphQL WebSocket subprotocol for your server.

from apollo-ios.

BraveEvidence avatar BraveEvidence commented on May 18, 2024

@calvincestari I am using graphql-ws protocol. The subscriptions works fine on Android with Apollo Kotlin

from apollo-ios.

calvincestari avatar calvincestari commented on May 18, 2024

You still need to make sure you're selecting the correct protocol when initializing the websocket. If you're already doing that then you'll need to do some more debugging on your side to determine what else could be wrong; is there anything else in the logs besides the WSError?

from apollo-ios.

BraveEvidence avatar BraveEvidence commented on May 18, 2024

No other logs

from apollo-ios.

calvincestari avatar calvincestari commented on May 18, 2024

If you can replicate this in a sample client then I can try with a websocket service locally to see if anything else if incorrect in the client. It's difficult to debug from that single error response.

from apollo-ios.

BraveEvidence avatar BraveEvidence commented on May 18, 2024

Can you check my sample repo over here

from apollo-ios.

calvincestari avatar calvincestari commented on May 18, 2024

I just took a look at the project now and I think you are using the wrong websocket subprotocol. In the Network.swift file you're using the .graphql_ws protocol. Note that the initializer requires you to specify the name of the subprotocol and not the name of the library.

I am using graphql-ws protocol. The subscriptions works fine on Android with Apollo Kotlin

graphql-ws is the name of the library but the protocol that it uses is graphql-transport-ws. You can see this in the first line of the Communication heading in that protocol document you linked to.

The WebSocket sub-protocol for this specification is: graphql-transport-ws.

This is confusing because the two packages have terrible library names that are too similar to the subprotocol names. The WSProtocol enum in the Apollo iOS documentation has details about which is supported by which library.

Change the subprotocol in the Network.swift file to .graphql_transport_ws and I think it should work for you.

from apollo-ios.

github-actions avatar github-actions commented on May 18, 2024

Do you have any feedback for the maintainers? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo iOS usage and allow us to serve you better.

from apollo-ios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.