delight-im / Android-DDP

[UNMAINTAINED] Meteor's Distributed Data Protocol (DDP) for clients on Android
Apache License 2.0
274 stars 54 forks source link

You've been logged out by the server. Please log in again. [403] #49

Closed Rokeder closed 8 years ago

Rokeder commented 8 years ago

Hello! In 2.0 version (jar) when i succesfull login(with loginWithEmail) and subscribe to a collection from the server, i start to get errors like these(but when i just login without subscribe to any collections i haven't errors):

D/onException: com.firebase.tubesock.WebSocketException: IO Error D/onException: com.firebase.tubesock.WebSocketException: IO Exception D/onException: com.firebase.tubesock.WebSocketException: IO Error

payload == {"msg":"result","id":"e3f66184-be65-4175-836b-f976680877aa","error":{"error":403,"reason":"You've been logged out by the server. Please log in again.","message":"You've been logged out by the server. Please log in again. [403]","errorType":"Meteor.Error"}}

I log out after each 30 seconds - 1 minute. In older versions of android-ddp.jar i haven't that problems.

ocram commented 8 years ago

Thanks for your feedback!

So you can really reproduce this every time? Whenever the login is done and you subscribe to a collection, you get these errors?

And if you try an older version of our JARs without changing any other part of the code (except you must use WS instead of WSS), the problems are gone?

Here is version 1.0.1 of the JAR: https://github.com/delight-im/Android-DDP/blob/v1.0.1/Android/JARs/Android-DDP.jar

Rokeder commented 8 years ago

Yes, every time, there are no exceptional cases. In 1 version jar in 70% i haven't log out errors, but in other 30% cases i can't successfull login (loginWithEmail) and log out by the server. There are also very short lifetime of Meteor variable connection(maximum 2 hours or something like that). And sometimes it look like this:

01-09 13:33:05.058 21480-21480/com.rokeder.example I/System.out: dispatching 01-09 13:33:05.066 21480-21480/com.rokeder.example W/MessageQueue: Handler (de.tavendo.autobahn.WebSocketWriter) {8ce4183} sending message to a Handler on a dead thread java.lang.IllegalStateException: Handler (de.tavendo.autobahn.WebSocketWriter) {8ce4183} sending message to a Handler on a dead thread at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543) at android.os.Handler.enqueueMessage(Handler.java:631) at android.os.Handler.sendMessageAtTime(Handler.java:600) at android.os.Handler.sendMessageDelayed(Handler.java:570) at android.os.Handler.sendMessage(Handler.java:507) at de.tavendo.autobahn.WebSocketWriter.forward(WebSocketWriter.java:100) at de.tavendo.autobahn.WebSocketConnection.sendTextMessage(WebSocketConnection.java:137) at im.delight.android.ddp.Meteor.send(Meteor.java:265) at im.delight.android.ddp.Meteor.send(Meteor.java:246) at im.delight.android.ddp.Meteor.callWithSeed(Meteor.java:939) at im.delight.android.ddp.Meteor.call(Meteor.java:887) at im.delight.android.ddp.Meteor.login(Meteor.java:755) at im.delight.android.ddp.Meteor.loginWithEmail(Meteor.java:726) at com.rokeder.reactdelivery.Login$6.onClick(Login.java:285) at android.view.View.performClick(View.java:5204) at android.view.View$PerformClick.run(View.java:21153) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

ocram commented 8 years ago

Regarding your original problem, i.e. being logged out whenever you subscribe to some data, has this been resolved?

If not, are you running this on an emulator or on a real device?

ocram commented 8 years ago

Closing due to inactivity