threema-ch / threema-web

The Threema Web application.
GNU Affero General Public License v3.0
1k stars 107 forks source link

Threema Web losing connection #184

Closed bziemons closed 5 years ago

bziemons commented 7 years ago

Referencing to #151 and others: Although the bug with reconnecting is fixed (thanks a lot by the way), the reason for losing connection was not yet identified, I think.

Just to give my go at it: I know for a certain that my ISP (Unitymedia it is) does close TCP connections after two minutes of inactivity. Although I think that is hardly what an ISP should do to cleanup old connections, thats what they do. I do have the very same problem with SSH, IRC, VPN, you name it. I suspect the same problem could apply here.

My solution to that problem is to setup keepalive packets in the application. SSH and my VPN software do have those options. Sending a packet every 30 seconds or so (preferably configurable) does not hurt and is much better than a full TCP/TLS reconnect every two minutes.

I do suspect some ISP do that to free ports on shared IPs. Unitymedia does give a shared IPv4 address (for new contracts) and they call it DS Lite. That, of course, means all ports on that IP are shared as well and need to be routed correctly. At some point they actively close TCP connections that are inactive, because they want to free ports. I suspect mobile providers to do the very same, because phones often share a single IPv4 as well.

Just a little heads up, as I haven't known this existed before I was a customer of Unitymedia.

ovalseven8 commented 6 years ago

And it consumes not much battery.

Sorry, but I had to laugh. :smile_cat:

ontheair81 commented 6 years ago

Sorry, but I had to laugh.

I am not working for Threema GmbH, I am just an average user, so its not my intention to make Threema Web look better than it is. But the truth is: I am using Threema Web every day for hours in the office. And battery consumption is really ok (on my phone using LineageOS / Android 7.1.2 with most current security patches).

I just shared my experience in a normal every-day use. Sorry if that makes you laugh...

ovalseven8 commented 6 years ago

I'm so frustrated because the connection problems have been huge for so long now.

Currently, I cannot use Threema Web. And that's although I'm in my (stable) WIFI at home.

When the session reconnection is successful, then the connection bar is green for a few seconds, in the chat, however, there's only this circle: bildschirmfoto_2018-07-27_08-08-49

But immediately, also the connection bar gets orange: bild

The problem is: Even after the connection establishment is done, I only can see the circle again and in few seconds the connection bar is orange again and so on.

Here some browser logs, I guess they could help:

