Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicate messages in google hangout #198

Open
therebelrobot opened this issue Dec 19, 2014 · 12 comments
Open

Duplicate messages in google hangout #198

therebelrobot opened this issue Dec 19, 2014 · 12 comments

Comments

@therebelrobot
Copy link

therebelrobot commented Dec 19, 2014

Connected to Google hangouts via XMPP, and am getting duplicate messages sent from the client to google. I saw #103, but I'm not sure if that's the same issue and/or if that fix has been rolled out for update yet.

OS: Ubuntu 14.04
Vendor: Debian 0.11~rc5-1
Frontend: GNOME 0.11.0.0
Engine: 0.11.0.0

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/7138978-duplicate-messages-in-google-hangout?utm_campaign=plugin&utm_content=tracker%2F277125&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F277125&utm_medium=issues&utm_source=github).
@rodoviario
Copy link

Affects me too. I'm getting 4 times each message.

@meebey
Copy link
Owner

meebey commented Oct 5, 2015

Can you please Start Smuxi with debugging enabled using this command: smuxi-frontend-gnome -d
Then the Server chat of gTalk will show raw XMPP messages. Please copy the duplicate messages from it to here.

@rodoviario
Copy link

Did many tries. The events from -d are so fast, that when I try to select and copy, they are allready gone at the top of the scrolling capabilities of my terminal. Also tried smuxi-frontend-gnome -d > smuxilog.log, but it creates the same 1.5 mb file all the times, with old messages on it. It does not capture my testings chats.

I can see in the terminal de XMPP messages appear (very fast) and go up the screen, but if I move the smuxi window, or change focus, there are so many new messages, that I lost the ones required again.

I will try to configure the terminal emulator to capture all the session and report back, but if you now a way to correctly capture all the output to a file, it will be much more easy for me to find the xmpp chat lines.

Thanks

@meebey
Copy link
Owner

meebey commented Oct 6, 2015

The protocol debug only happens in the server chat, not in the debug log on stdout. You can increase the amount of retained messages in preferences: Interface -> General -> Buffer Lines, set that to 1000 for example. What I wonder is, new messages should always be visible in the protocol debug in the server chat and only move out of the visible chat buffer if it too many new messages arrive, but when you say duplicates I assume it means a single message duplicated a few times...

@rodoviario
Copy link

Thanks for the stdout clarification. I will increase the buffer size as soon as I get to my office.
I do mean duplicate (4 times) chat entries. I chat to my wife, she uses directly the gmail interface to hangouts, in chrome browser. If I say hello to her, it arrives 4 times (to her). Every line of chat is multiplied by 4.
If I check my android phone, when it gets in sync, I can see also the 4 entries. But in the smuxi interface I only see one line when I press enter, and of course, the answers from my wife are one line only too.
I will report later, hopefully with the XMPP entries from the terminal windows copied here.

@rodoviario
Copy link

Here it is... found it in the terminal buffer

2015-10-06 07:46:57,521 [Main] DEBUG TRACE - [smuxi-engine.dll] CommandModel..ctor(fm = Smuxi.Engine.FrontendManager, chat = 'Smuxi.Engine.PersonChatModel', cmdChar = '/', data = 'probando a ver si repite 4 veces')
2015-10-06 07:46:57,521 [Main] DEBUG TRACE - [smuxi-frontend.dll] CommandManager.Execute(cmd = <probando a ver si repite 4 veces>)
2015-10-06 07:46:57,521 [Main] DEBUG Smuxi.Frontend.Gnome.Entry - added: 'probando a ver si repite 4 veces' to history
2015-10-06 07:46:57,521 [CommandManager] DEBUG TRACE - [smuxi-frontend.dll] CommandManager.DoExecute(cmd = <probando a ver si repite 4 veces>)
2015-10-06 07:46:57,521 [CommandManager] DEBUG TRACE - [smuxi-engine.dll] Session.Command(cd = <probando a ver si repite 4 veces>)
2015-10-06 07:46:57,525 [CommandManager] DEBUG TRACE - [smuxi-engine.dll] ProtocolManagerBase.OnMessageSent(e = Smuxi.Engine.MessageEventArgs)
2015-10-06 07:46:57,526 [Main] DEBUG TRACE - [smuxi-frontend-gnome-xmpp.dll] XmppPersonChatView.AddMessage(msg = <pcpod> probando a ver si repite 4 veces)

The message was (without quotes) "probando a ver si repite 4 veces"

@meebey
Copy link
Owner

meebey commented Oct 6, 2015

Ok, this does not contain the XMPP messages from the gTalk server chat but I see now that sending a message from Smuxi to others is duplicated. I thought receiving is duplicated. I will try to reproduce this issue.

@meebey
Copy link
Owner

meebey commented Oct 6, 2015

The server chat I mean is named "XMPP talk.google.com" and it contains the raw protocol messages, when Smuxi was started with -d

@rodoviario
Copy link

I copied 14000 lines from the terminal to a text file
Searched for the termi talk.google.com and delete all other lines
Deleted some duplicate lines (with only different timestamp)
Deleted some of my contacts (I have a lot)
But I am unable to attache the 160 lines text file here, I don't know why

Anyway I discovered that with the contact I have the problem there is a difference with some other contacts, and it is that in no place its gmail email is shown... Instead what its shown is a long passwordlike-username@public.talk.google.com

I will put some of the entries here in a code block

2015-10-06 08:48:53,062 [Main] INFO  Smuxi.Engine.Session - Conectando automáticamente a XMPP/ (talk.google.com:5222)...
2015-10-06 08:48:54,494 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] Session.CreateChat(id = 'talk.google.com', name = 'XMPP talk.google.com', protocolManager =  (XMPP) (no conectado))
 talk.google.com, talk.google.com) took: 580.30 ms
2015-10-06 08:48:55,075 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] Session.AddChat(chat = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:55,075 [FrontendManager] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.QueueAdd(chatModel = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:55,075 [FrontendManager] DEBUG Smuxi.Frontend.ChatViewSyncManager - QueueAdd() <<XMPP/talk.google.com/XMPP talk.google.com>> created sync lock
2015-10-06 08:48:55,075 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] Session.SyncChat(chat = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:55,075 [FrontendManager] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.QueueSync(chatModel = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:55,293 [Threadpool worker] DEBUG Smuxi.Engine.ProxySettings - GetWebProxy(<xmpps://talk.google.com:5222/>): returning no proxy
2015-10-06 08:48:55,294 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = 'rodolfo.guagnini@gmail.com', identityName = 'pcpod', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:48:56,244 [Threadpool worker] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.Add(chatModel = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:56,245 [Threadpool worker] DEBUG Smuxi.Frontend.ChatViewSyncManager - SyncWorker() <<XMPP/talk.google.com/XMPP talk.google.com>> waiting for sync lock release...
2015-10-06 08:48:56,894 [Main] DEBUG TRACE - [smuxi-frontend.dll] ChatViewManagerBase.CreateChatView(chat = <XMPP/talk.google.com/XMPP talk.google.com>, chatType = Protocol, protocolManagerType = Smuxi.Engine.XmppProtocolManager, parameters = [])
2015-10-06 08:48:56,895 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] Frontend.LoadIcon(iconName = 'smuxi-protocol-chat', size = 16, resourceName = 'protocol-chat_256x256.png')
2015-10-06 08:48:56,900 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatView..ctor(chat = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:56,902 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ProtocolChatView..ctor(chat = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:56,904 [Main] DEBUG Smuxi.Frontend.Gnome.ChatViewManager - OnChatAdded(): adding <talk.google.com> at: 2
2015-10-06 08:48:56,907 [Main] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.ReleaseSync(chatView = <talk.google.com>)
2015-10-06 08:48:56,907 [Main] DEBUG Smuxi.Frontend.ChatViewSyncManager - ReleaseSync() <<XMPP/talk.google.com/XMPP talk.google.com>> releasing <talk.google.com>
2015-10-06 08:48:56,907 [Threadpool worker] DEBUG Smuxi.Frontend.ChatViewSyncManager - SyncWorker() <<XMPP/talk.google.com/XMPP talk.google.com>> sync lock released
2015-10-06 08:48:56,907 [Threadpool worker] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.Sync(chatView = <talk.google.com>)
2015-10-06 08:48:57,277 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatTreeView.Render(chatView = <talk.google.com>)
2015-10-06 08:48:57,350 [Threadpool worker] DEBUG TRACE - [smuxi-frontend-gnome.exe] ProtocolChatView.UpdateServerIcon(iconPath = '/home/pcpod/.cache/smuxi/server-icons/XMPP/talk.google.com.ico')
2015-10-06 08:48:57,352 [Threadpool worker] DEBUG Smuxi.Frontend.ChatViewSyncManager - Sync() <talk.google.com>.Sync() done,  syncing took: 445 ms
2015-10-06 08:48:57,352 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] FrontendManager.AddSyncedChat(chatModel = <XMPP/talk.google.com/XMPP talk.google.com>)
2015-10-06 08:48:57,647 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatTreeView.Render(chatView = <talk.google.com>)
2015-10-06 08:48:57,749 [Main] DEBUG Smuxi.Frontend.Gnome.ChatViewManager - OnChatSynced(): <talk.google.com>.Populate() Position: 2 done, took: 102 ms
2015-10-06 08:48:59,820 [Threadpool worker] DEBUG Smuxi.Engine.ChatModel - InitMessageBuffer(): initializing SqliteMessageBuffer(local, XMPP, talk.google.com, Contacts) took: 4482.86 ms
2015-10-06 08:48:59,820 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] Session.AddChat(chat = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,823 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] Session.MoveChat(chat = <XMPP/talk.google.com/Contacts>, newPosition = 3)
2015-10-06 08:48:59,823 [FrontendManager] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.QueueAdd(chatModel = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,823 [FrontendManager] DEBUG Smuxi.Frontend.ChatViewSyncManager - QueueAdd() <<XMPP/talk.google.com/Contacts>> created sync lock
2015-10-06 08:48:59,823 [Threadpool worker] DEBUG TRACE - [smuxi-frontend.dll] ChatViewSyncManager.Add(chatModel = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,824 [Main] DEBUG TRACE - [smuxi-frontend.dll] ChatViewManagerBase.CreateChatView(chat = <XMPP/talk.google.com/Contacts>, chatType = Group, protocolManagerType = Smuxi.Engine.XmppProtocolManager, parameters = [])
2015-10-06 08:48:59,827 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatView..ctor(chat = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,829 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] GroupChatView..ctor(groupChat = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,833 [Main] DEBUG TRACE - [smuxi-frontend-gnome-xmpp.dll] XmppGroupChatView..ctor(chat = <XMPP/talk.google.com/Contacts>)
2015-10-06 08:48:59,841 [Main] DEBUG Smuxi.Frontend.ChatViewSyncManager - ReleaseSync() <<XMPP/talk.google.com/Contacts>> releasing <Contacts>
2015-10-06 08:49:00,465 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatTreeView.Render(chatView = <talk.google.com>)
2015-10-06 08:49:00,520 [Threadpool worker] DEBUG TRACE - [smuxi-common.dll] IconCache.DownloadServerIcon(websiteUrl = 'http://www.google.com/talk/', iconFile = /home/pcpod/.cache/smuxi/server-icons/XMPP/talk.google.com.ico)
2015-10-06 08:49:02,071 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] ChatTreeView.Render(chatView = <talk.google.com>)
2015-10-06 08:49:02,213 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = '3e0w6lpi2b7jj1i7fz0jfzhekp@public.talk.google.com', identityName = 'Lilian Alford', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,213 [Threadpool worker] DEBUG TRACE - [smuxi-engine-xmpp.dll] XmppPersonModel..ctor(jid = 3e0w6lpi2b7jj1i7fz0jfzhekp@public.talk.google.com, nick = 'Lilian Alford', protocolManager = gmail.com (XMPP))
2015-10-06 08:49:02,216 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = 'rodolfo.guagnini@gmail.com', identityName = 'Rodolfo Guagnini', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,216 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = 'aguirrejos@gmail.com', identityName = 'Jose Aguirre', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,216 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = 'aner002@gmail.com', identityName = 'Andras Calamandrei', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,216 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = 'boardernut@gmail.com', identityName = 'Andres Leitner', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,221 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = '37lctbcqefb2k006fgwcmvyqzq@public.talk.google.com', identityName = 'maria gabriela rodriguez perez', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,221 [Threadpool worker] DEBUG TRACE - [smuxi-engine-xmpp.dll] XmppPersonModel..ctor(jid = 37lctbcqefb2k006fgwcmvyqzq@public.talk.google.com, nick = 'maria gabriela rodriguez perez', protocolManager = gmail.com (XMPP))
2015-10-06 08:49:02,221 [Threadpool worker] DEBUG TRACE - [smuxi-engine.dll] ContactModel..ctor(id = '3nq0lgianbcy306bt6j92gx7wb@public.talk.google.com', identityName = 'Gabriel Goyo', networkID = 'talk.google.com', networkProtocol = 'XMPP')
2015-10-06 08:49:02,221 [Threadpool worker] DEBUG TRACE - [smuxi-engine-xmpp.dll] XmppPersonModel..ctor(jid = 3nq0lgianbcy306bt6j92gx7wb@public.talk.google.com, nick = 'Gabriel Goyo', protocolManager = gmail.com (XMPP))

Hope it is enought to track down the problem.
Thanks!

@vician
Copy link

vician commented Apr 5, 2016

I've discovered that it's related to rewriting of e-mail address to full name. When I send message to my.firend@gmail.com it's without duplication but the thread will not receive a message (only My Friend receives).

@meebey
Copy link
Owner

meebey commented Apr 5, 2016

The Google XMPP server is not XEP conformant and Smuxi tries to workaround this duplication problem already, see: https://github.com/meebey/smuxi/blob/master/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs#L1376

@vician
Copy link

vician commented Apr 6, 2016

What is jid.Server? Is it hostname, my domain or domain of target user?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants