oxen-io / session-desktop

Session Desktop - Onion routing based messenger
https://getsession.org
GNU General Public License v3.0
1.56k stars 197 forks source link

10 minutes delay minimum in messages landing #1063

Closed changemenemo closed 4 years ago

changemenemo commented 4 years ago

Describe the bug A clear and concise description of what the bug is. A 10 minute delay at least between my messages from PC landing on IOS friend phone within the same country. I did not test further but a conversation was then not possible between us because of this.

at least the messages were sorting correctly through their time of emission, so it actualizes the conversation correctly with the messages at the right place.

changemenemo commented 4 years ago

it would be a good idea, to have some short of community chat where one of you guys who has a remote control auth on the infrastructure would be and like that we could debug this kind of things directly to see if this is actually a networking problem in the infrastructure or a problem with the code client.

Anyway I must say that I was happy to actually see that the client was reacting way more and was lighter than the garbage signal app. So thanks for that

changemenemo commented 4 years ago

this noon it's one hour delay. My friend tried to send me messages at 11.43 and I only did receive it one hour later

KeeJef commented 4 years ago

You should not be experiencing a delay beyond seconds for a message being sent and received, Are you talking about the message being sent and then the notification being displayed that the message was received an hour later? Or are you saying if both devices are in the foreground the message takes one hour to be delivered?

changemenemo commented 4 years ago

no I'm talking about the message actually landing. And it's the same for my friend and yes the app is in foreground.

KeeJef commented 4 years ago

what versions are you using? can you try hitting up my session id 053b6b764388cd6c4d38ae0b3e7492a8ecf0076e270c013bb5693d973045f45254

changemenemo commented 4 years ago

just sent you a request from one of my session Ids

changemenemo commented 4 years ago

by the way I did try 30 mintues ago on an IOS device and the tracing path wasn't successful to my friend session ID. Now it seems working at least but I don't know if he did receive any messages yet

And ofr the pc version it would actually be nice to have the animation of tracing path. Like that we would know if the network is down or not.

changemenemo commented 4 years ago

so that's funny. I received your Hey, but I can't answer it because the pending session request is still in action

changemenemo commented 4 years ago

do you want the screenshot, sent it somewhere?

KeeJef commented 4 years ago

sure, can you write down the steps you took when you messaged me to get into this state where you cant reply, and the screenshot will help too

changemenemo commented 4 years ago

So I've forgotten about this request system. So I did try to send 3 messages and the tracing path was very long and buggy it seems. And apparently it provoked some problems along the way, since the system is still in pending request photo_2020-04-08_14-31-50

changemenemo commented 4 years ago

so impossible to write anything to you. Do I need to delete the chat and begin a new one ? or will it be the same problem?

KeeJef commented 4 years ago

this shouldnt be occurring, but yeah try deleting and readding

changemenemo commented 4 years ago

tracing a path is again very buggy. So that's what my friend had to endure since yesterday I guess. (I didn't get that since I was using the pc app). Our location is belgium. So I don't know if you have a specific problem between belgium and your closest node to enter your network but it's pretty unbearable. Since the beginning of this message my iphone is tracing a path and it's not succeeding apparently....

KeeJef commented 4 years ago

What versions do you have installed? it looks like your using quite a few platforms

changemenemo commented 4 years ago

we always use the last one. We are up to date everywhere. So it's not a version problem. clearly not. I4m going to send you from another session ID now with the PC app

changemenemo commented 4 years ago

And w eonly used 2 platforms. IOS, and PC. Same country, different ISPs, tried in wifi, 4G and ethernet.

KeeJef commented 4 years ago

Above in the bug report you say you are on 1.0.5, but the latest Session desktop version is 1.0.6

changemenemo commented 4 years ago

sent

changemenemo commented 4 years ago

well I4ve controlled 2 days ago and the latest was 1.0.5 so I guess nor your auto updater si working and that browser's cache was hiding the new version

changemenemo commented 4 years ago

by the way on the iphone, it's still tracing a path to your session ID. I've closed session on PC, relaunch it -> no notification of new version. And your chat with my first message for a request disappeared.(on PC)

KeeJef commented 4 years ago

what version number is your desktop and iOS clients?

changemenemo commented 4 years ago

as I told you 1.0.5 the iphone is the same than on the apple store, I do'nt know you would ask. The first thing we do in the morning is updating our apps. I don't even know where to look for the ios version nubmer since I don't see it nowhere on the app.

changemenemo commented 4 years ago

app store is saying 1.0.8.

KeeJef commented 4 years ago

On the desktop front please upgrade and see if that improves message sending, i havent gotten anything from you so far https://github.com/loki-project/session-desktop/releases/tag/v1.0.6

changemenemo commented 4 years ago

and sorry to bother you with all these. If we had more control over the app and what it's actually doing I would be capable of diagnose if there is a network problem to reach out your network or if it's in the client itself there is a problem but here I can't do that.

Plus I don't see a reason in code client that would suggest a possible problem which would result in delays or anything alike. The problem That I've jsut sent you about the iphoen and the pending request, that I can totally see that there is a problem in the client's code. But for a delay to happen I don't see anything about that in the code.

Plus you did mention on another ticket some time ago that it was your own network with your own nodes that you were using, so that's why I4m wondering if it's not more a problem between belgium and the nodes.

changemenemo commented 4 years ago

And I can confirm that on every single of my PC hosts the auto update of 1.0.5 isn't working or isn't detecting a change in version

changemenemo commented 4 years ago

session_problemAnnotation 2020-04-08 151526 session 1.0.6 this is what I get when I put your session id into new session, So the message did go through

KeeJef commented 4 years ago

are you restoring from seed or creating a fresh account?

changemenemo commented 4 years ago

no restore no fresh account. I jsut upgraded like I do with every other app. Why whould I do a fresh account or restoring from seed.

neuroscr commented 4 years ago

In the process of debugging, did you ever try “reset session”, just let me know. I’m not suggesting to try it (in fact there maybe a bug I found on the desktop’s reset)

changemenemo commented 4 years ago

no I did not try it. For one simple reason, it might hide a few other problems that might be happening behind the scene.

There could be a problem with the creation of session ID, which could be a good reason why the network would be haywire and my friend and I have so much problems with your network. or other problems that I don't think of right now.

I did do that when you had a problem in another ticket I created some time ago, when we were discussing about seed phrase problem, passphrase problem.

But I'm not sure it's a good debugging method to actually creat always a new session ID to debug everything

changemenemo commented 4 years ago

so does this app use the TOR network or not?

if not, why is it that unconceivable there is a networking problem between belgium and the nodes?

changemenemo commented 4 years ago

I just received 5 messages from my friend,on my just upgraded 1.0.6 desktop app which is from 12.49 and we are 15.25 so that's 3 hours delay. And just a reminder, he's using the IOS app and have like me problems with the tracing path step.

changemenemo commented 4 years ago

Let's say for the sake of the argument that this is a client code problem.

Then why would there be a delay? An impossible connection, that I would understand because there would be some problem in the networking protocol of the app. But a delay? That means that the connection is actually feasable and happening....

KeeJef commented 4 years ago

The app doesn't use Tor it uses the Loki network to onion route messages which is a network of ~950 community run Servers, we dont really have central servers so i'm very doubtful this is a Belgian specific issue. There has been some network issues in the last day, and some changes with proxy and onion requests but im not sure whats causing this. Maybe it has something to do with low path build success rates and the app retrying until it can find a usable path (on the recipient and sender sides)

neuroscr commented 4 years ago

Because the network is distributed across so many nodes, as you’ve highlighted, it’s very hard to test and diagnose (even for us devs). There have been client-side bugs that contribute to these issue.

But frankly we’re also quite shocked at these delays. And no one else has reported. My current thought is that you were hitting some client-side issues coupled with snode issues and that 1.0.6 is handling the issues much better, hence why you got the messages. I have a feeling if you stick with 1.0.6 the delay may go away.

We’ll continue improving things on our end

changemenemo commented 4 years ago

Anyway I don't see the client's code been concerned by this problem. And sorry to have posted it here, but as I stated above, it's not like there is a community chat where we can make you aware of those problems.

For me it's becoming clear and clear there is a problem in the loki network. Maybe a problem with the version of the different nodes, maybe some have bad communication or misconfigurations issues.... I don't know.... But delays for me is not something related to the client, For me it's related to the nodes themselves.

neuroscr commented 4 years ago

We have chat rooms on discord, telegram and a couple open groups in session itself: feedback.getsession.org and chat.getsession.org

changemenemo commented 4 years ago

Because don't forget the problem is 1/ on IOS becasue I'm using the latest version to contact KeeJef and it's not happening . cfr above with the screenshot. 2/ on PC with 1.0.6, where JeeKef isn't receiving my request.

can you link your different chats please? Because I don't find it on telegram for example

changemenemo commented 4 years ago

photo_2020-04-08_15-38-33 it has been like that now since JeeKef asked me to retry on the iphone...

neuroscr commented 4 years ago

https://t.me/LokiCommunity is our telegram link, the complete list should be available on our website https://loki.network

changemenemo commented 4 years ago

okey I just joind the telegram community. Thanks for the links

changemenemo commented 4 years ago

So I've tested on the PC now, I don't see anymore delays. I tried between one of my IOS device from one ID session through a vpn in serbian to my session ID on my pc and it's seems to work, even if the IOS app is not very stable at least it's kinda working. I didn't find the blocking dns for the PC. We need more information I think

is the seed node imaginary.stream?

and also what does it get from the seed node? Ip address or other host names that needs to be resolved from DNS?

changemenemo commented 4 years ago

I have heavy time outs on all of them :

  "seedNodeList": [
    {
      "ip": "public.loki.foundation",
      "port": "22023"
    },
    {
      "ip": "storage.seed1.loki.network",
      "port": "22023"
    },
    {
      "ip": "storage.seed2.loki.network",
      "port": "38157"
    },
    {
      "ip": "imaginary.stream",
      "port": "38157"
    }
  ],

I'm going to make some tweaks tomorrow on which resolver dnscrypt is using and I'll see if there is improvement.

For my multiple unbound setup the time frame is within range. At least there is one positive side, it will force me to always evaluate the problem first by testing the dns response.

changemenemo commented 4 years ago

maybe we can close the issue now. It doesn't seem to happen now. But we could think about a more generic proxy as seedNode to access the others to avoid those kind of problems if a path fails.