-
Notifications
You must be signed in to change notification settings - Fork 1k
Messages are sent to me twice on some occasions #2726
Comments
Happens to me also, running latest git version |
Same. |
If the ACK is lost for any reason, the message is resent. Not much to do about it. |
If a message needs to be resent though can't it send some information with it that tells the qTox client that it has been resent, and then if the qTox client registers that there is another exact duplicate message already being displayed, and this is an automatic resend, and not what the user has requested, then just not to display the duplicate message? |
You should discuss this in toxcore repo. |
I have filed a bug report on this here. |
People keep saying this is a toxcore issue and it is an extension thereof, but I believe qtox is "worse than others" at sending double messages. All of my friends that have qtox occassionally send me duplicate messages. Whereas I (using miranda NG) and some of my uTox friends NEVER send me duplicate messages. There must be some kind of timeout in qtox that tries to resend a message if an ack(?) is not received within a given timeframe. I would recommend extending this timeout to at least 15-20 seconds. It is somewhat annoying to keep getting duplicate messages from qTox users. |
Though it may be something else, this may be completely failing here #3022. |
Right, there is timeout, and IIRC it's a bit short. Increasing it might prove helpful, even if it won't fix the underlying issue. |
We need numbered messages in core. It's been talked about but probably not focused on because of new groups. @zetok Do you know what the current timeout is? I agree it should be at least 15 seconds. |
@ProMcTagonist Um, from what I can see, timeout is currently 15s. I'll make PR doubling it, or perhaps it should be 45s ? |
Actually, I'm not sure if that's it. It's either of 2 values, and that would be either 2s, or 15s. Well, PR will need to be tested. |
Should make problem with duplicated messages less common. Related to qTox#2726.
I don't know if the workaround has entered the "stable" 1.3.0 version but this happens every time there is a minor problem with a network packet and the message cannot therefore be immediately sent. I have received 3 times a group of 5 messages and a friend has received a message 6 times. If you cannot code it on your own, then please use an external library such as http://mqtt.org/. |
I use qTox 24/24, 7/7 and message repetition happens almost never. |
I haven't shut qTox, except to apply upgrades, for a long time. I'm on Linux and I get message repetition every few days. |
Should make problem with duplicated messages less common. Related to qTox#2726.
This is still happening even on the latest qtox. None of the other clients ever send me duplicate messages, just qtox. After restarting qtox, issue is usually gone but I dunno if it's because of any bugs in qtox. I think it's gone because of fresh connections being made/remade... Usually the duplicate arrives within 10 seconds, but I had one case where it took 30 seconds. Assume A is using qtox 1.4.1 latest version available for the updater. See two actual examples below:
and one more
and one more where the time is actually 30 seconds...
Here it's 30 seconds... |
Should make duplicated messages even less common (qTox#2726)
Is there any chance the pull requests could be put off in favour of this bug? I think they shouldn't've been started to begin with given this and other bugs which regularly annoy the hell out of users, along with other bugs. Why didn't you fix the bugs first so that people can have a decent experience while you refactor the code? |
This would be considered a high priority bug on uTox... Perhaps it's time On Thu, Sep 15, 2016 at 11:30 AM, Dimitar Dobrev notifications@github.com
|
@GrayHatter perhaps... it seems that bugs are not important to the qTox devs. Is uTox compatible with existing qTox profiles? |
@GrayHatter have you fixed yet bug in µTox that causes whole xorg session to slow down when receiving messages? Seems like something that should have extremely high priority..
You could ask @GrayHatter, he's the one who said that he has knowledge how to fix this bug and that fix could be made very quickly (5 min if memory serves well). Instead he chooses to act like an asshole, trying to promote crappy µTox at the cost of qTox. The bugs are fixed by people who can reproduce them – in the last month or so I might have run into it like once.
How exactly not fixing other bugs would help fix this one? |
@ddobrev It should be, unless qTox is doing something shifty... @zetok I've still never been able to duplicate that bug. But I think I know more about how to fix it, so if you do ever find a way for me to duplicate it, let me know so I can take a crack at it. And yeah, the fix for that bug is kinda obvious, I don't know how qTox works well enough to open a PR myself. So it wouldn't be 5 min for me. (I also probably shouldn't say 5 minutes either... I don't know how much code would need to be changed) |
Uhm… what do you mean by that? Do you know, where the problem is? Could you provide some pseudo c++ code without internal qTox knowledge required to clarify that? |
relevant part from IRC:
|
It does and it gets even better. The PR #3639 further improves the situation, because unsent (!) messages are sent each time the chat opens (depending on the friend's online status) -> correct initialization.
I can provide the PR for the fix. |
@GrayHatter Thanks for the information via chat! Though We provided initialization "incidentally" via #3639, as instead of creating every chat widget "dumb" on startup, we create it, when a chat is "activated" (a friend is selected). This in turn calls |
@antis81 thank you for the fix, I hope you'll have little trouble merging it. |
Hello all. I'd like to once again ask you what's happening with this project and if it's ever going to be fully useful. This bug has not been fixed for a year. #2820 , #3158 and #2771 have all seen zero attention as well. The all mighty refactoring at https://github.com/qTox/qTox/tree/ui/redesign hasn't been touched in a month. I do believe it's about time you either fixed some of them or added a large bold text at the top of your README saying "this project is just our playground, if it so happens that it works for you, fine by us". |
@ddobrev not quite in readme, but license states it quite clearly: https://github.com/qTox/qTox/blob/master/LICENSE I've been thinking about adding a license badge on top of README.md, I'll make sure to do that right after #3793 gets merged. |
Still see this issue built off tip at e606d3c The long timeout before resend might actually make the problem worse for me since instead of just getting the same message twice, you get the message once and then again 2 minutes later, interrupting whatever you were talking about at the time. |
Looked into this for a bit: If your computer load is low, list of queues is small, and network latency is high, you then service the list of queues, add the receipt to the map, get the receipt back from your peer, and everything if fine. If the load is high, list of queues is large, and network latency is low, you then might receive the receipt from your peer, which is silently discarded in OfflineMsgEngine::dischargeReceipt if not registered. You then service the list of commands, register the receipt, pend with a little spinny wheel forever, resend the message, get the ack, confuse your peer. Changing History::addNewMessage from db->execLater to db->execNow fixes the problem completely for me. I can spam to my hearts content over LAN. I'll test it tomorrow when I'm in person (currently remoting to a desktop) and can see how the blocking execute affects feel/responsiveness of the applciation, and prepare a PR. |
Fixes qTox#2726 Register for receipt handling only once, log if receipt is received that is unexpected, synchronously add receipt of a sent message to map so that the peer can't answer before we are expecting the receipt.
This does hurt responsiveness, if you spam like crazy while building or something, it locks up for a few seconds. In normal use it pauses for ~200ms after you send a message. This still seems a lot better for me, since I was getting double messages multiple times a day which confuses conversations, but a bigger refactor to record the IDs synchronously without a db access. uTox doesn't have this even after enabling history which is off by default. |
Fixes qTox#2726 Register for receipt handling only once, log if receipt is received that is unexpected, synchronously add receipt of a sent message to map so that the peer can't answer before we are expecting the receipt.
Fixes qTox#2726 Register for receipt handling only once, log if receipt is received that is unexpected, synchronously add receipt of a sent message to map so that the peer can't answer before we are expecting the receipt.
Fixes qTox#2726 Register for receipt handling only once, log if receipt is received that is unexpected, synchronously add receipt of a sent message to map so that the peer can't answer before we are expecting the receipt.
Fixed responsiveness, back to async, still safe #4608 |
Fixes qTox#2726 Register for receipt handling only once, cache receipts that are received before message is writen to history and mark a message as sent once both its receipt has been received and it has been writen to history
Fixes qTox#2726 Register for receipt handling only once, cache receipts that are received before message is writen to history and mark a message as sent once both its receipt has been received and it has been writen to history
Fixes qTox#2726 Register for receipt handling only once, cache receipts that are received before message is writen to history and mark a message as sent once both its receipt has been received and it has been writen to history
Fixes qTox#2726 Register for receipt handling only once, cache receipts that are received before message is writen to history and mark a message as sent once both its receipt has been received and it has been writen to history
I have recently noticed (after one of the last updates) that when somebody sends me a message, about 2 or 3 seconds after they have sent it they send me an exact duplicate, however this does not happen with all messages they send me, nor do I see it in relation to any of my messages. The other strange thing is that the other person cannot see the duplicate message and only sees the original.
Here is an example of a duplicate message I see:
The text was updated successfully, but these errors were encountered: