#instantbird log on 07 01 2014

All times are UTC.

00:07:42 * Fallen is now known as Fallen|away
00:11:39 <-- Mook_as has quit (Input/output error)
00:14:50 --> Mook_as has joined #instantbird
00:30:28 --> clokep has joined #instantbird
00:30:28 * ChanServ sets mode +o clokep 
00:36:23 --> Armada has joined #instantbird
00:36:27 <-- Armada651 has quit (Ping timeout)
00:40:11 --> rosonline has joined #instantbird
00:57:21 --> iamjayakumars has joined #instantbird
00:57:34 <-- iamjayakumars has quit (Client exited)
01:02:06 <-- Rym has quit (Ping timeout)
01:05:34 <-- Armada has quit (Connection reset by peer)
01:12:13 <-- Mook_as has quit (Quit: Mook_as)
01:58:24 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
02:37:35 <-- clokep has quit (Ping timeout)
03:46:13 --> mconley|food has joined #instantbird
04:22:19 <-- mconley|food has quit (Input/output error)
04:29:09 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
04:37:32 --> mconley|food has joined #instantbird
04:39:54 <-- mconley|food has quit (Input/output error)
05:50:34 <-- EionRobb has quit (Quit: Leaving.)
06:02:51 --> Guido has joined #instantbird
06:04:37 --> jb has joined #instantbird
06:06:06 <Guido> is there a command to instal instantbird from the cmand promt or software center?
06:06:18 <-- jb has quit (Ping timeout)
06:17:02 --> gerard-majax_ has joined #instantbird
07:05:31 --> Tonnes has joined #instantbird
07:10:18 <-- gerard-majax_ has quit (Ping timeout)
07:28:14 --> jb has joined #instantbird
08:08:18 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
08:08:28 --> chrisccoulson has joined #instantbird
08:21:26 --> Armada has joined #instantbird
08:45:17 --> EionRobb has joined #instantbird
09:12:55 * Fallen|away is now known as Fallen
09:29:14 --> aleth has joined #instantbird
09:29:14 * ChanServ sets mode +o aleth 
09:29:43 <-- aleth has quit (Quit: exit stage left)
09:29:45 --> aleth has joined #instantbird
09:29:45 * ChanServ sets mode +o aleth 
09:35:22 --> gerard-majax_ has joined #instantbird
09:36:30 <-- aleth_web has left #instantbird ()
09:40:35 <nhnt11> aleth: How do you reproduce bug 955714?
09:40:41 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=955714 nor, --, ---, nhnt11, NEW, Tabbrowser conversations property assumes all tabs have linkedConversations
09:40:51 <nhnt11> (I just checked the list of bugs I'm assigned to and found that)
09:41:20 <nhnt11> I know that it definitely causes the error, but have never seen the warning.
09:41:24 <aleth> No idea, and as it's not in the bug description I assume when I filed the bug I didn't remember either and just spotted the error in the console
09:41:32 <nhnt11> alright.
09:41:40 <nhnt11> aleth: Prefixing it with !! should suffice right?
09:42:14 * nhnt11 tries
09:42:23 <aleth> There's probably a more legible way to do it
09:42:28 <aleth> i.e. filter before map
09:42:45 <aleth> or do it all in one step with a generator
09:42:49 <nhnt11> Ahh
09:42:59 <nhnt11> Didn't read the code properly
09:43:00 <nhnt11> Yeah okay
09:43:12 <nhnt11> (rather, I didn't register that we were mapping stuff)
09:44:49 <nhnt11> Fwiw I'd prefer filter then map
09:44:54 <nhnt11> The one step generator isn't very readable...
09:45:02 <aleth> nobody here likes generators ;)
09:45:11 <aleth> apart from me slipping them in once in a while...
09:45:13 <nhnt11> [aTab.linkedConversation for aTab of this.mTabs if aTab.linkedConversation]
09:45:23 <nhnt11> I like them, but that's a bit ugly ^
09:45:33 <aleth> yeah, that one would need some tuning
09:45:54 <aleth> Just go with what's easiest.
09:45:57 <nhnt11> alright
10:01:22 --> BWMerlin has joined #instantbird
10:03:17 <-- aleth has quit (Ping timeout)
10:12:20 <Guido> hello, i just got a new laptop - 64 bit, linux - and have some trouble with startng instantbird. i can't install ia32-libs and if i install an alternatoive it doesn't help starting instandbird
10:18:29 --> clokep has joined #instantbird
10:18:29 * ChanServ sets mode +o clokep 
10:19:18 <sawrubh> Guido: we don't do 64-bit builds
10:19:35 <sawrubh> I mean we don't distribute them, you'll have to build them yourself if you want to run it
10:20:22 <Guido> sawrubh: i found something about a lbrary which would allow to run a 32 bit version or do you know how to build it?
10:20:40 <sawrubh> Guido: https://developer.mozilla.org/en-US/docs/Simple_Instantbird_build
10:20:42 <clokep> Guido: One second.
10:20:47 <clokep> Stop that's bad advic.e
10:20:56 <sawrubh> eek
10:21:07 <clokep> Guido: You're running Ubuntu 14.04, I assume?
10:21:16 <Guido> clokep: yes
10:21:27 <sawrubh> clokep: I tried running the binary I downloaded from the website and it didn't run and at that time I was told because of the 64-bit issue
10:21:30 <clokep> Guido: https://groups.google.com/d/msg/mozilla.support.instantbird/MkzGljlVbik/BLIQWoYkaawJ
10:21:43 <clokep> sawrubh: Yes, but jumping from that to "built it yourself" isn't the right answer. :)
10:22:14 <clokep> Guido: Apparently Ubuntu likes to change the names of their packages every couple releases. :-\ That link should have the newer packages to install.
10:22:29 <clokep> The "real" solution is to get 64-bit builds going, yes. but we need to rebuild our Linux VMs first...
10:24:25 <Guido> clokep: so what do i have to do to let it work?
10:25:35 <Guido> the "sudo apt-get install ia32-libs" and tyhe 3 alternatives doesn't change something. so do i have to do something after installing it and maybe is there one of the 3 which i should use
10:26:24 <clokep> Guido: "The three alternatives"? What?
10:26:39 <clokep> Guido: You /don't/ do ia32-libs and you follow the directions in the link I gave you.
10:26:54 <Guido> if i enter "sudo apt-get install ia32-libs" i get an error and that there are 3 other possible pakages
10:27:19 <Guido> what do i do instead of ia32-libs?
10:28:55 <clokep> Guido: Did you read the link I sent you?
10:29:10 <clokep> sudo apt-get install libasound2:i386 libpango1.0-0:i386 libcairo2:i386 libgdk-pixbuf2.0-0:i386 libatk1.0-0:i386 libgtk2.0-0:i386 libxt6:i386
10:29:10 <clokep> sudo apt-get install libcanberra-gtk0:i386 gtk2-engines-murrine:i386 
10:29:10 <clokep> sudo apt-get install appmenu-gtk:i386 
10:30:46 <Guido> clokep: yes, i looked at the link and there is a link to the faq
10:31:03 <clokep> Guido: Did you read the text around the link? It says that it doesn't work.
10:31:44 <Guido> ah, didn't saw that there was an answer as well
10:32:25 <clokep> sawrubh: So I kno wI owe you a review, but what are you working on until you get that?
10:33:15 --> aleth has joined #instantbird
10:33:15 * ChanServ sets mode +o aleth 
10:33:41 <-- EionRobb has quit (Quit: Leaving.)
10:33:53 <sawrubh> clokep: I want to work on the purplexpcom thingmajig, I tried to get started but couldn't find a point of entry
10:37:34 <clokep> sawrubh: OK, I'd suggest holding off on tnhat slightly, let me look at the API first?
10:37:41 <clokep> That way you're not constantly rewriting for TWO APIs.
10:37:45 <clokep> Only the JS one you've done so far. :)
10:38:05 <clokep> An entry point? I'm not sure I understand.
10:38:17 <clokep> You should probably think about what the UI should be for ongoing transfer (like aleth has mentioned a few times :P)
10:38:28 <clokep> aleth: Ping me when I'm _work and I'll push that website patch.
10:38:38 <Guido> clokep: did the 3 comants and still nothing. i will try a reboot
10:39:18 <sawrubh> clokep: ok, so it might make more sense then to take a look *finally* (as aleth has been saying :P) at integrating the downloads panel in IB
10:39:42 <aleth> Guido: what do you mean by "nothing"? The apt-get commands will install the missing packages, they won't install IB.
10:39:44 <sawrubh> that was I won't be re-writing any API's and it would give us enough time to check libpurple's API
10:40:15 <sawrubh> clokep: btw http://hg.mozilla.org/users/florian_queze.net/purple/file/93b8dd3e84b2/libpurple/ft.c is the API right?
10:40:15 <Guido> aleth: yes, but than i tryed to open the instandbird file and nothing hapand
10:40:17 <aleth> sawrubh: the point is you don't want to constantly bitrot yourself ;)
10:40:35 <sawrubh> aleth: I've done that to myself in both my current bugs :)
10:40:41 <aleth> Guido: How did you try to open it?
10:40:57 <aleth> sawrubh: time to land stuff then! ;)
10:41:10 <Guido> aleth: just open the explorer and double klick "instantbird"
10:41:11 <sawrubh> I'm just waiting for flo's review on that FileLink stuff
10:41:23 <Guido> and rightclikc and open
10:41:30 <aleth> Guido: Can you try from the command line so we see if there is an error message?
10:41:44 <aleth> Go to the directory with cd and then type "./instantbird"
10:42:35 <aleth> (I'm assuming here you saw the 3 apt-get commands install things successfully)
10:45:44 <clokep> sawrubh: Wel you might still need to rewrite APIs if you find we haven't exposed enough to show downoad status, etc. ;) But yeah.
10:45:51 <clokep> sawrubh: Yes, but you probably want to look at the .h file.
10:46:09 <Guido> aleth: doing somthing wrong - dont get to the desktop
10:46:53 <aleth> Guido: Open a terminal, type "ls", look for your desktop folder, and cd to it.
10:47:12 <aleth> Though it's hard to guess from here what you are seeing...
10:48:46 <Guido> aleth: error while loading shared librarys: libstdc++.so.6
10:49:05 <Guido> no such file or directory
10:50:20 <aleth> Which Linux distro is this?
10:50:36 <Guido> aleth: xubuntu 14.04
10:53:46 --> mayanktg has joined #instantbird
10:53:49 <-- mayanktg has quit (Client exited)
10:53:58 --> mayanktg has joined #instantbird
10:54:00 <aleth> Hmm
10:55:11 <-- clokep has quit (Ping timeout)
10:56:23 <aleth> Guido: Try "sudo apt-get install libstdc++6:i386"
10:56:59 <aleth> I guess xubuntu differs from normal ubuntu in what is installed by default.
10:57:50 <Guido> aleth: one moment
11:00:50 <Guido> aleth: now libxt.so.6 is missing
11:02:39 <aleth> "sudo apt-get install libxt:i386"
11:03:07 <aleth> I wish we had someone interested in packaging Instantbird properly for ubuntu so all this was automatic :-/
11:04:00 <Guido> in the old version (switch from ubuntu to xubuntu and not 64 bit it works)
11:05:14 <aleth> oh, sorry I think it should be "sudo apt-get install libxt6:i386"
11:05:40 <aleth> It's a bit difficult for me as I'm not on Linux...
11:06:33 <Guido> aleth: yes, second version
11:07:02 <aleth> So does it run now or is there still an error message?
11:07:16 <Guido> aleth: both
11:07:28 <aleth> bah, another missing library?
11:07:43 <aleth> I guess they aren't kidding when they call xubuntu "slimmed down" ;)
11:08:00 <aleth> What's the error message?
11:08:40 <Guido> it started, but in the terminal i got the message "Type error Cc[cid] is undefined"
11:10:14 <aleth> Which Instantbird version are you running? 1.5?
11:11:05 <Guido> 1.5, (just downloaded it) than the next question. where do i find my profile so that i can move it?
11:13:02 <aleth> Guido: Glad it's running OK now. Profile folder is here http://instantbird.com/faq.html#profilefolder
11:13:40 <Guido> aleth: thanks a lot
11:18:01 <-- Guido has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
11:28:24 <-- mayanktg has quit (Ping timeout)
11:34:22 --> clokep_work has joined #instantbird
11:34:22 * ChanServ sets mode +o clokep_work 
11:34:39 --> mayanktg has joined #instantbird
11:37:17 <clokep_work> aleth: What's that bug again?
11:37:49 * aleth asks the awesomebar
11:37:53 <aleth> bug 976083
11:37:55 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=976083 nor, --, ---, aleth, ASSI, Update FAQ to include required libraries for newer 64b Ubuntus
11:38:04 <clokep_work> I have the wrong awesomebar here. ;)
11:38:15 <nhnt11> clokep_work: FxSync?
11:40:34 <clokep_work> nhnt11: You make the invalid assumption I want to sync these profiles. ;)
11:41:18 <clokep_work> aleth: Looks like I don't have permission to push to that repo.
11:42:13 <aleth> We'll have to bug flo to do it then...
11:42:21 <clokep_work> Or to give me permission to push.
11:42:30 <aleth> Yeah.
11:43:53 * Fallen is now known as Fallen|away
11:51:28 <-- BWMerlin has quit (Quit: BWMerlin)
11:56:57 --> flo-retina has joined #instantbird
11:56:57 * ChanServ sets mode +qo flo-retina flo-retina 
11:57:25 <flo-retina> aleth: want me to r+ 788137? :)
11:58:05 <aleth> Sure, feel free to steal that hack review ;)
11:58:41 <aleth> Actually, it's less hackish than the existing mess now.
11:59:15 <flo-retina> yeah
12:01:39 <nhnt11> Aha
12:01:50 <nhnt11> The im/ only checkins patch was merged right?
12:01:57 <aleth> yes
12:02:09 <nhnt11> :)
12:06:59 <nhnt11> I'm going to push bug 1029501
12:07:02 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1029501 min, --, ---, nhnt11, ASSI, Opening the awesometab and then pressing Escape should return to the previous conversation
12:07:38 <nhnt11> clokep_work, flo-retina: ^ any objections?
12:07:45 <aleth> yay, something actually gets to land :)
12:08:43 <nhnt11> Yeah, I kinda want to push just for the joy of landing something.
12:13:17 <mayanktg> Mic: Was the CSS of user icon bug fixed for Windows as you were discussing about it when I was away? Ping me whenever you are free, I will try to install Ib on Windows today and give it a try.
12:17:22 <flo-retina> nhnt11: go ahead
12:17:30 <flo-retina> (despite Windows being broken, but oh well...)
12:17:49 <nhnt11> flo-retina: Are we avoiding checkins till windows is fixed?
12:18:21 * aleth wonders if clokep_work managed to build on Windows locally
12:18:30 <flo-retina> nhnt11: yes, no, maybe :-\
12:18:35 <nhnt11> alright
12:19:01 <clokep_work> aleth: I got home very late last night.
12:19:05 <flo-retina> nhnt11: I think it's a judgment call for each patch whether it can land while Windows is busted
12:19:22 <nhnt11> Fair enough
12:19:27 <flo-retina> nhnt11: eg. I wouldn't want to land bug 975542 without a nightly before and one after
12:19:30 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=975542 enh, --, ---, mayanktg, NEW, Set user icon from image taken with the webcam.
12:19:36 <flo-retina> but your patch seems fine :)
12:19:49 <nhnt11> Right, makes sense
12:21:34 <instantbot> nhnt11@gmail.com changed the Resolution on bug 1029501 from --- to FIXED.
12:21:36 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1029501 min, --, ---, nhnt11, RESO FIXED, Opening the awesometab and then pressing Escape should return to the previous conversation
12:21:57 <flo-retina> :)
12:23:01 <nhnt11> aleth: Thanks, forgot to set that
12:23:05 <nhnt11> (target milestone^)
12:23:57 <aleth> It's helpful for writing release notes ;)
12:42:46 --> qheaden has joined #instantbird
13:04:50 <-- aleth has quit (Ping timeout)
13:06:30 <-- qheaden has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:07:37 --> aleth has joined #instantbird
13:07:37 * ChanServ sets mode +o aleth 
13:35:38 <flo-retina> clokep_work, aleth: here is the draft API I/we currently have: http://pastebin.instantbird.com/745054
13:35:47 <flo-retina> feedback very welcome
13:38:24 <clokep_work> flo-retina: That seems reasonable to me...
13:38:28 <clokep_work> I dislike the names. :P
13:38:31 <clokep_work> But that's bike shedding.
13:38:40 <clokep_work> So in the pastebin case what happens?
13:38:43 <flo-retina> feel free to suggest better names :)
13:38:45 <clokep_work> It cancels the message?
13:39:04 <flo-retina> yes, it would cancel the message
13:39:17 <flo-retina> replacing the message content is possible... but pastebin is asynchronous
13:41:15 --> arlolra has joined #instantbird
13:41:41 <-- arlolra has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:42:28 --> arlolra has joined #instantbird
13:43:26 <clokep_work> Yep, just making sure I understand.
13:43:47 <clokep_work> flo-retina: So in that case it will "cancel" it and the next message would get sent immediately...and pastebin would then re-add a message once it gets stuff back somehow?
13:43:52 <clokep_work> What happens if the pastebin fails?
13:44:10 <flo-retina> a kitten dies?
13:44:52 <flo-retina> I think if pastebin succeeds it inserts a new message with the pastebined url, and if it fails it inserts a new message with the original text
13:45:06 <flo-retina> (and it may have set a flag somewhere to remember that its server is currently unusable)
13:45:35 <aleth> Can't the irc split case also be handled by observing preparing-message?
13:46:03 <-- arlolra has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:46:12 <aleth> Is this code going to live in imConversations or ...?
13:46:27 <flo-retina> aleth: this code is intended to go in imConversations, yes
13:47:06 <flo-retina> aleth: actually the patch currently attached handles the IRC message splitting with an observer
13:47:23 <aleth> i.e. someone handling preparing-message can cancel the message, but can also send new messages to be prepared of course.
13:47:25 <flo-retina> aleth: and that's something I wanted to change, because I dislike the prplConversation implementations observing themselves
13:48:40 <nhnt11> flo-retina: what is this for exactly?
13:49:02 <flo-retina> nhnt11: OTR
13:49:20 <nhnt11> ah okay
13:49:26 <nhnt11> What's the "pastebin" case
13:50:07 <aleth> flo-retina: I don't quite follow "observing themselves" - isn't sendmsg a method on the conv and the observer a method on the account?
13:50:09 <flo-retina> nhnt11: it's an hypothetical add-on, posting on pastebin and sending the pastebin URL instead, when you are attempting to send a huge message
13:50:12 <nhnt11> Support for sending messages to a pastebin?
13:50:12 <nhnt11> ah
13:50:15 <-- chrisccoulson has quit (Ping timeout)
13:50:25 * nhnt11 should update his pastebin addon :(
13:51:12 --> arlolra has joined #instantbird
13:51:13 <flo-retina> aleth: I mean https://bugzilla.mozilla.org/attachment.cgi?id=8438931&action=diff#a/chat/protocols/irc/irc.js_sec5
13:51:47 <flo-retina> nhnt11: if this land, it will become trivial to make a pastebin add-on ;)
13:51:54 <flo-retina> s/if/when/ :)
13:52:23 <nhnt11> flo-retina: Yeah, mine hooks the enter key handler
13:52:26 <nhnt11> hacky :-/
13:54:12 <clokep_work> aleth, flo-retina: FWIW I like that being a method as opposed to an observe, it just seems like a cleaner interface onto the prpl.
13:55:59 <aleth> It's better, it's just a shame we can't do without the notification in that case (two ways for the same thing)
14:02:04 <aleth> What's "buffering"?
14:04:30 <aleth> Why does sendableMessages have to be an array? If it's only for splitting, I think I would prefer what I suggested earlier.
14:04:55 <clokep_work> How does what you suggested earlier help?
14:05:35 <aleth> If the preprocessor decides the message needs splitting, he cancels the message and sends N new (split) messages.
14:05:50 <aleth> These get preprocessed again of course.
14:08:23 <-- aleth has quit (Ping timeout)
14:12:17 --> aleth has joined #instantbird
14:12:18 * ChanServ sets mode +o aleth 
14:13:45 <-- arlolra has quit (Quit: arlolra)
14:14:00 <flo-retina> aleth: buffering is keeping somewhere an array (or whatever data structure) that from the encrypted message can return the clear text version of the same message.
14:14:51 --> arlolra has joined #instantbird
14:15:13 --> Rym has joined #instantbird
14:15:21 <flo-retina> aleth: this is because when a prpl is done sending a message, it displays it. And it does it with only the text of the message, no reference to any object that could be holding the clear text version
14:15:32 <-- arlolra has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
14:16:25 <aleth> Oh I see, all that means is that imConversations does the "display the message in the UI".
14:16:28 <flo-retina> sendableMessages is an array because for one displayable message, you could have more than one sendable message (this is typically because the encrypted text is longer than the clear text for a same message, and the encrypted text of a message fitting on one message may no longer fit on one message)
14:16:59 --> arlolra has joined #instantbird
14:17:07 <flo-retina> aleth: "buffering" means that the data is saved so that later it's possible to find the clear text version of a message from the encrypted version that has been sent
14:17:45 <flo-retina> aleth: I think arlolra and I just agreed to move that buffering code to inside the OTR files, so that we don't have buffering overhead if there's no encryption enabled for a conversation.
14:18:28 <aleth> Why do we care about the encrypted version at all after it's been sent?
14:18:30 <-- arlolra has quit (Quit: arlolra)
14:18:58 --> arlolra has joined #instantbird
14:19:35 <-- mayanktg has quit (Ping timeout)
14:19:52 <aleth> (just asking naive questions... I'm sure you've thought this through!)
14:22:00 --> iamjayakumars has joined #instantbird
14:23:31 <flo-retina> aleth: so when we are sending a message, we want to actually display that message as an outgoing message in the conversation
14:23:58 <flo-retina> aleth: the imConversation code isn't doing that right away, because depending on the protocols, we may not display that outgoing message until it has actually been sent and acknowledged by the server
14:24:09 <aleth> oh. Twitter?
14:24:20 <flo-retina> yeah, that's a good example.
14:24:21 <aleth> Forgot about that part :-/
14:24:54 <flo-retina> the API that libpurple exposes to us is very frustrating. When the prpl is done dealing with a message, it just sends a "new-text" notification with absolutely no context. Just the string of the message
14:25:03 <flo-retina> in the OTR case, that's just the string of the _encrypted_ message.
14:25:09 --> mayanktg has joined #instantbird
14:25:10 <aleth> I was just thinking that that is likely the problem.
14:25:20 <aleth> Otherwise we could just reorganize that part
14:25:29 <flo-retina> so for display, we actually need to be able to find the clear text again, based on the encrypted string
14:26:12 <aleth> Are there any libpurple prpls with the send/acknowledge problem?
14:28:25 <aleth> Otherwise might be possible to work around the limitations of that API
14:32:44 <-- mayanktg has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
14:34:17 * Fallen|away is now known as Fallen
14:34:35 <flo-retina> aleth: well. Do you really want to try? :-P
14:35:35 <aleth> No, it will likely be just as messy :-S
14:36:08 <flo-retina> if you are sure all libpurple prpls are handling messages synchronously, you could just assume that the next outgoing messages to be displayed is the one you just sent
14:36:33 <flo-retina> but I'm not willing to audit all the libpurple prpls to check how synchronous they are right now :-/.
14:36:50 <aleth> yeah... and you still have special cases around.
14:37:26 <clokep_work> Meh, libpurple. :(
14:37:38 <clokep_work> OTherwise we could just keep a reference to the message object somewhere.
14:37:42 <clokep_work> That had the cleartext ini t.
14:38:00 <flo-retina> sure
14:38:05 <flo-retina> if we ignored libpurple things would be easier
14:38:32 <nhnt11> Bah, I started updating my pastebinner addon and it's taken longer than I thought it would
14:38:49 <nhnt11> (I've been missing it, disabled because I really only want it for MUCs and it keeps hooking my non-MUC conversations)
14:39:00 <-- jb has quit (Ping timeout)
14:39:00 <clokep_work> nhnt11: Don't oyu have plenty of GSoC stuff to do.
14:39:10 <nhnt11> clokep_work: Yeah, I didn't think this would take more than 15 minutes
14:39:13 <nhnt11> I'm giving up on it fo rnow
14:39:51 <flo-retina> nhnt11: should be possible to fully rewrite it soon using a nicer API ;)
14:39:57 <flo-retina> (assuming you are only targetting nightlies)
14:40:12 <nhnt11> I just wanted to make it hook only MUCs for now.
14:42:25 --> jb has joined #instantbird
14:49:41 --> chrisccoulson has joined #instantbird
14:49:56 <clokep_work> flo-retina, aleth: Sorry, had to answer emails. We all good on API discussions?
14:50:18 <flo-retina> clokep_work: well, we were just asking for feedback
14:50:43 <flo-retina> clokep_work: what I pastebined is what arlolra and I came up with today. We aren't really excited about it, but it seems to fit the purpose.
14:51:15 <flo-retina> I was mostly asking you for feedback to sanity-check (I somehow feel that this new interface is overengineered, but I can't find any actual simplification)
14:51:45 <flo-retina> aleth: do you remember how we are handling sending the quit message on IRC accounts when the application is being closed?
14:51:58 <flo-retina> aleth: is this something we have ever figured how to reliably do?
14:52:19 <aleth> After the discussion, I don't see any obvious ways to simplify it either.
14:52:30 <aleth> flo-retina: I don't think IRC allows for any great improvements over what we have.
14:53:44 <flo-retina> aleth: I'm asking because arlolra would like to send a message saying the encrypted session is ending when we are closing a conversation during shutdown. I don't remember if we have every found a reliable way to ensure some data we send during shutdown reaches the OS before the process dies
14:53:57 <clokep_work> flo-retina: What do you mean "how" we send the quit message? We splat it to the socket and magic happens and it might or might not get sent. :-D
14:54:15 <flo-retina> clokep_work: so we have never figured it out?
14:54:23 <clokep_work> I don't think so.
14:54:32 <aleth> flo-retina: There's the recent asyncshutdown stuff that might help
14:54:35 <flo-retina> clokep_work: might be somethçing to poke Yoric about
14:55:01 <flo-retina> can we get a promise to resolve when sending has happened, and then use the new shiny asyncshutdown toy
14:55:08 <aleth> flo-retina: Oh, I see what you were referring to about the quit message now!
14:55:17 <aleth> I thought you meant a different aspect of that.
14:55:49 <aleth> A promise resolving when sending has happened would be far too sane an API to make work with libpurple? ;)
14:56:37 <aleth> flo-retina: More seriously, there are the shutdown barriers, one of them might do the trick though I don't know how they relate to necko
14:56:44 <aleth> flo-retina: http://dutherenverseauborddelatable.wordpress.com/2014/05/26/shutting-down-asynchronously-part-2/
15:00:05 <aleth> It would generally be nice to know if messages were actually sent successfully (at least on the client side).
15:00:11 <aleth> Not just during shutdown...
15:00:57 <-- arlolra has quit (Ping timeout)
15:01:24 --> arlolra has joined #instantbird
15:01:54 <flo-retina> aleth: I'm not talking about libpurple, just about socket.jsm
15:03:06 <aleth> flo-retina: Yes. It's still true I think that the shutdown aspect is not the difficult part here.
15:03:41 <flo-retina> aleth: don't we get an error if stuff failed to be sent?
15:04:32 <aleth> Not reliably. Haven't you experienced sending an IRC message on dodgy wifi and it never arriving?
15:05:35 --> mpmc has joined #instantbird
15:07:43 <-- arlolra has quit (Quit: arlolra)
15:07:57 --> mayanktg has joined #instantbird
15:13:11 <-- iamjayakumars has quit (Client exited)
15:13:31 <-- chrisccoulson has quit (Ping timeout)
15:14:41 --> chrisccoulson has joined #instantbird
15:18:17 <-- aleth has quit (Ping timeout)
15:49:56 <-- gerard-majax_ has quit (Ping timeout)
15:51:57 --> rosonline has joined #instantbird
15:56:33 <-- nhnt11 has quit (Ping timeout)
15:56:40 <clokep_work> flo-retina: "11:27:40 AM * jcranmer is currently working on a set of patches that should eliminate the need to port package manifest changes"
15:57:01 <flo-retina> \o/
15:57:06 <flo-retina> has he mentioned a bug number?
15:57:17 <clokep_work> Asked for it . . . I'll CC you.
15:57:20 <flo-retina> ahah, I see you asked before me :)
15:57:23 <clokep_work> sawrubh: Gonna look at your patch in a moment.
15:57:25 <flo-retina> excellent, thanks! :)
15:58:05 --> nhnt11 has joined #instantbird
15:58:21 * Fallen is now known as Fallen|away
15:59:10 <clokep_work> Uhh...well in a "few" minutes now.
15:59:13 <clokep_work> I'm stepping out for lunch.
16:03:33 <instantbot> New Instantbird - Conversation bug 1032870 filed by seeker_b4u@yahoo.com.
16:03:34 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1032870 nor, --, ---, nobody, UNCO, Notifications for new message in group chat is not working
16:05:31 --> aleth has joined #instantbird
16:05:31 * ChanServ sets mode +o aleth 
16:06:17 --> arlolra has joined #instantbird
16:07:39 <-- arlolra has quit (Quit: arlolra)
16:25:52 <-- jb has quit (Quit: jb)
16:40:36 --> Mic|web has joined #instantbird
16:47:11 <-- nhnt11 has quit (Ping timeout)
16:47:23 --> nhnt11 has joined #instantbird
16:49:50 --> jb has joined #instantbird
16:51:45 <-- jb has quit (Ping timeout)
16:59:20 <-- rosonline has quit (Ping timeout)
16:59:42 --> rosonline has joined #instantbird
17:00:59 --> gerard-majax_ has joined #instantbird
17:03:44 <flo-retina> for some reason, I can't click in the topic to start editing it :-S
17:04:41 <flo-retina> after editing the topic once with the /topic command, I can then correctly edit by clicking in there
17:09:29 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
17:13:31 <aleth> flo-retina: smells like binding initialization JS attribute -> DOM attribute trouble.
17:14:21 <-- gerard-majax_ has quit (Ping timeout)
17:14:27 <aleth> Or maybe a regression from clokep's recent patch?
17:24:52 <clokep_work> aleth: More likely a regression. :-S
17:25:00 --> mconley|food has joined #instantbird
17:30:16 --> gerard-majax_ has joined #instantbird
17:33:07 <sawrubh> do you guys use lxr for searching libpurple code?
17:33:20 <sawrubh> because I see it was updated in 2013 so just wondering
17:33:42 <clokep_work> sawrubh: "it"?
17:33:50 <clokep_work> sawrubh: I usually use lxr.
17:33:54 <clokep_work> Ah, yeah. It's from the old repo.
17:34:04 <clokep_work> There are some API changes and such now, we should probably set up something better. :-\
17:34:11 <clokep_work> They do have online docs too btw.
17:34:16 <sawrubh> it == purple folder inside lxr
17:34:54 <-- gerard-majax_ has quit (Ping timeout)
17:35:22 <clokep_work> sawrubh: Yeah so the libpurple code hasn't changed since then.
17:35:26 <clokep_work> THe purplexpcom has had minor updates.
17:37:12 --> gerard-majax_ has joined #instantbird
17:37:26 <-- gerard-majax_ has quit (Max SendQ exceeded)
17:37:37 <sawrubh> nvm I'll just use Sublime's directory search
17:38:06 <sawrubh> I actually just wanted to find out the usages of the API functions which I'm listing at https://etherpad.mozilla.org/ib-filelink-week7
17:39:29 <mayanktg> aleth: I have two doubts. 1. Jitsi uses the "ext" attribute alongwith the "ver" attribute to detect the entity (though "ext" is depreciated). We should construct the ext attribute  too to support older devices. Right?
17:39:29 <mayanktg> 2. I'm sending the "ext" attribute to the conversation binding using notifyObservers from the XMPPAccountBuddyPrototype's onPresenceStanza(). The notification isn't sent though no error is displayed. Here's the pastebin for the same. http://pastebin.instantbird.com/745134.
17:40:22 <aleth> mayanktg: Can you show me the XEP for ext?
17:43:02 <mayanktg> aleth: ext is included as a legacy in the XEP 0115. http://www.xmpp.org/extensions/attic/xep-0115-1.3.html and the format is mentioned here as depreciated http://xmpp.org/extensions/xep-0115.html#protocol
17:43:21 <aleth> Your (2) probably won't work because creating a new conversation takes time?
17:43:27 <clokep_work> mayanktg, sawrubh: Don't forget that if you want to support older software, you generally have to implement both legacy and whatever replaced it.
17:44:05 <sawrubh> clokep_work: context? using libpurple in my feature?
17:44:53 <mayanktg> aleth: Yeah. Then what should be done to send the notification?
17:45:12 <aleth> (2) isn't how you should be doing this anyway.
17:45:33 <mayanktg> hmm
17:45:50 <clokep_work> sawrubh: JS-XMPP
17:45:55 <aleth> What's the goal here? The conversation wants to know whether the buddy on the other side can do video?
17:45:55 <clokep_work> sawrubh: Context is mayanktg's conversation. :)
17:47:21 <mayanktg> aleth: Yes. As soon as it receives a <c/> node and it has the entity we are looking for (video in my case) it should send the notification to enable the buttons for the same.
17:50:06 <mayanktg> Received a <presence/> with a <c/> element --> fetch the "ext" and "ver" attr --> send this to the binding so that the buttons can be enabled for respective entity found.
17:50:18 <aleth> Doing this right is going to be a bit complicated.
17:50:51 <aleth> First, the UI doesn't care about the particular contents of ext or ver or whatever XMPP-specific thing this is. It wants to know whether a buddy can videochat.
17:51:37 <aleth> So there should be a video flag on the buddy, and the buddy fires a buddy notification when it changes.
17:52:02 <aleth> An open conversation will listen for notifications on the buddy it is talking to, and so can respond to these changes.
17:52:15 <mayanktg> Ok.
17:52:40 <aleth> Mic|web: do you think that's right?
17:53:12 <aleth> I'd ask flo whether he agrees before you implement this because it means you having to look at accountbuddies, buddies, etc.
17:55:12 <aleth> mayanktg: The answer to (1) is http://xmpp.org/extensions/xep-0115.html#legacy
17:56:49 <mayanktg> Ok..I'll wait for flo to return then. Yeah. That's where I got the draft link for (1). :)
17:57:18 <aleth> mayanktg: Then doesn't it tell you what to do? "An application can determine if the legacy format is in use by checking for the presence of the 'hash' attribute, which is REQUIRED in the current format."
17:57:32 <aleth> Does Jitsi send you a hash attribute?
17:58:03 <mayanktg> aleth: Yes it does send a hash attribute too.
17:58:45 <aleth> OK, so I would suggest for now that you don't support the legacy stuff.
17:58:55 <aleth> That can always be done in followups.
18:01:04 <mayanktg> Ok. I will then go for only using the "ver" attribute to get the entities. Until then I'll study and write the code to decrypt the ver string to get the attribute info.
18:01:15 <aleth> No, it's the opposite I think.
18:01:30 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
18:01:37 <aleth> Or am I confused?
18:02:28 <mayanktg> aleth: First one has to create a "ver" attr http://xmpp.org/extensions/xep-0115.html#ver-gen and then process the attr http://xmpp.org/extensions/xep-0115.html#ver-proc
18:02:41 <aleth> What I mean is follow xep-0115 (latest version) and check that the hash attribute is present. Only if it's present do you process the ver attribute.
18:02:51 <-- Rym has quit (Ping timeout)
18:03:01 <aleth> ok
18:03:27 <-- Mic|web has quit (Quit: http://www.mibbit.com ajax IRC Client)
18:03:44 <mayanktg> Yeah! If hash attribute is present I should go for "ver" else I should extract info from "ext". Right?
18:04:26 <aleth> No, if it's absent for now we just add a todo comment and don't extract any info ;)
18:04:50 <mayanktg> ok dok :) 
18:05:12 <aleth> In a followup you can (if it turns out we want it!) add support for the "legacy format" there.
18:07:21 <mayanktg> aleth: We definitely want inter-portability for more and more clients, but ofcourse first we should be able to build the standard!
18:07:55 <aleth> Yeah, I think if you manage to actually start a video chat with Jitis *then* you can worry about older clients ;)
18:08:12 <aleth> First of all we should land video chats with IBs of course ;)
18:08:17 * mconley|food is now known as mconley
18:08:20 <mayanktg> yep ;)
18:08:32 * mayanktg goes to process the "ver" string.
18:12:09 --> Rym has joined #instantbird
18:15:58 <-- aleth has quit (Ping timeout)
18:17:10 <clokep_work> sawrubh: Are you waiting for me to respond to anything btw?
18:17:33 <clokep_work> sawrubh: Btw you might want to look at http://lxr.instantbird.org/pidgin2.6.3/source/ to see how some things are done.
18:17:43 <clokep_work> That includes the /pidgin/ source, not just libpurple.
18:17:46 <sawrubh> right now I'm trying to help get the ver attribute done with mayanktg 
18:19:13 <sawrubh> shall we take this publicly to #instamtbird?
18:19:22 <clokep_work> You guys should discuss everything publicly.
18:21:17 <sawrubh> mayanktg: ok so we need to first write that function for verifying if the hash attribute matches one of the processing application's supported hash functions
18:22:08 <mayanktg> sawrubh: Ok. I guess the standard is to use the sha-1 hashing.
18:22:45 <mayanktg> http://xmpp.org/extensions/xep-0115.html#security
18:23:36 <sawrubh> mayanktg: yes http://xmpp.org/extensions/xep-0115.html#security-mti says sha-1 is the hashing algo used
18:23:48 <sawrubh> I guess we have sha-1 already implemented in xmpp somewhere
18:24:08 <mayanktg> ...states all implementations MUST suddport sha-1 . So after checking this we should get the "ver" attribute and then proceed to decrypt it.
18:24:19 * mayanktg looks for it.
18:24:27 <sawrubh> something like 'let ch = Cc["@mozilla.org/security/hash;1"].createInstance(Ci.nsICryptoHash); ch.init(ch.SHA1);'
18:24:50 --> rosonline has joined #instantbird
18:24:56 --> aleth has joined #instantbird
18:24:56 * ChanServ sets mode +o aleth 
18:25:37 <mayanktg> sawrubh: Just note that we are _first_ processing the "ver" attr and NOT creating it. 
18:25:56 <mayanktg> so we should proceed accordingly. ;)
18:28:51 * Fallen|away is now known as Fallen
18:31:02 <-- aleth has quit (Quit: exit stage left)
18:31:17 <sawrubh> mayanktg: ok so we get the <c/>, check the ver to see if we have it's capability information already, if not we ask for it, in order to do these last two steps (get it from cache or ask for it) we need to first verify the validity of the ver attribute right
18:32:04 <sawrubh> let's just assume sha-1 is the only hash function supported, then we need to verify if the ver string is a valid sha1 hash right?
18:32:29 <sawrubh> there should be a function in nsICryptoHash..
18:32:55 <mayanktg> Yes. http://mxr.mozilla.org/comm-central/source/chat/protocols/xmpp/xmpp-session.jsm#458 I was looking for it. 
18:33:35 <sawrubh> that's what I pasted above earlier :P ^
18:34:33 <mayanktg> How do we get the capability info from the cache?
18:35:17 <sawrubh> probably maintain a map or something, but this info needs to persist between sessions so....
18:35:58 <sawrubh> btw https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsICryptoHash doesn't provide any methods to verify the validity of a sha1 hash so I'm not sure how http://mxr.mozilla.org/comm-central/source/chat/protocols/xmpp/xmpp-session.jsm#458 would help
18:36:52 <sawrubh> clokep_work: any idea how do we store things we want to persist between sessions, we need to persist the capability info of the clients we know about
18:38:26 <clokep_work> sawrubh: Define "sessions"?
18:38:46 <sawrubh> multiple runs which involve a closing of IB in between
18:39:08 <clokep_work> Don't.
18:39:27 <clokep_work> Why do you need to do it?
18:40:23 --> jb has joined #instantbird
18:44:27 <sawrubh> ok, so XEP-0115 caches the Entity Capability information for various clients and since they don't change, it normally doesn't need to query them from those clients again
18:45:41 <sawrubh> now once we get the Capability info from a client for the first time, we need to store it right, now we could cache it just for that session or for eternity (and in this case we'll need to maintain the info over a shutdown of IB)
18:53:46 --> gerard-majax_ has joined #instantbird
18:54:39 --> Mook has joined #instantbird
19:03:28 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
19:06:17 <mayanktg> As far as I've understood we should follow these steps to _process_ the ver attribute.
19:06:33 <-- mconley has quit (Input/output error)
19:10:31 <mayanktg> 1. Get <c/>.
19:10:31 <mayanktg> 2. If (hash) get "ver".
19:10:31 <mayanktg> 3. check cache for particular value of "ver" received.
19:10:31 <mayanktg> 4. if found --> skip and proceed with notification to conversation binding!
19:10:32 <mayanktg> 5. else ask for service discovery from sender of <presence/>
19:10:32 <mayanktg> 6.   Generate a local "ver" HASH using the service discovery info.
19:10:32 <mayanktg> 7.   If the local "ver" matches received "ver" HASH. --> store the ver HASH and entity info in the caches and proceed with notification to conversation binding!
19:10:32 <mayanktg> 8.   else leave the received "ver" string and declare the "ver" string is not valid.
19:10:34 <mayanktg> (because we are getting two different verification strings for the same service info from the sender.)
19:14:00 <mayanktg> So we would need to ask for a service discovery info and also use a common function to generate the "local" ver attribute and also another when I'll have send one along with the <presence/> stanza when someone connects his account. 
19:16:34 <clokep_work> sawrubh: Why can't it just be cached for a session?
19:17:07 <sawrubh> yes, that's what I decided. I was gonna ask you to 'nvm' my question :)
19:18:18 <-- jb has quit (Ping timeout)
19:22:02 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
19:29:58 <clokep_work> OK!
19:39:51 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
19:39:58 --> nhnt11 has joined #instantbird
20:01:15 <-- Rym has quit (Ping timeout)
20:01:36 --> Rym has joined #instantbird
20:05:03 <-- mayanktg has quit (Ping timeout)
20:10:57 --> mayanktg has joined #instantbird
20:12:21 <-- Rym has quit (Ping timeout)
20:21:30 --> flo-retina has joined #instantbird
20:21:30 * ChanServ sets mode +qo flo-retina flo-retina 
20:28:30 --> mconley has joined #instantbird
20:29:15 --> EionRobb has joined #instantbird
20:41:54 --> jb has joined #instantbird
20:50:34 <-- mconley has quit (Input/output error)
20:52:36 <-- jb has quit (Ping timeout)
21:03:02 --> mconley has joined #instantbird
21:05:20 <mayanktg> When I'm sending a Service discovery info Iq stanza to the Jitsi client I'm receiving http://pastebin.instantbird.com/745211  result from the client containing the <identity/> and <feature/> ,:) Means we are moving in the right direction :)
21:05:34 --> chrisccoulson has joined #instantbird
21:06:33 <mayanktg> Sorry ..*.a Service discovery request info 
21:11:12 <-- mconley has quit (Input/output error)
21:28:34 <-- gerard-majax_ has quit (Ping timeout)
21:39:05 <clokep_work> sawrubh: I'm really sorry I haven't reviewed that code yet.
21:39:07 <clokep_work> Busy day. :-\
21:44:23 <-- clokep_work has quit (Ping timeout)
21:51:49 <-- mayanktg has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
21:55:21 --> mconley has joined #instantbird
22:34:07 --> Rym has joined #instantbird
22:43:12 <-- Rym has quit (Ping timeout)
22:44:49 --> wnayes has joined #instantbird
22:45:04 <-- mconley has quit (Input/output error)
22:51:37 * Fallen is now known as Fallen|away
23:12:35 --> Rym has joined #instantbird
23:38:34 <-- Rym has quit (Ping timeout)
23:39:16 --> Rym has joined #instantbird
23:41:08 --> clokep has joined #instantbird
23:41:08 * ChanServ sets mode +o clokep 
23:46:45 <-- Armada has quit (Connection reset by peer)
23:54:22 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)