Skip to content
This repository has been archived by the owner on Jun 13, 2023. It is now read-only.

No errors, no results #28

Closed
talkaboutdesign opened this issue Apr 12, 2016 · 8 comments
Closed

No errors, no results #28

talkaboutdesign opened this issue Apr 12, 2016 · 8 comments

Comments

@talkaboutdesign
Copy link

I have been banging my head against the table trying to get Parse live working. But no matter what I do I can't get it to work. Mind you there are no connection errors. Here is a simple file.

class ViewController: UIViewController {

    var liveQueryClient: ParseLiveQuery.Client?
    private var subscription: Subscription<Beacon>?

    var beaconQuery: PFQuery {
        return (Beacon.query()?.whereKey("beaconName", equalTo: "beacon5"))!
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        liveQueryClient = ParseLiveQuery.Client(server: "URLISHERE")

        subscription = liveQueryClient!
            .subscribe(beaconQuery)
            .handle(Event.Updated) { _, message in
                print("It Works....")
        }

    }

}

Any help would be wonderful.

@Kenishi
Copy link

Kenishi commented Apr 16, 2016

Are you using a proxy in front of your Parse server, such as Nginx?

@yz
Copy link

yz commented May 10, 2016

@Kenishi Yes, we are having similar issue, using Nginx and SSL with a reverse proxy with non root location. Any suggestion on the issue?

@Kenishi
Copy link

Kenishi commented May 10, 2016

Be sure to you have Nginx setup to Upgrade the connection or the Web Socket protocol will never be able to fully connect.

See here: https://www.nginx.com/blog/websocket-nginx/

@yz
Copy link

yz commented May 10, 2016

@Kenishi Thanks for the pointer, we have the following nginx config and it is still not working.

location /app/ {
      proxy_pass http://NodeServers;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
      proxy_read_timeout 86400;
    }

@Kenishi
Copy link

Kenishi commented May 10, 2016

Hmm. The Nginx settings fixed all the problems I had. If you are connecting to Parse through mobile SDKs, then it might be worth it to try doing it through the JS SDK and see what errors it puts out since the iOS SDK wasn't very verbose on that sort of thing. Also, there is a way to turn on debugging for LiveQuery on the server which can show if its getting connections or not. Are your Nginx logs showing that its working fine? Its been a bit over a month since I had this problem but I seem to recall that Nginx was showing it was routing fine with a code 200 but nothing after that. Also I'm assuming if you try to visit the /parse api endpoint via browser you should be getting a {error:unauthorized} correct?

@yz
Copy link

yz commented May 10, 2016

Thanks for the tips on troubleshooting. Yes to the {error:unauthorized} via browser but our end point is /app. Here is what part of the output when turn on the verbose log, status 201 for adding the message which is good. However, the last line location value seems to be wrong (without the endpoint and without the https) and could be the reason why live query is not triggered. our location value in nginx is /app/

Result in the parse-server console.

verbose: {
"status": 201,
"response": {
"objectId": "1Iusu3wtWC",
"createdAt": "2016-05-10T23:28:42.830Z"
},
"location": "http://api.myserver.com/classes/Message/1Iusu3wtWC"
}

@Kenishi
Copy link

Kenishi commented May 11, 2016

Actually it looks like you found your problem in #33 . 👍 Its the /LQ issue.

(The pod will still have the old /LQ path, so you'll probably have to pull from the master)

@yz
Copy link

yz commented May 12, 2016

@Kenishi The /LQ did resolved one of our earlier issue with establishing the ws connection/handshake. The problem we are still having is that now that the ws connection seem to be established, the LiveQuery are still not being triggered/not being routed correct. We feel the issue might still be at the reverse proxy side. Do you have an example of the nginx config that you can share? BTW, we are using SSL.

We also tried the echo test for the ws.
http://www.websocket.org/echo.html

The connection works, but as soon as sending a message, it automatic disconnects. Any thoughts on this?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants