#instantbird log on 07 28 2016

All times are UTC.

00:11:00 <-- abdelrhman has quit (Connection closed)
00:17:12 --> abdelrhman has joined #instantbird
00:40:34 <-- DGMurdockIII has quit (Quit: Leaving)
00:48:52 <-- abdelrhman has quit (Connection closed)
00:50:57 --> abdelrhman has joined #instantbird
02:14:37 <instant-buildbot> build #3247 of macosx-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/3247
04:17:31 <-- bgmCoder has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
04:19:28 <instant-buildbot> build #774 of linux64-nightly-default is complete: Failure [4failed shell_6]  Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/774
04:42:52 --> Bollebib has joined #instantbird
05:33:45 <-- EionRobb has quit (Quit: Leaving.)
06:10:48 --> EionRobb has joined #instantbird
06:11:30 <-- abdelrhman has quit (Ping timeout: 121 seconds)
06:36:01 --> EionRobb1 has joined #instantbird
06:36:35 <-- EionRobb has quit (Ping timeout: 121 seconds)
06:42:50 --> abdelrhman has joined #instantbird
06:45:46 --> bogdan_maris has joined #instantbird
07:55:32 <-- abdelrhman has quit (Ping timeout: 121 seconds)
07:59:36 <-- Tonnes has quit (Connection closed)
08:01:26 --> Tonnes has joined #instantbird
08:15:36 --> aleth has joined #instantbird
08:15:36 * ChanServ sets mode +o aleth 
08:20:35 --> gerard-majax has joined #instantbird
09:23:23 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:51:04 --> flo-retina has joined #instantbird
09:51:04 * ChanServ sets mode +qo flo-retina flo-retina 
09:52:09 --> abdelrhman has joined #instantbird
09:53:47 <abdelrhman> aleth: Some servers sends the message twice after enabling carbons
09:54:10 <abdelrhman> one of them is encapsulated like XEP-0280 
09:54:18 <abdelrhman> sections 6 and 7
10:30:52 --> BWMerlin has joined #instantbird
10:55:14 <-- Suiseiseki has quit (Ping timeout: 121 seconds)
11:11:23 --> Suiseiseki has joined #instantbird
11:41:14 --> nhnt11 has joined #instantbird
11:41:14 * ChanServ sets mode +h nhnt11 
11:49:19 <-- nhnt11 has quit (Ping timeout: 121 seconds)
11:58:31 <-- abdelrhman has quit (Ping timeout: 121 seconds)
11:59:27 --> abdelrhman has joined #instantbird
12:01:57 <-- abdelrhman has quit (Connection closed)
12:02:07 --> abdelrhman has joined #instantbird
12:02:20 --> nhnt11 has joined #instantbird
12:02:20 * ChanServ sets mode +h nhnt11 
12:05:04 <aleth> abdelrhman: are you saying they don't follow the spec?
12:05:54 <aleth> "The receiving server MUST NOT send a forwarded copy to the client(s) the original <message/> stanza was addressed to, as these recipients receive the original <message/> stanza."
12:12:26 <-- nhnt11 has quit (Ping timeout: 121 seconds)
12:13:22 <abdelrhman> I think yes, but the case I'm talking about is different.
12:14:24 <abdelrhman> In the XEP-0280, Listing 10
12:14:54 <abdelrhman> Server sends carbon to the other clients
12:15:34 <abdelrhman> That stanza should only be received
12:16:55 <abdelrhman> but I receive another stanza of the normal message
12:17:18 <aleth> Juliet is sending a message to a specific resource, and all Carbon-enabled resources of Romeo get forwarded copies.
12:17:59 <aleth> So it seems like you are talking about the case where the target resource is the client.
12:18:25 <aleth> Is that what you mean?
12:18:48 <abdelrhman> http://pastebin.instantbird.com/3246821
12:20:42 <aleth> I don't understand how the same client instance can be both resource test21@xmpp.jp/4799541648685... and test21@xmpp.jp/151806486714...
12:21:57 <abdelrhman> Using two different clients
12:22:09 <aleth> I'm confused by what exactly you are asking
12:23:04 <aleth> resource 151806486714... sends a message, and resource 4799541648685... gets a copy. If those are two different clients that seems as expected
12:23:38 <aleth> eh, I mean resource 151806486714... receives a message of course
12:25:21 <abdelrhman> resource 13201566 talks with 151806486. resource 479954164 has enabled message carbons
12:26:03 <abdelrhman> so it's expected to get only a forwarded message, not two messages of the same stanza
12:27:37 <aleth> where does it get two? in your pastebin it looks like it just get one
12:29:20 <abdelrhman> No, they are two messages which are received at resource 479954164
12:29:36 <aleth> o_O
12:29:54 <aleth> That does look wrong.
12:30:46 <aleth> The second message is not directed at 479954164 so it should not see it
12:31:21 <aleth> Are you sure this is not an artifact of some bug in js-xmpp message parsing when parsing forwarded messages?
12:33:09 <abdelrhman> I'll test that again now.
12:33:25 <aleth> I mean, are we really receiving two copies or are we parsing it twice for some reason
12:37:21 <-- BWMerlin has quit (Ping timeout: 121 seconds)
12:41:25 <abdelrhman> According to logs, we receive it twice
12:41:45 <abdelrhman> "two copies"
12:41:47 <aleth> How about adding some code that ignores (with a WARN) incoming stanzas that are not directed at the client resource? And also mention it on jdev@conference.jabber.org and see what they say about it? 
12:43:28 <abdelrhman> OK, we will ignore all (not directed to the client) except message carbons.
12:44:06 <aleth> It would be good to get confirmation that this is a server bug
12:44:22 <abdelrhman> OK
12:50:44 --> clokep_work has joined #instantbird
12:50:44 * ChanServ sets mode +o clokep_work 
12:58:42 <aleth> abdelrhman: note rfc 6120 10.5.4.
13:10:27 <-- micahg has quit (Connection closed)
13:11:17 --> micahg has joined #instantbird
13:14:14 <abdelrhman> Ah, I did normalization for that check
13:30:27 <abdelrhman> No, seems we do not need to normalize
13:31:15 <aleth> abdelrhman: What I meant was: when you got those two copies, were both resources online?
13:31:43 <aleth> Because that rfc says that the target resource gets ignored if it is no longer online
13:33:42 <abdelrhman> But I think this part of RFC is for servers
13:33:45 <aleth> yes
13:34:48 <aleth> if resource 13201566 talks with 151806486 but 151806486 is offline, then the server will send the message to some resource that is online, and so you could end up in the situation you described above
13:38:51 <abdelrhman> Yes, this makes sense. But in previous situation both resources were online
13:43:19 <abdelrhman> Seems they are using ejabberd
13:43:29 <aleth> It makes me wonder about whether we can ignore messages with the wrong resource
13:43:42 <abdelrhman> Here is current implementation of carbons (https://github.com/processone/ejabberd/blob/master/src/mod_carboncopy.erl#L157) 
13:44:04 <aleth> Anyway, let me know what you discover from your discussion in the xmpp dev room
13:44:29 <abdelrhman> OK
13:44:33 <aleth> abdelrhman: ah, so you can see from that code why you got two copies?
13:44:48 <abdelrhman> Yes
14:51:14 <-- aleth has quit (Ping timeout: 121 seconds)
14:59:54 --> aleth has joined #instantbird
14:59:54 * ChanServ sets mode +o aleth 
15:27:09 <-- bogdan_maris has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
15:38:28 <abdelrhman> aleth: I found in an older version of XEP-0280 (Messages of type chat that are addressed to the bare JID (localpart@domain) MUST be delivered according to RFC 6121 § 8.5.2, and MUST be copied by the receiving server to all of the resources for that user that are carbons-enabled.)
15:38:47 <clokep_work> Old versions aren't usually useful.
15:40:03 <abdelrhman> ejabberd implementation says they implement (Message Carbons XEP-0280 0.8) 
15:43:12 <abdelrhman> aleth: maybe this issue mention our case (https://github.com/processone/ejabberd/pull/149)
15:45:46 --> bgmCoder has joined #instantbird
15:46:10 <abdelrhman> I mean specifically this line "When message arrives to User A/Res2, it will be forwarded to Res1 and Res3, because it does not have the badge "received"."
16:02:01 <abdelrhman> Seems the problem is in our parser!
16:02:49 <abdelrhman> I printed the received message from socket.jsm before passing it to the parser and it's one message!
16:23:25 <-- Tonnes has quit (Connection closed)
16:27:16 <abdelrhman> The main problem now that carbon message stanza has two message elements and this makes |isXmppStanza| (https://dxr.mozilla.org/comm-central/source/chat/protocols/xmpp/xmpp-xml.jsm#275) returns true on the first match of message element, so we get it as two messages.
16:42:24 --> Tonnes has joined #instantbird
16:52:30 --> DGMurdockIII has joined #instantbird
17:01:39 <-- flo-retina has quit (A TLS packet with unexpected length was received.)
17:02:03 <-- Mook_as has quit (Client exited)
17:02:07 --> arlolra has joined #instantbird
17:02:24 --> Mook_as has joined #instantbird
17:02:37 --> flo-retina has joined #instantbird
17:02:37 * ChanServ sets mode +qo flo-retina flo-retina 
17:07:58 <-- gerard-majax has quit (Ping timeout: 121 seconds)
17:20:33 <-- aleth has quit (Ping timeout: 121 seconds)
18:23:49 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:29:48 --> aleth has joined #instantbird
18:29:48 * ChanServ sets mode +o aleth 
19:01:19 <arlolra> clokep_work: can we merge those patches?
19:03:12 <clokep_work> arlolra: I think I asked for a change on one...
19:03:26 <clokep_work> But yeah, it's on my todo list, sorry.
19:04:39 <arlolra> just the comment about DM actions right
19:04:52 <arlolra> k, i was waiting to see if anythign else came up
19:05:03 <arlolra> sorry to bug, just trying to stay on top of all my things
19:05:20 <arlolra> don't stress about it, it can wait
19:13:03 --> gerard-majax has joined #instantbird
19:17:18 --> bogdan_maris has joined #instantbird
19:20:41 <aleth> abdelrhman: ah, so it was a bug after all ;) maybe there should be a test for this?
19:29:20 <-- EionRobb1 has quit (Quit: Leaving.)
19:34:35 <-- abdelrhman has quit (Connection closed)
19:34:49 --> abdelrhman has joined #instantbird
19:42:26 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
19:42:41 --> chrisccoulson has joined #instantbird
20:02:39 --> flo-retina has joined #instantbird
20:02:39 * ChanServ sets mode +qo flo-retina flo-retina 
20:07:50 <-- abdelrhman has quit (Connection closed)
20:07:56 --> abdelrhman has joined #instantbird
20:12:27 <-- abdelrhman has quit (Connection closed)
20:12:35 --> abdelrhman has joined #instantbird
20:24:27 <-- arlolra has quit (Client exited)
20:41:17 --> unghost has joined #instantbird
20:45:19 <-- bogdan_maris has quit (Ping timeout: 121 seconds)
20:54:54 <-- Bollebib has quit (Connection closed)
21:07:22 <-- clokep_work has quit (Ping timeout: 121 seconds)
21:11:59 --> EionRobb has joined #instantbird
21:38:32 --> clokep_work has joined #instantbird
21:38:32 * ChanServ sets mode +o clokep_work 
21:45:22 --> arlolra has joined #instantbird
21:46:53 <-- clokep_work has quit (Ping timeout: 121 seconds)
21:54:24 <-- gerard-majax has quit (Ping timeout: 121 seconds)
22:02:57 --> satdav has joined #instantbird
22:38:14 <-- abdelrhman has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
23:04:36 <-- chrisccoulson has quit (Ping timeout: 121 seconds)
23:12:37 <-- satdav has quit (Quit: Leaving)
23:15:28 <-- aleth has quit (Quit: Instantbird 50)
23:20:41 <-- unghost has quit (A TLS packet with unexpected length was received.)