Gene
Gene
Anyway, I cannot reproduce. Please show the logcat.
You are using an android client prior to https://github.com/tinode/tindroid/commit/f29f8412d0861622e08feba08be71dd89dead32c Please use an updated client.
Fixed in https://github.com/tinode/tinode-js/commit/b0e036bdb48db940d2e5cd21797f8111e9439a19
The timeout issue in https://github.com/TakahikoKawasaki/nv-websocket-client/pull/109 seems to be easily solvable by calling setSoTimeout right after creating the socket.
Just tested SNI with API 22, Java 7 using org.java_websocket.client.WebSocketClient (https://github.com/TooTallNate/Java-WebSocket/) and LetsEncrypt certificate and it worked fine. Here is the relevant code: https://github.com/tinode/android-example/blob/master/tinodesdk/src/main/java/co/tinode/tinodesdk/Connection.java
OK, I figured it out. This is the same bug as https://github.com/TakahikoKawasaki/nv-websocket-client/issues/106 Golang's Letsencrypt implementation requires client to support SNI. Android's socket.getSession() starts handshake implicitly but does not expose exceptions...
Beside the solution in PR #109 , another option is to add another method to WsSocketFactory which would take Socket is one of the parameters, like this: https://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLSocketFactory.html#createSocket(java.net.Socket,%20java.lang.String,%20int,%20boolean) ``` public...
Or add a method `WebSocket.setSocket(Socket s)` like https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/java/org/java_websocket/client/WebSocketClient.java#L487 does.
Yes, I've switched to https://github.com/TooTallNate/Java-WebSocket/
If I use `Pluck` instead of `Field` then everything works as expected.