``` [StateService] Reset angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 Detected browser: Firefox 61 angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [WelcomeController] Initialize session by unlocking trusted key... angular.js:14199:18 [VersionService] Using Threema Web version 1.8.2 angular.js:14199:18 [SaltyRTC.KeyStore] Restored public key: 0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:470:13 [WelcomeController] Checking if the session is already open in another tab or window angular.js:14199:18 [WelcomeController] Initialize push service angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [StateService] Signaling connection state: new => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [StateService] Signaling connection state: ws-connecting => server-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 [SaltyRTC.Initiator] New ws message (194 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is f77858847234835e336ca4003261fc51f6fcaf930dbd41a59164dcfe74a62f41 saltyrtc-client.es5.js:1436:13 [SaltyRTC.Initiator] 0 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 [StateService] Connection buildup state: connecting => waiting angular.js:14199:18 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: waiting => push angular.js:14199:18 [SaltyRTC.Initiator] New ws message (64 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received new-responder 0x02 saltyrtc-client.es5.js:1809:25 [SaltyRTC.KeyStore] New public key: 2e765d41339a5eff774350aaee117f9e6b287b8d3bd95443c9f780df2d6e3610 saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: push => peer_handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received key saltyrtc-client.es5.js:1854:25 [SaltyRTC.Initiator] Sending key saltyrtc-client.es5.js:1962:13 [SaltyRTC.Initiator] New ws message (193 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received auth saltyrtc-client.es5.js:1861:25 [SaltyRTC.Initiator] Task v0.webrtc.tasks.saltyrtc.org has been selected saltyrtc-client.es5.js:2001:17 [SaltyRTC.WebRTC] Max packet size: We requested 16384 bytes, peer requested 65536 bytes. Using 16384. saltyrtc-task-webrtc.es5.js:589:13 [SaltyRTC.Initiator] Responder 0x02 authenticated saltyrtc-client.es5.js:2004:13 [SaltyRTC.Initiator] Sending auth saltyrtc-client.es5.js:1981:13 [SaltyRTC.Initiator] Dropping 0 other responders. saltyrtc-client.es5.js:2038:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:task saltyrtc-client.es5.js:2934:13 [PeerConnectionHelper] Initialize WebRTC PeerConnection angular.js:14199:18 [PeerConnectionHelper] ICE servers used: turn:ds-turn.threema.ch:443?transport=udp, turn:ds-turn.threema.ch:443?transport=tcp, turns:ds-turn.threema.ch:443 angular.js:14199:18 Using more than two STUN/TURN servers slows down discovery app.js:15025 [PeerConnectionHelper] Setting up ICE candidate handling angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Initiate handover saltyrtc-task-webrtc.es5.js:833:13 [SaltyRTC.Initiator] Peer handshake done saltyrtc-client.es5.js:1869:25 [StateService] Signaling connection state: peer-handshake => task angular.js:14199:18 [PeerConnectionHelper] RTCPeerConnection: negotiation needed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: have-local-offer angular.js:14199:18 [PeerConnectionHelper] Created offer, set local description angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending offer saltyrtc-task-webrtc.es5.js:759:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] ICE gathering state change: gathering angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:0 1 UDP 2122187007 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:3 1 UDP 2122252543 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:6 1 TCP 2105458943 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:9 1 TCP 2105524479 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 4 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:1 1 UDP 1685987327 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:2 1 UDP 92151807 5.148.189.203 62690 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 2 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:7 1 UDP 8265727 5.148.189.203 53339 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:5 1 UDP 92217343 5.148.189.205 55531 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:10 1 UDP 8331263 5.148.189.205 58964 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:11 1 UDP 8331263 5.148.189.203 57758 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 2 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (530 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received answer [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: answer saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: answer saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Signaling state change: stable angular.js:14199:18 [PeerConnectionHelper] Received answer, set remote description angular.js:14199:18 [PeerConnectionHelper] Initiator flow done angular.js:14199:18 [SaltyRTC.Initiator] New ws message (257 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2020317792 1 UDP 2122262783 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: checking angular.js:14199:18 [StateService] RTC connection state: new => connecting angular.js:14199:18 [SaltyRTC.Initiator] New ws message (234 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:3455323002 1 UDP 2122194687 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: connected angular.js:14199:18 [StateService] RTC connection state: connecting => connected angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending handover saltyrtc-task-webrtc.es5.js:878:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (266 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:842163049 1 UDP 1685987071 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (263 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:373990095 1 UDP 41820415 5.148.189.205 58973 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (288 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2956831099 1 UDP 41885951 5.148.189.204 60686 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (264 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:1489591871 1 UDP 25042943 5.148.189.205 65070 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (288 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:4273886603 1 UDP 25108479 5.148.189.204 51397 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (55 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received handover [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: handover saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.Client] New event: handover saltyrtc-client.es5.js:2934:13 [WebClientService] Handover done angular.js:14199:18 [WebClientService] Initializing NotificationService... angular.js:14199:18 [NotificationService] Notification API available: true angular.js:14199:18 [NotificationService] Initial notificationPermission false angular.js:14199:18 [NotificationService] Fetching settings... angular.js:14199:18 [SettingsService] Retrieving settings key: notifications angular.js:14199:18 [SettingsService] Retrieving settings key: notificationPreview angular.js:14199:18 [SettingsService] Retrieving settings key: notificationSound angular.js:14199:18 [NotificationService] Desktop notifications: Asking user... angular.js:14199:18 [NotificationService] Requesting notification permission... angular.js:14199:18 [NotificationService] Notification preview: true Using default value (true) angular.js:14199:18 [SettingsService] Storing settings key: notificationPreview angular.js:14199:18 [NotificationService] Notification sound: true angular.js:14199:18 [WebClientService] Create SecureDataChannel "THREEMA"... angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Wrapping data channel 1 saltyrtc-task-webrtc.es5.js:895:13 [SaltyRTC.WebRTC.initiator] Handover to data channel finished saltyrtc-task-webrtc.es5.js:629:25 [WebClientService] SecureDataChannel open angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [WebClientService] Required initialization step client info not completed, add pending routine angular.js:14199:18 Sending client info request angular.js:14199:18 Sending request/clientInfo message angular.js:14199:18 Sending receiver request angular.js:14199:18 Sending request/receiver message angular.js:14199:18 Sending conversation request angular.js:14199:18 Sending request/conversations message angular.js:14199:18 Sending battery status request angular.js:14199:18 Sending request/batteryStatus message angular.js:14199:18 [StateService] Connection buildup state: peer_handshake => loading angular.js:14199:18 [NotificationService] Notification permission false angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection due to handover saltyrtc-client.es5.js:993:17 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (365 bytes) angular.js:14199:18 Received client info angular.js:14199:18 Client device: MotoE2(4G-LTE) angular.js:14199:18 [WebClientService] Initialization step "client info" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (3110 bytes) angular.js:14199:18 Received receiver response angular.js:14199:18 [WebClientService] Initialization step "receivers" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (9152 bytes) angular.js:14199:18 Received conversations response angular.js:14199:18 [WebClientService] Initialization step "conversations" done angular.js:14199:18 [WebClientService] Running routine after initialization "conversations" completed angular.js:14199:18 [StateService] Connection buildup state: loading => done angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [TrustedKeyStoreService] Storing trusted key angular.js:14199:18 Stored trusted key angular.js:14199:18 Sending request/keyPersisted message angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (64 bytes) angular.js:14199:18 Received battery status angular.js:14199:18 [BatteryStatusService] 89%, discharging angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [StateService] Ignored signaling connection state to "closed" angular.js:14199:18 Secure data channel: Closed angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for contact YT8V3K5E with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for group 1 with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: disconnected angular.js:14199:18 [StateService] RTC connection state: connected => connecting angular.js:14199:18 [PeerConnectionHelper] ICE gathering state change: complete angular.js:14199:18 [PeerConnectionHelper] No more local ICE candidates angular.js:14199:18 ICE failed, add a STUN server and see about:webrtc for more details [PeerConnectionHelper] ICE connection state change: failed angular.js:14199:18 [StateService] RTC connection state: connecting => disconnected angular.js:14199:18 [StatusController] Connection lost. Attempting to reconnect... angular.js:14199:18 [WebClientService] Disconnecting... angular.js:14199:18 [StateService] Reset angular.js:14199:18 [WebClientService] Closing secure datachannel angular.js:14199:18 [WebClientService] Closing signaling angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closing saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Disconnecting WebSocket saltyrtc-client.es5.js:1150:17 [SaltyRTC.Initiator] Closing task connections saltyrtc-client.es5.js:1155:17 [SaltyRTC.WebRTC.initiator] Closing signaling data channel: Normal closing saltyrtc-task-webrtc.es5.js:901:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [WebClientService] Closing peer connection angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [WebClientService] Peer connection was closed angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 [SaltyRTC.Initiator] New ws message (194 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is 724d5a69636ea5eb6572183c3cb44c5729176e49ef5a06e124f6457cfe38d139 saltyrtc-client.es5.js:1436:13 [SaltyRTC.Initiator] 0 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: connecting => push angular.js:14199:18 [StateService] Connection buildup state: push => closed angular.js:14199:18 [StateService] Signaling connection state: new => closing angular.js:14199:18 [StateService] Signaling connection state: closing => closed angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: closed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: closed angular.js:14199:18 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Signaling connection state: closed => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [StateService] Signaling connection state: ws-connecting => server-handshake angular.js:14199:18 [StateService] Connection buildup state: connecting => waiting angular.js:14199:18 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (64 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received new-responder 0x02 saltyrtc-client.es5.js:1809:25 [SaltyRTC.KeyStore] New public key: 8a769b3fe1181b65279fd00132b05090aa4c6548adcbfcca178df5b0a94e340c saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: waiting => peer_handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received key saltyrtc-client.es5.js:1854:25 [SaltyRTC.Initiator] Sending key saltyrtc-client.es5.js:1962:13 [SaltyRTC.Initiator] New ws message (193 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received auth saltyrtc-client.es5.js:1861:25 [SaltyRTC.Initiator] Task v0.webrtc.tasks.saltyrtc.org has been selected saltyrtc-client.es5.js:2001:17 [SaltyRTC.WebRTC] Max packet size: We requested 16384 bytes, peer requested 65536 bytes. Using 16384. saltyrtc-task-webrtc.es5.js:589:13 [SaltyRTC.Initiator] Responder 0x02 authenticated saltyrtc-client.es5.js:2004:13 [SaltyRTC.Initiator] Sending auth saltyrtc-client.es5.js:1981:13 [SaltyRTC.Initiator] Dropping 0 other responders. saltyrtc-client.es5.js:2038:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:task saltyrtc-client.es5.js:2934:13 [PeerConnectionHelper] Initialize WebRTC PeerConnection angular.js:14199:18 [PeerConnectionHelper] ICE servers used: turn:ds-turn.threema.ch:443?transport=udp, turn:ds-turn.threema.ch:443?transport=tcp, turns:ds-turn.threema.ch:443 angular.js:14199:18 Using more than two STUN/TURN servers slows down discovery app.js:15025 [PeerConnectionHelper] Setting up ICE candidate handling angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Initiate handover saltyrtc-task-webrtc.es5.js:833:13 [SaltyRTC.Initiator] Peer handshake done saltyrtc-client.es5.js:1869:25 [PeerConnectionHelper] RTCPeerConnection: negotiation needed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: have-local-offer angular.js:14199:18 [PeerConnectionHelper] Created offer, set local description angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending offer saltyrtc-task-webrtc.es5.js:759:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] ICE gathering state change: gathering angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:0 1 UDP 2122187007 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:3 1 UDP 2122252543 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:6 1 TCP 2105458943 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:9 1 TCP 2105524479 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:1 1 UDP 1685987327 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:2 1 UDP 92151807 5.148.189.203 61156 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:5 1 UDP 92217343 5.148.189.205 63892 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:7 1 UDP 8265727 5.148.189.203 53925 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:8 1 UDP 8265727 5.148.189.203 56215 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:10 1 UDP 8331263 5.148.189.205 64591 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.Initiator] New ws message (530 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received answer [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: answer saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: answer saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Signaling state change: stable angular.js:14199:18 [PeerConnectionHelper] Received answer, set remote description angular.js:14199:18 [PeerConnectionHelper] Initiator flow done angular.js:14199:18 [SaltyRTC.Initiator] New ws message (257 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2020317792 1 UDP 2122262783 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: checking angular.js:14199:18 [SaltyRTC.Initiator] New ws message (234 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:3455323002 1 UDP 2122194687 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: connected angular.js:14199:18 [StateService] Signaling connection state: peer-handshake => task angular.js:14199:18 [StatusController] Connection buildup advanced, resetting timeout angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending handover saltyrtc-task-webrtc.es5.js:878:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (266 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:842163049 1 UDP 1685987071 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (288 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2956831099 1 UDP 41885951 5.148.189.204 52162 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (263 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:373990095 1 UDP 41820415 5.148.189.205 52053 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (55 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received handover [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: handover saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.Client] New event: handover saltyrtc-client.es5.js:2934:13 [WebClientService] Handover done angular.js:14199:18 [WebClientService] Initializing NotificationService... angular.js:14199:18 [NotificationService] Notification API available: true angular.js:14199:18 [NotificationService] Initial notificationPermission false angular.js:14199:18 [NotificationService] Fetching settings... angular.js:14199:18 [SettingsService] Retrieving settings key: notifications angular.js:14199:18 [SettingsService] Retrieving settings key: notificationPreview angular.js:14199:18 [SettingsService] Retrieving settings key: notificationSound angular.js:14199:18 [NotificationService] Desktop notifications: Asking user... angular.js:14199:18 [NotificationService] Requesting notification permission... angular.js:14199:18 [NotificationService] Notification preview: true Using default value (true) angular.js:14199:18 [SettingsService] Storing settings key: notificationPreview angular.js:14199:18 [NotificationService] Notification sound: true angular.js:14199:18 [WebClientService] Create SecureDataChannel "THREEMA"... angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Wrapping data channel 1 saltyrtc-task-webrtc.es5.js:895:13 [SaltyRTC.WebRTC.initiator] Handover to data channel finished saltyrtc-task-webrtc.es5.js:629:25 [WebClientService] SecureDataChannel open angular.js:14199:18 [WebClientService] Required initialization step client info not completed, add pending routine angular.js:14199:18 Sending client info request angular.js:14199:18 Sending request/clientInfo message angular.js:14199:18 Sending receiver request angular.js:14199:18 Sending request/receiver message angular.js:14199:18 Sending conversation request angular.js:14199:18 Sending request/conversations message angular.js:14199:18 Sending battery status request angular.js:14199:18 Sending request/batteryStatus message angular.js:14199:18 [StateService] Connection buildup state: peer_handshake => loading angular.js:14199:18 [NotificationService] Notification permission false angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection due to handover saltyrtc-client.es5.js:993:17 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 [SaltyRTC.Initiator] Received handover [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: handover saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] Handover to data channel finished saltyrtc-task-webrtc.es5.js:629:25 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (365 bytes) angular.js:14199:18 Received client info angular.js:14199:18 Client device: MotoE2(4G-LTE) angular.js:14199:18 [WebClientService] Initialization step "client info" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (3110 bytes) angular.js:14199:18 Received receiver response angular.js:14199:18 [WebClientService] Initialization step "receivers" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (9152 bytes) angular.js:14199:18 Received conversations response angular.js:14199:18 [WebClientService] Initialization step "conversations" done angular.js:14199:18 [WebClientService] Running routine after initialization "conversations" completed angular.js:14199:18 [StateService] Connection buildup state: loading => done angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (64 bytes) angular.js:14199:18 Received battery status angular.js:14199:18 [BatteryStatusService] 89%, discharging angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending 10 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through dc saltyrtc-client.es5.js:1589:17 [StateService] RTC connection state: new => connecting angular.js:14199:18 [StateService] RTC connection state: connecting => connected angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 [PeerConnectionHelper] ICE gathering state change: complete angular.js:14199:18 [PeerConnectionHelper] No more local ICE candidates angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (62 bytes) angular.js:14199:18 Received battery status angular.js:14199:18 [BatteryStatusService] 88%, discharging angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for contact YT8V3K5E with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (201 bytes) angular.js:14199:18 Received message response angular.js:14199:18 Sending read request for contact YT8V3K5E (msg 76) angular.js:14199:18 Sending request/read message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for group 1 with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (188 bytes) angular.js:14199:18 Received message response angular.js:14199:18 Sending read request for group 1 (msg 1) angular.js:14199:18 Sending request/read message angular.js:14199:18 Sending read request for group 1 (msg 1) angular.js:14199:18 Sending request/read message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending read request for contact YT8V3K5E (msg 76) angular.js:14199:18 Sending request/read message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for contact *SUPPORT with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (25179 bytes) angular.js:14199:18 Received message response angular.js:14199:18 [filters.bufferToUrl] Could not apply bufferToUrl filter: buffer is undefined angular.js:14199:18 Sending read request for contact *SUPPORT (msg 70) angular.js:14199:18 Sending request/read message angular.js:14199:18 Sending read request for contact *SUPPORT (msg 70) angular.js:14199:18 Sending request/read message angular.js:14199:18 Sending read request for contact *SUPPORT (msg 70) angular.js:14199:18 Sending request/read message angular.js:14199:18 [WebClientService] Disconnecting... angular.js:14199:18 [SaltyRTC.Initiator] Sending application message through dc saltyrtc-client.es5.js:1589:17 [StateService] Reset angular.js:14199:18 [WebClientService] Closing secure datachannel angular.js:14199:18 [WebClientService] Closing signaling angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closing saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Disconnecting WebSocket saltyrtc-client.es5.js:1150:17 [SaltyRTC.Initiator] Closing task connections saltyrtc-client.es5.js:1155:17 [SaltyRTC.WebRTC.initiator] Closing signaling data channel: Normal closing saltyrtc-task-webrtc.es5.js:901:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [WebClientService] Closing peer connection angular.js:14199:18 [StateService] Signaling connection state: new => closing angular.js:14199:18 [StateService] Signaling connection state: closing => closed angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: closed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: closed angular.js:14199:18 [StateService] Ignored RTC connection state change to "disconnected" angular.js:14199:18 [WebClientService] Peer connection was closed angular.js:14199:18 Detected browser: Firefox 61 angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [WelcomeController] Initialize session by unlocking trusted key... angular.js:14199:18 [SaltyRTC.KeyStore] Restored public key: 0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:470:13 [WelcomeController] Checking if the session is already open in another tab or window angular.js:14199:18 [WelcomeController] Initialize push service angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [StateService] Signaling connection state: new => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [StateService] Signaling connection state: ws-connecting => server-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 [SaltyRTC.Initiator] New ws message (194 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is 6fbcc8f2da54c23098a66a2f3c872682d1a040729f0710fcbf926386113d484a saltyrtc-client.es5.js:1436:13 [SaltyRTC.Initiator] 0 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 [StateService] Connection buildup state: connecting => waiting angular.js:14199:18 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: waiting => push angular.js:14199:18 [SaltyRTC.Initiator] New ws message (64 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received new-responder 0x02 saltyrtc-client.es5.js:1809:25 [SaltyRTC.KeyStore] New public key: eda91df1db2225fa06db4ec227f6e7f9d924a37a9762476b8492abc0c7f11511 saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: push => peer_handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received key saltyrtc-client.es5.js:1854:25 [SaltyRTC.Initiator] Sending key saltyrtc-client.es5.js:1962:13 [SaltyRTC.Initiator] New ws message (193 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received auth saltyrtc-client.es5.js:1861:25 [SaltyRTC.Initiator] Task v0.webrtc.tasks.saltyrtc.org has been selected saltyrtc-client.es5.js:2001:17 [SaltyRTC.WebRTC] Max packet size: We requested 16384 bytes, peer requested 65536 bytes. Using 16384. saltyrtc-task-webrtc.es5.js:589:13 [SaltyRTC.Initiator] Responder 0x02 authenticated saltyrtc-client.es5.js:2004:13 [SaltyRTC.Initiator] Sending auth saltyrtc-client.es5.js:1981:13 [SaltyRTC.Initiator] Dropping 0 other responders. saltyrtc-client.es5.js:2038:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:task saltyrtc-client.es5.js:2934:13 [PeerConnectionHelper] Initialize WebRTC PeerConnection angular.js:14199:18 [PeerConnectionHelper] ICE servers used: turn:ds-turn.threema.ch:443?transport=udp, turn:ds-turn.threema.ch:443?transport=tcp, turns:ds-turn.threema.ch:443 angular.js:14199:18 Using more than two STUN/TURN servers slows down discovery app.js:15025 [PeerConnectionHelper] Setting up ICE candidate handling angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Initiate handover saltyrtc-task-webrtc.es5.js:833:13 [SaltyRTC.Initiator] Peer handshake done saltyrtc-client.es5.js:1869:25 [StateService] Signaling connection state: peer-handshake => task angular.js:14199:18 [PeerConnectionHelper] RTCPeerConnection: negotiation needed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: have-local-offer angular.js:14199:18 [PeerConnectionHelper] Created offer, set local description angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending offer saltyrtc-task-webrtc.es5.js:759:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] ICE gathering state change: gathering angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:0 1 UDP 2122187007 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:3 1 UDP 2122252543 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:6 1 TCP 2105458943 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:9 1 TCP 2105524479 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 4 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:1 1 UDP 1685987327 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:2 1 UDP 92151807 5.148.189.203 59408 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 2 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:7 1 UDP 8265727 5.148.189.203 63070 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:8 1 UDP 8265727 5.148.189.204 53420 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:5 1 UDP 92217343 5.148.189.205 56582 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:10 1 UDP 8331263 5.148.189.205 57123 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (530 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received answer [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: answer saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: answer saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Signaling state change: stable angular.js:14199:18 [PeerConnectionHelper] Received answer, set remote description angular.js:14199:18 [PeerConnectionHelper] Initiator flow done angular.js:14199:18 [SaltyRTC.Initiator] New ws message (257 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2020317792 1 UDP 2122262783 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: checking angular.js:14199:18 [StateService] RTC connection state: new => connecting angular.js:14199:18 [SaltyRTC.Initiator] New ws message (234 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:3455323002 1 UDP 2122194687 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: connected angular.js:14199:18 [StateService] RTC connection state: connecting => connected angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending handover saltyrtc-task-webrtc.es5.js:878:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (266 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:842163049 1 UDP 1685987071 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (263 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:373990095 1 UDP 41820415 5.148.189.205 53631 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (288 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:1973065717 1 UDP 41885951 5.148.189.203 55158 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (264 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:1489591871 1 UDP 25042943 5.148.189.205 64809 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (287 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:991521541 1 UDP 25108479 5.148.189.203 49328 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (55 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received handover [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: handover saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.Client] New event: handover saltyrtc-client.es5.js:2934:13 [WebClientService] Handover done angular.js:14199:18 [WebClientService] Initializing NotificationService... angular.js:14199:18 [NotificationService] Notification API available: true angular.js:14199:18 [NotificationService] Initial notificationPermission false angular.js:14199:18 [NotificationService] Fetching settings... angular.js:14199:18 [SettingsService] Retrieving settings key: notifications angular.js:14199:18 [SettingsService] Retrieving settings key: notificationPreview angular.js:14199:18 [SettingsService] Retrieving settings key: notificationSound angular.js:14199:18 [NotificationService] Desktop notifications: Asking user... angular.js:14199:18 [NotificationService] Requesting notification permission... angular.js:14199:18 [NotificationService] Notification preview: true Using default value (true) angular.js:14199:18 [SettingsService] Storing settings key: notificationPreview angular.js:14199:18 [NotificationService] Notification sound: true angular.js:14199:18 [WebClientService] Create SecureDataChannel "THREEMA"... angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Wrapping data channel 1 saltyrtc-task-webrtc.es5.js:895:13 [SaltyRTC.WebRTC.initiator] Handover to data channel finished saltyrtc-task-webrtc.es5.js:629:25 [WebClientService] SecureDataChannel open angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [WebClientService] Required initialization step client info not completed, add pending routine angular.js:14199:18 Sending client info request angular.js:14199:18 Sending request/clientInfo message angular.js:14199:18 Sending receiver request angular.js:14199:18 Sending request/receiver message angular.js:14199:18 Sending conversation request angular.js:14199:18 Sending request/conversations message angular.js:14199:18 Sending battery status request angular.js:14199:18 Sending request/batteryStatus message angular.js:14199:18 [StateService] Connection buildup state: peer_handshake => loading angular.js:14199:18 [NotificationService] Notification permission false angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection due to handover saltyrtc-client.es5.js:993:17 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (365 bytes) angular.js:14199:18 Received client info angular.js:14199:18 Client device: MotoE2(4G-LTE) angular.js:14199:18 [WebClientService] Initialization step "client info" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (3110 bytes) angular.js:14199:18 Received receiver response angular.js:14199:18 [WebClientService] Initialization step "receivers" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (9152 bytes) angular.js:14199:18 Received conversations response angular.js:14199:18 [WebClientService] Initialization step "conversations" done angular.js:14199:18 [WebClientService] Running routine after initialization "conversations" completed angular.js:14199:18 [StateService] Connection buildup state: loading => done angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [TrustedKeyStoreService] Storing trusted key angular.js:14199:18 Stored trusted key angular.js:14199:18 Sending request/keyPersisted message angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (64 bytes) angular.js:14199:18 Received battery status angular.js:14199:18 [BatteryStatusService] 88%, discharging angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [StateService] Ignored signaling connection state to "closed" angular.js:14199:18 Secure data channel: Closed angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 Sending message request for contact YT8V3K5E with message id null angular.js:14199:18 Sending request/message message angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: disconnected angular.js:14199:18 [StateService] RTC connection state: connected => connecting angular.js:14199:18 [PeerConnectionHelper] ICE gathering state change: complete angular.js:14199:18 [PeerConnectionHelper] No more local ICE candidates angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: failed angular.js:14199:18 [StateService] RTC connection state: connecting => disconnected angular.js:14199:18 [StatusController] Connection lost. Attempting to reconnect... angular.js:14199:18 [WebClientService] Disconnecting... angular.js:14199:18 [StateService] Reset angular.js:14199:18 [WebClientService] Closing secure datachannel angular.js:14199:18 [WebClientService] Closing signaling angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closing saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Disconnecting WebSocket saltyrtc-client.es5.js:1150:17 [SaltyRTC.Initiator] Closing task connections saltyrtc-client.es5.js:1155:17 [SaltyRTC.WebRTC.initiator] Closing signaling data channel: Normal closing saltyrtc-task-webrtc.es5.js:901:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [WebClientService] Closing peer connection angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [WebClientService] Peer connection was closed angular.js:14199:18 [StateService] Connection buildup state: connecting => closed angular.js:14199:18 [StateService] Signaling connection state: new => closing angular.js:14199:18 ICE failed, add a STUN server and see about:webrtc for more details [StateService] Signaling connection state: closing => closed angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: closed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: closed angular.js:14199:18 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Signaling connection state: closed => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [StateService] Signaling connection state: ws-connecting => server-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: connecting => push angular.js:14199:18 [SaltyRTC.Initiator] New ws message (194 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is 8fabf22c4b6b7963012423d641c688e706937dce940006ffbba81e47b05b5a50 saltyrtc-client.es5.js:1436:13 [SaltyRTC.Initiator] 0 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 [StatusController] Reconnect timeout 1. Retrying... angular.js:14199:18 [WebClientService] Disconnecting... angular.js:14199:18 [StateService] Reset angular.js:14199:18 [WebClientService] Closing secure datachannel angular.js:14199:18 [WebClientService] Closing signaling angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closing saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Disconnecting WebSocket saltyrtc-client.es5.js:1150:17 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [WebClientService] Closing peer connection angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [WebClientService] Peer connection was closed angular.js:14199:18 [StateService] Connection buildup state: connecting => closed angular.js:14199:18 [StateService] Signaling connection state: new => closing angular.js:14199:18 [StateService] Signaling connection state: closing => closed angular.js:14199:18 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Signaling connection state: closed => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection saltyrtc-client.es5.js:995:17 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: connection-closed saltyrtc-client.es5.js:2934:13 Connection closed: Object { type: "connection-closed", data: 1000 } angular.js:14199:18 [StateService] Connection buildup state: connecting => closed angular.js:14199:18 [StateService] Signaling connection state: ws-connecting => closed angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Signaling connection state: closed => server-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 [SaltyRTC.Initiator] New ws message (194 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is b6281a402ec212be61c32b14c237a8f247b7ac70e1823ed1b626877cdcf4fa41 saltyrtc-client.es5.js:1436:13 [SaltyRTC.Initiator] 0 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 [StateService] Connection buildup state: connecting => waiting angular.js:14199:18 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 [SaltyRTC.Initiator] New ws message (64 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received new-responder 0x02 saltyrtc-client.es5.js:1809:25 [SaltyRTC.KeyStore] New public key: fa903fb866cbed2a2337815f8380b14f95a59519074efbebddd78a64d0208d13 saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: waiting => peer_handshake angular.js:14199:18 [StatusController] Connection buildup advanced, resetting timeout angular.js:14199:18 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received key saltyrtc-client.es5.js:1854:25 [SaltyRTC.Initiator] Sending key saltyrtc-client.es5.js:1962:13 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: peer_handshake => push angular.js:14199:18 [SaltyRTC.Initiator] New ws message (193 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received auth saltyrtc-client.es5.js:1861:25 [SaltyRTC.Initiator] Task v0.webrtc.tasks.saltyrtc.org has been selected saltyrtc-client.es5.js:2001:17 [SaltyRTC.WebRTC] Max packet size: We requested 16384 bytes, peer requested 65536 bytes. Using 16384. saltyrtc-task-webrtc.es5.js:589:13 [SaltyRTC.Initiator] Responder 0x02 authenticated saltyrtc-client.es5.js:2004:13 [SaltyRTC.Initiator] Sending auth saltyrtc-client.es5.js:1981:13 [SaltyRTC.Initiator] Dropping 0 other responders. saltyrtc-client.es5.js:2038:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:task saltyrtc-client.es5.js:2934:13 [PeerConnectionHelper] Initialize WebRTC PeerConnection angular.js:14199:18 [PeerConnectionHelper] ICE servers used: turn:ds-turn.threema.ch:443?transport=udp, turn:ds-turn.threema.ch:443?transport=tcp, turns:ds-turn.threema.ch:443 angular.js:14199:18 [PeerConnectionHelper] Setting up ICE candidate handling angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Initiate handover saltyrtc-task-webrtc.es5.js:833:13 [SaltyRTC.Initiator] Peer handshake done saltyrtc-client.es5.js:1869:25 [StateService] Signaling connection state: peer-handshake => task angular.js:14199:18 Using more than two STUN/TURN servers slows down discovery app.js:15025 [PeerConnectionHelper] RTCPeerConnection: negotiation needed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: have-local-offer angular.js:14199:18 [PeerConnectionHelper] Created offer, set local description angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending offer saltyrtc-task-webrtc.es5.js:759:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] ICE gathering state change: gathering angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:0 1 UDP 2122187007 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:3 1 UDP 2122252543 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:6 1 TCP 2105458943 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:9 1 TCP 2105524479 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 4 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:1 1 UDP 1685987327 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:2 1 UDP 92151807 5.148.189.203 58926 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:5 1 UDP 92217343 5.148.189.205 64383 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 3 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (530 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received answer [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: answer saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: answer saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Signaling state change: stable angular.js:14199:18 [PeerConnectionHelper] Received answer, set remote description angular.js:14199:18 [PeerConnectionHelper] Initiator flow done angular.js:14199:18 [SaltyRTC.Initiator] New ws message (257 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:2020317792 1 UDP 2122262783 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: checking angular.js:14199:18 [StateService] RTC connection state: new => connecting angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:7 1 UDP 8265727 5.148.189.203 58963 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:10 1 UDP 8331263 5.148.189.205 58576 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (234 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:3455323002 1 UDP 2122194687 *** 1 typ host angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:11 1 UDP 8331263 5.148.189.204 54876 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] ICE connection state change: connected angular.js:14199:18 [StateService] RTC connection state: connecting => connected angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.WebRTC.initiator] Sending handover saltyrtc-task-webrtc.es5.js:878:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (266 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:842163049 1 UDP 1685987071 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (263 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:373990095 1 UDP 41820415 5.148.189.205 58683 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (288 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:1973065717 1 UDP 41885951 5.148.189.203 62556 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (287 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:991521541 1 UDP 25108479 5.148.189.203 53455 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (264 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received candidates [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: candidates saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.WebRTC.initiator] New event: candidates saltyrtc-task-webrtc.es5.js:936:13 [PeerConnectionHelper] Adding remote ICE candidate: candidate:1489591871 1 UDP 25042943 5.148.189.205 49810 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.Initiator] New ws message (55 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Message received saltyrtc-client.es5.js:1217:13 [SaltyRTC.Initiator] Received handover [v0.webrtc.tasks.saltyrtc.org] saltyrtc-client.es5.js:1246:17 [SaltyRTC.WebRTC.initiator] New task message arrived: handover saltyrtc-task-webrtc.es5.js:604:13 [SaltyRTC.Client] New event: handover saltyrtc-client.es5.js:2934:13 [WebClientService] Handover done angular.js:14199:18 [WebClientService] Initializing NotificationService... angular.js:14199:18 [NotificationService] Notification API available: true angular.js:14199:18 [NotificationService] Initial notificationPermission false angular.js:14199:18 [NotificationService] Fetching settings... angular.js:14199:18 [SettingsService] Retrieving settings key: notifications angular.js:14199:18 [SettingsService] Retrieving settings key: notificationPreview angular.js:14199:18 [SettingsService] Retrieving settings key: notificationSound angular.js:14199:18 [NotificationService] Desktop notifications: Asking user... angular.js:14199:18 [NotificationService] Requesting notification permission... angular.js:14199:18 [NotificationService] Notification preview: true Using default value (true) angular.js:14199:18 [SettingsService] Storing settings key: notificationPreview angular.js:14199:18 [NotificationService] Notification sound: true angular.js:14199:18 [WebClientService] Create SecureDataChannel "THREEMA"... angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Wrapping data channel 1 saltyrtc-task-webrtc.es5.js:895:13 [SaltyRTC.WebRTC.initiator] Handover to data channel finished saltyrtc-task-webrtc.es5.js:629:25 [WebClientService] SecureDataChannel open angular.js:14199:18 [WebClientService] Required initialization step client info not completed, add pending routine angular.js:14199:18 Sending client info request angular.js:14199:18 Sending request/clientInfo message angular.js:14199:18 Sending receiver request angular.js:14199:18 Sending request/receiver message angular.js:14199:18 Sending conversation request angular.js:14199:18 Sending request/conversations message angular.js:14199:18 Sending battery status request angular.js:14199:18 Sending request/batteryStatus message angular.js:14199:18 [StateService] Connection buildup state: push => loading angular.js:14199:18 [NotificationService] Notification permission false angular.js:14199:18 [StatusController] Connection buildup advanced, resetting timeout angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection due to handover saltyrtc-client.es5.js:993:17 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (365 bytes) angular.js:14199:18 Received client info angular.js:14199:18 Client device: MotoE2(4G-LTE) angular.js:14199:18 [WebClientService] Initialization step "client info" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (3110 bytes) angular.js:14199:18 Received receiver response angular.js:14199:18 [WebClientService] Initialization step "receivers" done angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (9152 bytes) angular.js:14199:18 Received conversations response angular.js:14199:18 [WebClientService] Initialization step "conversations" done angular.js:14199:18 [WebClientService] Running routine after initialization "conversations" completed angular.js:14199:18 [StateService] Connection buildup state: loading => done angular.js:14199:18 [WebClientService] Reset initialization steps angular.js:14199:18 [SaltyRTC.SecureDataChannel] Received chunk saltyrtc-task-webrtc.es5.js:232:13 [SaltyRTC.SecureDataChannel] Decrypting incoming data... saltyrtc-task-webrtc.es5.js:253:13 New incoming message (64 bytes) angular.js:14199:18 Received battery status angular.js:14199:18 [BatteryStatusService] 88%, discharging angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [StateService] Ignored signaling connection state to "closed" angular.js:14199:18 Secure data channel: Closed angular.js:14199:18 [VersionService] Checking for version update... angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: disconnected angular.js:14199:18 [StateService] RTC connection state: connected => connecting angular.js:14199:18 [PeerConnectionHelper] ICE gathering state change: complete angular.js:14199:18 [PeerConnectionHelper] No more local ICE candidates angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: failed angular.js:14199:18 [StateService] RTC connection state: connecting => disconnected angular.js:14199:18 [StatusController] Connection lost. Attempting to reconnect... angular.js:14199:18 [WebClientService] Disconnecting... angular.js:14199:18 [StateService] Reset angular.js:14199:18 [WebClientService] Closing secure datachannel angular.js:14199:18 [WebClientService] Closing signaling angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closing saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Disconnecting WebSocket saltyrtc-client.es5.js:1150:17 [SaltyRTC.Initiator] Closing task connections saltyrtc-client.es5.js:1155:17 [SaltyRTC.WebRTC.initiator] Closing signaling data channel: Normal closing saltyrtc-task-webrtc.es5.js:901:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [WebClientService] Closing peer connection angular.js:14199:18 [StateService] Reset angular.js:14199:18 Starting WebClientService... angular.js:14199:18 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:ws-connecting saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Opening WebSocket connection to wss://saltyrtc-08.threema.ch:443/0800cf36fe15228d9ae3054145baa738451c5bc736072f4bc0485cba3d769223 saltyrtc-client.es5.js:1172:13 [WebClientService] Peer connection was closed angular.js:14199:18 [StateService] Connection buildup state: connecting => closed angular.js:14199:18 [StateService] Signaling connection state: new => closing angular.js:14199:18 ICE failed, add a STUN server and see about:webrtc for more details [StateService] Signaling connection state: closing => closed angular.js:14199:18 [PeerConnectionHelper] ICE connection state change: closed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: closed angular.js:14199:18 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Signaling connection state: closed => new angular.js:14199:18 [StateService] Signaling connection state: new => ws-connecting angular.js:14199:18 [SaltyRTC.Initiator] Opened connection saltyrtc-client.es5.js:984:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:server-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] New ws message (81 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-hello saltyrtc-client.es5.js:1189:21 [SaltyRTC.Initiator] Sending client-auth saltyrtc-client.es5.js:1273:13 [StateService] Signaling connection state: ws-connecting => server-handshake angular.js:14199:18 Requested app wakeup angular.js:14199:18 [StateService] Connection buildup state: connecting => push angular.js:14199:18 [SaltyRTC.Initiator] New ws message (195 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received server-auth saltyrtc-client.es5.js:1200:21 [SaltyRTC.Initiator] Expected server public permanent key is b1337fc8402f7db8ea639e05ed05d65463e24809792f91eca29e88101b4a2171 saltyrtc-client.es5.js:1435:13 [SaltyRTC.Initiator] Server public session key is b1021c75adc9b575ef8e60989b12c76c373d07f786485a3fc1a069bbac57d16b saltyrtc-client.es5.js:1436:13 [SaltyRTC.KeyStore] New public key: 1857413e47f3ff1ede4393c9cbca8f28f3d0ab80f5bdae03c7c77abbd8f1384d saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: push => peer_handshake angular.js:14199:18 [SaltyRTC.Initiator] 1 responders connected saltyrtc-client.es5.js:1928:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:peer-handshake saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Server handshake done saltyrtc-client.es5.js:1210:17 [StateService] Connection buildup state: peer_handshake => waiting angular.js:14199:18 [StateService] Signaling connection state: server-handshake => peer-handshake angular.js:14199:18 [StatusController] Connection buildup advanced, resetting timeout angular.js:14199:18 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received key saltyrtc-client.es5.js:1854:25 [SaltyRTC.Initiator] Sending key saltyrtc-client.es5.js:1962:13 [SaltyRTC.Initiator] New ws message (64 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received new-responder 0x03 saltyrtc-client.es5.js:1809:25 [SaltyRTC.KeyStore] New public key: 311135cc0f5ff8cf1131c51c0bf2091c1cb978d813dbd0b824d32a7dd24a1d34 saltyrtc-client.es5.js:467:13 [SaltyRTC.Client] New event: new-responder saltyrtc-client.es5.js:2934:13 [StateService] Connection buildup state: waiting => peer_handshake angular.js:14199:18 [StatusController] Connection buildup advanced, resetting timeout angular.js:14199:18 [SaltyRTC.Initiator] New ws message (193 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Received auth saltyrtc-client.es5.js:1861:25 [SaltyRTC.Initiator] Task v0.webrtc.tasks.saltyrtc.org has been selected saltyrtc-client.es5.js:2001:17 [SaltyRTC.WebRTC] Max packet size: We requested 16384 bytes, peer requested 65536 bytes. Using 16384. saltyrtc-task-webrtc.es5.js:589:13 [SaltyRTC.Initiator] Responder 0x02 authenticated saltyrtc-client.es5.js:2004:13 [SaltyRTC.Initiator] Sending auth saltyrtc-client.es5.js:1981:13 [SaltyRTC.Initiator] Dropping 1 other responders. saltyrtc-client.es5.js:2038:13 [SaltyRTC.Initiator] Sending drop-responder 0x03 saltyrtc-client.es5.js:2073:13 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:task saltyrtc-client.es5.js:2934:13 [PeerConnectionHelper] Initialize WebRTC PeerConnection angular.js:14199:18 [PeerConnectionHelper] ICE servers used: turn:ds-turn.threema.ch:443?transport=udp, turn:ds-turn.threema.ch:443?transport=tcp, turns:ds-turn.threema.ch:443 angular.js:14199:18 [PeerConnectionHelper] Setting up ICE candidate handling angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Initiate handover saltyrtc-task-webrtc.es5.js:833:13 [SaltyRTC.Initiator] Peer handshake done saltyrtc-client.es5.js:1869:25 [StateService] Signaling connection state: peer-handshake => task angular.js:14199:18 Using more than two STUN/TURN servers slows down discovery app.js:15025 [PeerConnectionHelper] RTCPeerConnection: negotiation needed angular.js:14199:18 [PeerConnectionHelper] Signaling state change: have-local-offer angular.js:14199:18 [PeerConnectionHelper] Created offer, set local description angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Sending offer saltyrtc-task-webrtc.es5.js:759:13 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] ICE gathering state change: gathering angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:0 1 UDP 2122187007 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:3 1 UDP 2122252543 *** 1 typ host angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:6 1 TCP 2105458943 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:9 1 TCP 2105524479 *** 1 typ host tcptype active angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 4 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [PeerConnectionHelper] Gathered local ICE candidate: candidate:1 1 UDP 1685987327 *** 1 typ srflx raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:2 1 UDP 92151807 5.148.189.203 63814 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 2 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.Initiator] Sending task message through ws saltyrtc-client.es5.js:1592:17 [SaltyRTC.Initiator] New ws message (88 bytes) saltyrtc-client.es5.js:1027:13 [SaltyRTC.Initiator] Signaling error: Protocol error (Invalid nonce: ValidationError: Received message after handshake with invalid sender address (3 != 2)) saltyrtc-client.es5.js:1065:21 [SaltyRTC.Initiator] Sending close saltyrtc-client.es5.js:1302:13 [SaltyRTC.Initiator] Disconnecting WebSocket (close code 1000) saltyrtc-client.es5.js:1509:17 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Connection reset saltyrtc-client.es5.js:1521:17 [StateService] Connection buildup state: peer_handshake => connecting angular.js:14199:18 [StateService] Ignored signaling connection state to "new" angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:5 1 UDP 92217343 5.148.189.205 54879 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.WebRTC.initiator] Could not send candidates: Cannot send task message in "new" state saltyrtc-task-webrtc.es5.js:816:25 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Connection reset saltyrtc-client.es5.js:1521:17 [StateService] Ignored signaling connection state to "new" angular.js:14199:18 [SaltyRTC.Initiator] Closed WebSocket connection saltyrtc-client.es5.js:995:17 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:closed saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: connection-closed saltyrtc-client.es5.js:2934:13 Connection closed: Object { type: "connection-closed", data: 1000 } angular.js:14199:18 [StateService] Connection buildup state: connecting => closed angular.js:14199:18 [StateService] Ignored signaling connection state to "closed" angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:7 1 UDP 8265727 5.148.189.203 64123 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 1 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.WebRTC.initiator] Could not send candidates: Cannot send task message in "closed" state saltyrtc-task-webrtc.es5.js:816:25 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Connection reset saltyrtc-client.es5.js:1521:17 [StateService] Connection buildup state: closed => connecting angular.js:14199:18 [StateService] Ignored signaling connection state to "new" angular.js:14199:18 [PeerConnectionHelper] Gathered local ICE candidate: candidate:11 1 UDP 8331263 5.148.189.204 52406 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [PeerConnectionHelper] Gathered local ICE candidate: candidate:10 1 UDP 8331263 5.148.189.205 57648 typ relay raddr *** rport 2 angular.js:14199:18 [SaltyRTC.WebRTC.initiator] Buffering 1 candidate(s) saltyrtc-task-webrtc.es5.js:805:13 [SaltyRTC.WebRTC.initiator] Sending 2 candidate(s) saltyrtc-task-webrtc.es5.js:809:21 [SaltyRTC.WebRTC.initiator] Could not send candidates: Cannot send task message in "new" state saltyrtc-task-webrtc.es5.js:816:25 [SaltyRTC.Client] New event: state-change saltyrtc-client.es5.js:2934:13 [SaltyRTC.Client] New event: state-change:new saltyrtc-client.es5.js:2934:13 [SaltyRTC.Initiator] Connection reset saltyrtc-client.es5.js:1521:17 [StateService] Ignored signaling connection state to "new" angular.js:14199:18 ```

Also, I got this error today already: bildschirmfoto_2018-07-27_08-10-12

EugenMayer commented 6 years ago

Use Signal. Solved - Sorry to say. (i am a Threema user since day 1 .. i am neither jumping around messengers nor i dislike Threema - but its just too much).

lgrahl commented 6 years ago

@ovalseven8 The last error looks like a regression of the changed disconnect procedure. Can you take a look, @dbrgn?

@EugenMayer I think you have made your point earlier. We have told you that there are plans to solve them, they just take time. Looking at your profile, you seem to have profound experience with projects on GitHub. Ask yourself if you would like to see such a counter-productive comment in one of your projects.

lgrahl commented 6 years ago

@ovalseven8 Alright, I went through the connection failures one by one:

  1. Failed due to a closed data channel. This usually happens in case there is too much data being buffered. Since you're using the awesome Firefox, this definitely happened on the app side.
  2. Failed for an unknown reason. There is no clear indicator why the connection has been stopped, so I filed #532.
  3. Failed for the same reason as 1.
  4. The app never connected to the SaltyRTC path. A push was sent but the app has been killed or didn't receive it.
  5. Oops, looks like the delayed peer connection close results in a redirect to welcome even though it doesn't matter any longer. Filed #533.
  6. Same as 1.
  7. Weird. There are two responders connected to the path. And I'm seeing this entry: [SaltyRTC.Initiator] Signaling error: Protocol error (Invalid nonce: ValidationError: Received message after handshake with invalid sender address (3 != 2)). This looks like a bug to me, perhaps on the server side. Why was there a message from the dropped responder? And why does it affect the connection towards responder 0x02? Have we specified that? @dbrgn, any thoughts?
  8. From then on, the whole web client is in a "weird state" where it tries to continue establishing the peer connection but the C2C connection between app and browser is already closed and nothing works.

The buffering problem mentioned in 1 can be fixed fairly easily. I'm bumping my personal priority for it. Thanks for the log - this took a couple of hours to analyse but has already helped in narrowing down a bunch of issues!

@dbrgn Very confusing... between buffering and sending the local candidates in the second connection, a lot of time (definitely a couple of RTTs, so much more than 5ms) elapses. Any idea what could be happening here? Perhaps long blocking of the main thread due to a lot of slow tasks enqueued before the timeout handler?

ovalseven8 commented 6 years ago

Wow, very nice @lgrahl!

Glad to see my post had effect. :smile: This is one of some really annoying/important issues.

lgrahl commented 6 years ago

Before I forget: Regarding the problem with the loading indicator spinning for ages... that is another annoying bug (see #247) you can easily work around. Just open another conversation and switch back.

ovalseven8 commented 6 years ago

@lgrahl In my case mentioned above this does not work. Probably because there is no real connection? Threema Web just tries to reconnect (orange bar), then it's green for about 5 seconds, then reconnection again (orange) and so on. But in general you're right, I've experienced #247 also in past and then it worked with changing conversations.

ovalseven8 commented 6 years ago

@lgrahl @dbrgn As soon as the connection is built up, it is already lost it seems. Today, I did a test again and here you can find both the browser logs and app logs for this issue mentioned in https://github.com/threema-ch/threema-web/issues/184#issuecomment-408324795. Perhaps the addition of the app logs can help even more:

message_log.txt browser_logs.txt

What's interesting is that SOMETIMES it works, however. But usually when I scanned the QR code, the connection was built up and lost immediately, then built up and lost etc. So, not usable.

dbrgn commented 6 years ago

Perhaps long blocking of the main thread due to a lot of slow tasks enqueued before the timeout handler?

Yeah, that could be.

@ovalseven8 did anything change about your wifi? Does it make a difference if your phone is in the mobile network?

ovalseven8 commented 6 years ago

On my WiFi nothing changed, also no router or smartphone updates.

ontheair81 commented 6 years ago

Since around one week I have the same issues as @ovalseven8 . Tested on two computers, both with Linux Mint 19, Firefox, and VPN via PrivateInternetAccess.

The setup with Mint / Firefox / VPN worked very well before, but showing the same issues as mentioned above, making it impossible to use Threema Web. I would like to add that web.threema.ch/troubleshoot/ shows no problems at all. Also the web client of WhatsApp is still working fine.

The problem can be solved by deactivating the VPN service, then Threema Web is working stable as expected again. Im just wondering why this happens now all of a sudden; there was never a problem before when using Threema Web with VPN.

lgrahl commented 6 years ago

@ontheair81 @ovalseven8 We'll address the identified problems mentioned in https://github.com/threema-ch/threema-web/issues/184#issuecomment-408369691 first and let you know once they are fixed. If it still doesn't work for you after that, we can take a look at it again in detail. One step at a time. :smiley_cat:

mhoff commented 6 years ago

I can confirm occasional hick-ups, seemingly of the same kind. Threema Web does connect and then immediately closes the secure connection, such that no data can be loaded and the web app has to be restarted. However, the problem does (most often) disappear after a few minutes (and a few refreshs...). Also, troubleshoot does not indicate any problems either (checked while the problem was present). My internet connection is provided by UnityMedia, too. Plus, no VPN is active.

dbrgn commented 6 years ago

@mhoff and others: Regarding the general connectivity issues, as @lgrahl wrote, we're working on the issues mentioned in https://github.com/threema-ch/threema-web/issues/184#issuecomment-408369691. Until that is done, further "me too" comments don't help much.

To troubleshoot your individual case, it's best to contact support via https://threema.ch/en/support, or to send a message to the threema contact *SUPPORT. The support staff will try to help you with those cases.

Until the issues mentioned above are fixed, I will lock this issue to avoid unnecessary noise. We are aware of some problems with data channel stability and aim to fix them soon! Thanks for your patience.

lgrahl commented 5 years ago

IIRC we have filed issues for all of the mentioned problems that are fixable from our side and they are slowly being resolved - one by one. I'll unlock the thread in case we have missed a specific one that has already been raised in this thread.

Like @dbrgn said, to troubleshoot your individual case, contact the support via https://threema.ch/en/support, or send a message to the threema contact *SUPPORT.