#instantbird log on 06 20 2013

All times are UTC.

00:01:47 <-- atuljangra has quit (Quit: http://www.mibbit.com ajax IRC Client)
00:03:34 <-- qlum has quit (Quit: Getting the <censored> out.)
00:11:33 <-- wnayes has quit (Ping timeout)
00:15:05 --> wnayes has joined #instantbird
00:25:11 --> rosonline has joined #instantbird
00:34:31 --> mconley has joined #instantbird
00:58:06 <-- Mook_as has quit (Quit: Mook_as)
01:07:42 <-- EionRobb has quit (Ping timeout)
01:09:03 --> EionRobb has joined #instantbird
01:25:42 --> clokep has joined #instantbird
01:25:42 * ChanServ sets mode +o clokep 
01:28:32 <-- clokep has quit (Ping timeout)
01:49:45 --> nhnt11_phone has joined #instantbird
01:50:04 <nhnt11_phone> Mic: Adding a bit smarter filterung
01:50:30 <nhnt11_phone> Filtering is part of my plan for today ;) *
01:50:48 <nhnt11_phone> (Like your screenshot)
01:51:29 <nhnt11_phone> Sorry about vanishing yesterday, btw :(
01:52:01 <-- nhnt11_phone has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
02:11:01 <-- wnayes has quit (Ping timeout)
02:13:07 --> nhnt11 has joined #instantbird
02:14:35 --> wnayes has joined #instantbird
02:15:23 <-- wnayes has quit (Quit: wnayes)
02:16:25 * nhnt11 sits to read flo's and Mic's reviews
02:17:12 <nhnt11> Btw, I didn't really intend to work further on bug 2002, but if you guys want to land that and don't mind me taking some time off for GSoC for it, I don't mind at all.
02:17:15 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2002 enh, --, ---, nhnt11, NEW, Add an /about command to open the about:* pages
02:18:27 * nhnt11 wonders if atuljangra and qheaden received their GSoC packages yet.
02:20:14 <nhnt11> The post-GSoC Instantbird release is going to be all sorts of awesome, I think. :)
02:25:27 --> Mook has joined #instantbird
02:37:09 --> EionRobb1 has joined #instantbird
02:37:53 <-- EionRobb has quit (Ping timeout)
02:51:40 <nhnt11> Mook: What does _as stand for on your nick when it's there?
03:04:52 <-- Nirgali has quit (Ping timeout)
03:08:26 <instant-buildbot> build #885 of linux-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/885
03:08:27 <nhnt11> By the way, I noticed that profile pictures downloaded for Facebook contacts are really low-res. I wonder if we could get them at 48x48, they look pretty ugly on Awesometab otherwise.
03:09:32 <Mook> nhnt11: ActiveState (i.e. I
03:09:36 <Mook> err, i.e. I'm at work
03:09:51 <nhnt11> Ah okay.
03:27:59 <instant-buildbot> build #877 of macosx-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/877
03:31:07 <-- mconley has quit (Input/output error)
03:34:01 <nhnt11> Since we want to make the conversation header a consistent layout throughout Instantbird, how about giving it it's own XBL binding and using it everywhere?
03:34:40 <nhnt11> Although certain aspects don't look good on all UIs like the border around the user icon, I think the CSS can be overlayed when required.
03:43:01 <-- rosonline has quit (Client exited)
03:46:48 <-- nhnt11 has quit (Ping timeout)
03:59:57 --> clokep has joined #instantbird
03:59:57 * ChanServ sets mode +o clokep 
04:02:26 --> nhnt11 has joined #instantbird
04:02:53 <nhnt11> Good morning, clokep
04:03:06 <nhnt11> I mean night?
04:03:18 <nhnt11> Yes I mean night. :S
04:08:15 <clokep> nhnt11: :P
04:08:32 <nhnt11> clokep: Usually you and I are on similar time zones ;)
04:08:40 <clokep> nhnt11: I doubt we want to make that a separate binding. We want it to be consistent but not identical, I think. :)
04:09:03 <nhnt11> Just a thought. :)
04:09:48 <nhnt11> Btw, I don't like the current status indicator dots.
04:10:00 <nhnt11> Would you guys be willing to look at some new ones?
04:10:21 <nhnt11> The gradient looks ugly to me, I vote for a more flat color.
04:13:48 <-- douglaswth has quit (Client exited)
04:14:05 <clokep> Possibly.
04:14:12 <clokep> We'd need to see it probably.
04:14:35 <nhnt11> Give me a minute
04:14:56 * clokep is going to bed.
04:15:26 <nhnt11> clokep: Something like this http://puu.sh/3jPpx.png
04:15:31 <nhnt11> Okay, good night!
04:15:59 <clokep> nhnt11: Right I'd need to see that in the UI.
04:16:03 <clokep> Goodnight.
04:16:04 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
04:23:07 <nhnt11> I wonder how Instantbird looks on retina displays
04:26:12 <-- nhnt11 has quit (sand.mozilla.org gravel.mozilla.org)
04:26:12 <-- EionRobb1 has quit (sand.mozilla.org gravel.mozilla.org)
04:26:12 <-- dionisos has quit (sand.mozilla.org gravel.mozilla.org)
04:26:12 <-- wuwei has quit (sand.mozilla.org gravel.mozilla.org)
04:28:58 --> wuwei has joined #instantbird
04:28:58 --> dionisos has joined #instantbird
04:28:58 --> EionRobb1 has joined #instantbird
04:32:52 --> nhnt11 has joined #instantbird
04:52:42 --> douglaswth has joined #instantbird
05:24:42 --> Optimizer has joined #instantbird
05:35:25 <-- dionisos has quit (Ping timeout)
05:35:25 <-- nhnt11 has quit (Ping timeout)
05:35:48 <-- wuwei has quit (Ping timeout)
05:38:42 --> dionisos has joined #instantbird
05:41:43 --> nhnt11 has joined #instantbird
05:51:10 --> wuwei has joined #instantbird
05:56:03 <instant-buildbot> build #980 of win32-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/980
06:04:03 <-- dionisos has quit (Ping timeout)
06:10:39 <-- EionRobb1 has quit (Ping timeout)
06:11:28 --> EionRobb has joined #instantbird
06:13:56 <-- EionRobb has quit (Quit: Leaving.)
06:26:05 <-- Mook has quit (Quit: Mook)
06:31:00 --> jb has joined #instantbird
06:34:11 <-- jb has quit (Quit: jb)
06:41:07 --> jb has joined #instantbird
07:32:01 <-- jb has quit (Ping timeout)
07:57:38 --> EionRobb has joined #instantbird
07:59:19 --> jb has joined #instantbird
08:20:22 --> sumedh has joined #instantbird
08:34:38 <-- jb has quit (Ping timeout)
08:46:03 <-- gerard-majax has quit (Ping timeout)
08:54:42 --> jb has joined #instantbird
08:56:26 --> Mic has joined #instantbird
08:56:26 * ChanServ sets mode +h Mic 
08:56:45 <Mic> Hi
09:03:48 --> flo-retina has joined #instantbird
09:03:48 * ChanServ sets mode +qo flo-retina flo-retina 
09:04:57 <-- jb has quit (Ping timeout)
09:11:34 <Mic> nhnt11: I think I've got an idea regarding your problem with alternating backgrounds for the list items.
09:11:36 <Mic> Let me try something...
09:12:28 --> aleth has joined #instantbird
09:12:28 * ChanServ sets mode +h aleth 
09:13:51 --> jb has joined #instantbird
09:15:58 <-- Mic has quit (Ping timeout)
09:23:39 <-- jb has quit (Ping timeout)
09:24:05 <nhnt11> Hi everyone
09:24:26 <nhnt11> Mic: The hack I'm using right now works, at the very least.
09:31:51 <aleth> qheaden_away: FYI it is only implicit from the mdn documentation, but the Map and Set constructors take an argument which will be used to initialize the object. This argument can be /anything iterable/, so that's really useful to know.
09:32:29 --> jb has joined #instantbird
09:32:32 <nhnt11> aleth, flo-retina, Mic: Regarding the handleSwitchingAwayFromTab stuff, the | docShell.isActive = false | line shouldn't be there at all, as I discovered a couple days ago - I seem to have added it myself. Also aleth, this.editor.blur() was added because a panel may not focus anything when it's selected, so if the editor still has focus, it will continue to receive user input.
09:32:33 <flo-retina> nhnt11: about bug 2002, given that you spent time writing a patch and we spent time reviewing it, I see no reason to not finish it.
09:32:36 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2002 enh, --, ---, nhnt11, NEW, Add an /about command to open the about:* pages
09:32:43 <flo-retina> it looks like all is left to do is address simple review comments
09:32:57 <nhnt11> (That wasn't required earlier because conversations always focus the editor when they're selected)
09:33:00 <aleth> I also think we need it to test the tabbrowser stuff in nightlies when it lands ;)
09:33:09 <flo-retina> and whether you do it during the GSoC time or not isn't really relevant. If you are working on this instead of the awesome tab, it would be difficult to say you are slacking off ;).
09:33:18 <flo-retina> aleth: that too!
09:33:27 <nhnt11> flo-retina: That patch took me about 10 minutes. I have no problem spending some more time on it. :)
09:33:41 --> gerard-majax has joined #instantbird
09:33:48 <aleth> nhnt11: Thanks, I meant to ask about where the docshell line came from too :D
09:34:17 <flo-retina> 10 minutes? really?
09:34:34 <flo-retina> I think we spent more time than that just discussing in which file you could register the command :-P.
09:35:24 <nhnt11> flo-retina: Not that long :P Maybe a little more than 10 minutes, but it was quite quick iirc. I remember being happy that the tabbrowser changes made it so easy :)
09:35:49 <flo-retina> :)
09:36:06 --> qlum has joined #instantbird
09:36:18 <aleth> If it's so easy, why are we even discussing finishing it? :P
09:37:00 <aleth> nhnt11: Then I'm not convinced this.editor.blur() is a good solution. It may mess up a11y as who knows where the focus will go. Shouldn't we add something to move focus to the panel when it is selected? If the panel can't do it, focus the tab itself or something?
09:37:01 <flo-retina> fwiw, I'm not really interested in discussing changing the status icons. Too bikeshedding prone ;).
09:37:07 <nhnt11> aleth: I was mostly lazy to add in checks to ensure the about page desired exists :P But the review comments don't mention that..
09:37:47 <flo-retina> nhnt11: ah, we haven't helped you enough to figure this out? :-(
09:38:47 <nhnt11> You probably have. We're spending too much time discussing this, I only said I didn't intend to continue that patch because at the time I was eager to start work on awesometab.
09:39:30 <nhnt11> I'm going to start work to fix up tabbrowser and get the about: patch ready in a minute
09:39:31 <aleth> nhnt11: FWIW I agree with flo that the tabbrowser changes and what is needed to test them is very much part of the awesometab project.
09:39:58 <aleth> I mean, you can't build a house without foundations, right? ;)
09:40:28 <nhnt11> Heh okay. Also aleth, I thought blurring something just removes focus completely
09:40:35 <nhnt11> I didn't know something else may gain focus.
09:40:36 <flo-retina> (and I don't think you are late on your schedule yet, so no reason to rush the foundations :))
09:41:01 <aleth> nhnt11: You may be right on that. Can we find out?
09:41:08 <flo-retina> nhnt11: removing the focus completely puts things in a very inconsistent state. And I know only one way to do it, and it's a bug.
09:41:29 <flo-retina> (that we had to workaround several times :-/)
09:42:03 <aleth> nhnt11: I fixed the keyboard interaction for the blist recently and it was messy precisely due to focus issues. 
09:42:21 --> Mic has joined #instantbird
09:42:22 * ChanServ sets mode +h Mic 
09:42:32 <nhnt11> Hmm. I don't want to focus the tab because we would have to check if the panel gave something else focus first, and if it didn't do anything, then focus the tab.
09:42:56 <nhnt11> Or perhaps just document that tab panels must focus something.
09:43:04 <nhnt11> perhaps we should*
09:43:22 <aleth> nhnt11: "document that tab panels must focus something" seems like the way to go
09:43:45 <aleth> Any panel will have something in it that should respond to keyboard interactions, after all ;)
09:44:01 <nhnt11> aleth: I'm not too comfortable with that only because of the scenario where you have a tab panel that just shows some information with nothing to focus
09:44:16 <nhnt11> I don't like precisely that assumption :P
09:44:19 <aleth> nhnt11: How do you keyboard-interact with such a tab? What's the expected behaviour
09:44:31 <aleth> Once you answer that you will know what to focus
09:44:44 <nhnt11> The expected behavior is to do nothing
09:44:47 <Mic> nhnt11: it didn't work.
09:44:57 <aleth> nhnt11: What does "do nothing" mean?
09:45:00 <nhnt11> Mic: The fix you were trying?
09:45:03 <aleth> How do I switch away from that tab?
09:45:04 <flo-retina> nhnt11: here's how you can check if an about: URI exists:
09:45:08 <flo-retina> Services.io.newChannelFromURI(Services.io.newURI("about:credits", null, null))
09:45:18 <flo-retina> this will return an nsIChannel instance if the URI exists
09:45:32 <nhnt11> aleth: Switching away from the tab is handled via the global handlers. What does it have to do with focus?
09:45:45 <aleth> nhnt11: That's precisely my point!
09:45:49 <nhnt11> flo-retina: Thanks for handing me that on a platter :)
09:45:52 <flo-retina> and it will throw "Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIIOService2.newChannelFromURI]"  nsresult: "0x804b000a (NS_ERROR_MALFORMED_URI)" if the URL isn't valid
09:46:12 <flo-retina> nhnt11: I don't want you to waste time on things that are totally off topic for your project )
09:46:13 <flo-retina> *;)
09:46:46 <nhnt11> HEEEY I see what you did there ;P
09:46:48 <nhnt11> :P *
09:46:57 <aleth> heh :)
09:48:55 <aleth> nhnt11: Feel free to ignore my suggestions  and find better ones (I'm not sure what the correct thing to do is either and would have to think about it more), but there has to be a better solution than this.editor.blur(). That shouldn't be there.
09:49:11 <nhnt11> Alright. I'll think about it.
09:49:42 <aleth> The question would seem to be "what happens to focus when I select a panel"
09:50:10 <flo-retina> nhnt11: here's an example of how you can ensure the exception is actually the one we expect:
09:50:10 <flo-retina> var e = null; try { Services.io.newChannelFromURI(Services.io.newURI("about:credits", null, null)) } catch(ex) { e = ex; }; e.result ==  Components.results.NS_ERROR_MALFORMED_URI;
09:50:17 <aleth> This is also important for a11y reasons, so you are not wasting your time, you're just fixing followup bugs early ;)
09:52:12 <nhnt11> flo-retina: Is there any reason not to check the result directly in the catch block and not set another variable?
09:52:59 <nhnt11> Hey hey I don't think any of this is a waste of time, I phrased that "take time off of GSoC" thing very badly -_-'
09:53:24 <flo-retina> nhnt11: I would probably write it this way: http://pastebin.instantbird.com/227616
09:53:55 <nhnt11> Yeah cool.
09:54:05 <flo-retina> nhnt11: I still suspect guessing this would have possibly taken forever if you aren't used to digging directly inside Mozilla's C++ source code ;)
09:54:06 <instantbot> c++ is e-- ah, nevermind.
09:54:53 <nhnt11> I don't think the result check is even required. if there's an exception with creating the channel, just display a system message saying it failed and return.
09:55:10 <nhnt11> flo-retina: If that's the case, thanks!
09:55:40 <aleth> nhnt11: The lazy solution is to have the command handler return false, in that case the command's help message is displayed.
09:55:40 <flo-retina> nhnt11: the result check is because I would rather not hide completely from the error console exceptions that we don't expect
09:56:03 <nhnt11> Ah okay.
09:56:42 <flo-retina> nhnt11: and the final "return false;" is just to avoid a "function doesn't always return a value" JS strict warning
09:57:15 <flo-retina> http://pastebin.instantbird.com/227617 should also just work, but can hide errors.
09:58:00 <nhnt11> flo-retina: http://pastebin.instantbird.com/227618 removes the need for the final return false :)
09:58:20 <nhnt11> Oh wait, it doesn't
09:58:31 <flo-retina> it doesn't
09:58:49 <flo-retina> well, it does actually
09:58:57 <nhnt11> This does, but I think it's beside the point now ;) http://pastebin.instantbird.com/227620
09:58:59 <flo-retina> just swap lines 8 and 9
09:59:05 <-- jb has quit (Ping timeout)
09:59:19 <-- Tonnes has quit (Connection reset by peer)
09:59:28 <flo-retina> nhnt11: what you want is http://pastebin.instantbird.com/227622
10:00:51 <nhnt11> Brb
10:05:39 --> rosonline has joined #instantbird
10:08:39 * Mic has a very nice icon for the tab.
10:09:22 <Mic> I'll upload a screenshot after lunch.
10:09:23 <Mic> bbl
10:09:41 <nhnt11> :)
10:09:55 * nhnt11 wonders why flo-retina doesn't want new status indicator dots
10:12:32 --> jb has joined #instantbird
10:15:07 --> clokep has joined #instantbird
10:15:07 * ChanServ sets mode +o clokep 
10:15:24 <flo-retina> nhnt11: I thought I said why :-P.
10:17:25 <nhnt11> I would think that it's not really bikeshedding when you have a retina display :S
10:20:41 <clokep> flo-retina: Any chance you could help atuljangra come up with some interfaces today? I don't feel confident designing those with him. :)
10:22:08 <flo-retina> clokep: hello
10:22:19 <flo-retina> clokep: I guess I should.
10:22:26 <clokep> "Please, guys, get these few lines into your code." about SRV hah.
10:22:37 <-- jb has quit (Ping timeout)
10:22:39 <flo-retina> clokep: seems difficult to find time before the evening (french time) so that would be very late for him :-/.
10:22:49 <flo-retina> clokep: where is that quote from?
10:23:27 * nhnt11 wonders who SRV is. nhnt11 only knows Stevie Ray Vaughan and that doesn't seem right...
10:23:32 <nhnt11> Or what*
10:24:40 <flo-retina> clokep: has he made some drafts? Or at least a list of the exact things he needs an API for?
10:24:43 * nhnt11 discovers DNS SRV and now it all makes sense.
10:26:27 <clokep> flo-retina: No, which is what I was attempting to get him to do, but he seemed confused.
10:26:46 <clokep> flo-retina: https://bugzilla.mozilla.org/show_bug.cgi?id=787369
10:30:01 <clokep> flo-retina: I think he spent a while trying to find interfaes that could be reused.
10:30:54 <flo-retina> clokep: lovely :)
10:31:05 <nhnt11> flo-retina: Btw I don't think late is a problem... ;)
10:31:47 <flo-retina> clokep: I love how that comments start by explaining the mozilla mission ;)
10:31:53 <flo-retina> *comment
10:33:59 <nhnt11> Okay I've been trying to fix this for a bit now without much luck: when a load of contacts change their status at once (i.e. when an account goes off/online) awesometab-blist hangs :(
10:34:03 --> jb has joined #instantbird
10:34:11 <nhnt11> Not just awesometab, pretty much the whole UI actually.
10:34:27 <aleth> nhnt11: which branch is the one where you have this code?
10:34:35 <nhnt11> awesometab-experimental
10:35:34 <nhnt11> aleth: I'm sure I'm doing this the wrong way (adding a contact's list element as a listener to it) but I can't think of a good way to do it otherwise.
10:35:41 --> mpmc has joined #instantbird
10:35:58 <nhnt11> The problem is that since it's sorted by status, all those contacts have to be moved from to the end of the list and that needs to be async.
10:36:05 <nhnt11> s/from to/to
10:37:52 <nhnt11> aleth: I'm going to push the code I'm working with now, just a sec
10:38:01 <nhnt11> I think the repo is a bit out of date
10:38:33 <nhnt11> Well that shouldn't affect this bug though...
10:38:51 <aleth> nhnt11: Still helpful to be talking about the same thing ;)
10:39:33 <aleth> The awesometab.xml I am looking at is 3 days old, can that be right?
10:39:41 <nhnt11> It might :/
10:39:53 <aleth> OK, just checking
10:40:11 <nhnt11> I did hardly anything yesterday ( :( ) and may not have pushed anything day before.
10:41:03 <aleth> So your general approach is to do everything in the DOM?
10:41:37 <nhnt11> aleth: What do you refer to by "everything"?
10:41:54 <aleth> i.e. all possible list entries will always be added to the richlistbox as items, and then you hide/sort them as needed.
10:42:07 <nhnt11> Yes.
10:42:13 <nhnt11> The position to be inserted is computed before inserting
10:42:30 <aleth> Have you a rough order of magnitude estimate of how many items you will have after adding /list support?
10:42:48 <nhnt11> I don't intend to do that for the buddy list :P
10:42:51 <aleth> Idk, but I am concerned this approach will not scale.
10:43:36 <aleth> I thought the buddy list view was a subset of what will ultimately become the awesometab list view? Maybe I am misunderstanding your goals
10:44:14 <nhnt11> aleth: Okay how does this sound
10:44:26 <aleth> flo-retina: any thoughts on the above?
10:44:29 <nhnt11> Show only online contacts in DOM, and display offline contacts if the search string matches only.
10:45:14 <nhnt11> Actually I think you're right, it makes sense to integrate all the buddy stuff that we'll need later right now, and then work on the "Awesome" part of it without worrying about this stuff
10:45:19 <aleth> nhnt11: I'm not worried about online/offline, I'm worried about the performance of a richlistbox with thousands of items
10:45:38 <nhnt11> aleth: Exactly, so show only online ones to limit that number.
10:45:51 <aleth> So I am wondering if it might not be better to build the data in JS, and only add to the DOM what is currently visible.
10:46:28 <nhnt11> aleth: The problem is that if we build stuff with bindings, nothing is applied until it's added to DOM.
10:47:53 <aleth> nhnt11: I don't mean having bindings which are not in the DOM (what would that mean?), I mean having JS arrays, objects, maps, whatever and dynamically adding/removing elements to the richlistbox when they need to be displayed
10:48:10 <-- Optimizer has quit (Ping timeout)
10:48:35 <nhnt11> aleth: That's what's already being done, we just need to decide what to display at any given time
10:48:40 <nhnt11> Right now it just displays everything
10:49:42 <Mic> You're concerned that showing the items would take too long if you wouldn't add them right away?
10:50:17 <aleth> Mic: Remember the performance issues with the participant list? That wasn't even a richlistbox, and only O(hundreds) items.
10:50:39 <Mic> aleth: absolutely.
10:50:57 <aleth> I can imagine the unfiltered list view for the awesometab containing thousands of entries (all the IRC channels from a couple of accounts, all the contacts...)
10:51:26 <nhnt11> aleth: I don't agree with having IRC channels being displayed in the unfiltered view
10:51:54 <aleth> nhnt11: I thought ultimately the unfiltered view would be a grid and look different anyway, right?
10:52:18 <nhnt11> aleth: Did we decide on that grid then finally?
10:52:19 <aleth> The point remains that /once you start filtering and show a list/ it will have lots of items in it in principle
10:52:51 <aleth> When the search string is "e" there will be lots of hits ;)
10:52:57 <nhnt11> Heh.
10:53:03 * nhnt11 frowns
10:53:35 <aleth> nhnt11: I don't know about decided, but it seemed that was the current working proposal?
10:53:40 <nhnt11> Right.
10:54:31 <Mic> Channels and MUCs should be included in the suggestions if they match the criteria (pattern, recency, frequency or how you calculate your rank then).
10:54:36 <aleth> nhnt11: What I am talking about is essentially "faking" the scrollbar. So you only display tens of elements (those that are visible and potentially a few more) and dynamically change that as the user scrolls/interacts with the list
10:54:51 <EionRobb> aka 'infinite scrolling'
10:55:01 <aleth> But the DOM doesn't ever have a richlistbox with all the entries in it, as that may not be performant
10:55:05 <nhnt11> aleth: Yes I've thought about that.
10:55:10 <Mic> aleth: as items have a fixed height, this should work well.
10:55:14 <aleth> Just adding all the DOM items will take a minute (not kidding)
10:55:37 <nhnt11> Btw, I tested this with around 1k contacts, it takes <1 second to load the list and scrolls perfectly fine
10:55:46 <nhnt11> Also it takes about 1-3 MB extra RAM.
10:56:19 <Mic> https://wiki.instantbird.org/images/b/b8/GSoC-BuddyListTabIcon.png
10:56:32 <Mic> The indicator might still need some tweaking.
10:56:50 <nhnt11> Mic: That looks cool :)
10:56:51 <aleth> nhnt11: /Maybe/ cacheing would be enough but definitely ask flo about this approach before you write too much code ;)
10:57:05 <aleth> Mic: neat! :)
10:57:25 <Mic> nhnt11: remember to ask me for the icon when you need it :)
10:58:18 <nhnt11> Mic: Could you make it a little bit less narrow lengthwise?
10:58:20 <nhnt11> :P
10:58:32 <-- clokep has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:59:29 <nhnt11> Mic: Send it over whenever you think it's done! Thanks!
10:59:35 <Mic> Hardly, as I've no idea what "less narrow lengthwise" is supposed to mean.
10:59:40 <Mic> ;)
10:59:52 <nhnt11> Umm, I mean a little bit more square
11:00:28 <Mic> It has (almost) the shape of the "Start conversation"  icon on contacts in the contact list by the way.
11:00:46 <nhnt11> Right, it's not a big deal, it looks great :)
11:01:02 <-- sumedh has quit (Ping timeout)
11:01:10 <aleth> I like how it's a clever twist on the FX new tab favicon :)
11:01:20 <nhnt11> Yeah.
11:02:35 * nhnt11 notices the status dots look way better on Mic's screenshot and wonders why.
11:02:53 <Mic> nhnt11: can you take one of yours?
11:04:51 <nhnt11> http://puu.sh/3jZEA.png
11:04:57 <nhnt11> Mic: ^
11:05:45 <aleth> Different shade of green? Or what do you mean?
11:06:01 <nhnt11> Mic's is brighter, and more flat. Mine has an ugly dull gradient.
11:06:47 <aleth> On Linux it looks more like Mic's for me
11:06:57 <Mic> Afaik we're using the same images for all OS'
11:07:06 <nhnt11> :(
11:07:13 <Mic> So maybe it has got to do with display settings?
11:07:14 <aleth> Mic: I think so. So I wonder what's up?
11:07:21 <Mic> Gamma or so?
11:07:24 --> novabyte has joined #instantbird
11:07:33 <aleth> Mic: Or possible some color handling info inside the jpg that is ignored by some OS?
11:07:39 <nhnt11> Mic: That wouldn't affect looking at the screenshots side by side on the same screen
11:08:01 <Mic> nhnt11: it would if you'd change it in the graphics driver and not on the screen itself.
11:08:32 <nhnt11> I think it may be a weird problem with my color profile, it seems to behave a bit differently for different apps. I shouldn't complain since Mac isn't supposed to be run on non-apple hardware ;)
11:08:48 <aleth> nhnt11: When you open the icon files in an editor, what do you see?
11:09:04 <nhnt11> Let me try
11:09:21 <nhnt11> Hmm it looks like Mic's
11:10:03 <Mic> What happens if you disable hardware acceleration for Instantbird?
11:10:05 <aleth> nhnt11: It may be PNG gamma issues
11:10:33 <nhnt11> Mic: I have no idea how to do that on Mac.
11:10:38 <aleth> nhnt11: If it annoys you, file a bug :)
11:10:57 <Mic> It's a setting in about:config.
11:10:58 <nhnt11> aleth: I don't think this is a bug. It's probably something wrong on my end.
11:11:00 <nhnt11> Oh
11:11:02 <aleth> nhnt11: By PNG gamma I meant http://hsivonen.iki.fi/png-gamma/
11:11:19 <nhnt11> To be sure I'll test it out on my dad's MacBook before looking into this further.
11:11:49 <Mic> I wonder what the setting "layers.acceleration.draw-fps" is for.
11:12:03 <nhnt11> all gfx.* settings are false
11:12:11 <aleth> Mic: Maybe to sync with your screen refresh rate?
11:12:45 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
11:12:53 --> nhnt11 has joined #instantbird
11:14:06 <Mic> A FPS counter for Firefox? https://bugzilla.mozilla.org/show_bug.cgi?id=612407
11:14:36 <aleth> Huh, I didn't expect that.
11:14:46 <Mic> The name sounded much like it.
11:14:55 <Mic> What's next? A crosshair as default mouse cursor? :P
11:15:24 <-- nhnt11 has quit (Input/output error)
11:15:34 --> sumedh has joined #instantbird
11:15:40 <-- jb has quit (Ping timeout)
11:17:44 --> nhnt13 has joined #instantbird
11:17:55 <nhnt13> Interesting. It looks fine on Instantbird 1.3
11:18:03 --> nhnt11 has joined #instantbird
11:18:45 <nhnt13> Something is wrong with my display profile, colours generally look brighter in this. I'm not going to look further because I'm sure this is on my end.
11:19:01 --> jb has joined #instantbird
11:20:07 <-- nhnt13 has quit (Quit: Instantbird 1.3 -- http://www.instantbird.com)
11:20:09 <nhnt11> Look at the difference in the blues and greens: http://puu.sh/3jZZf.png
11:20:21 <nhnt11> The one on the right is 1.3, left is 1.5a1pre
11:21:00 <aleth> nhnt11: That's odd. Could it have something to do with the different underlying mozilla version?
11:21:02 <flo-retina> aleth: I also said several times that stuff shouldn't be done with more DOM nodes than what we actually intend to display ;).
11:22:20 <nhnt11> flo-retina, aleth: Do you think it's faster to re-make the list whenever something is typed in the search box?
11:22:25 <flo-retina> "Did we decide on that grid then finally?" I think starting with a list makes sense. We can add a grid later if we feel the need to.
11:23:20 <nhnt11> I suppose if we're only loading a few items at a time it doesn't matter
11:23:47 <nhnt11> Okay then. Today I'm going to look at addressing the review comments and stuff, and tomorrow I'll try loading stuff dynamically when scrolling.
11:24:07 <aleth> nhnt11: Do the performance-heavy list management stuff in JS and decouple it from the display logic.
11:24:39 <nhnt11> aleth: The only performance heavy thing here is the sorting, imho.
11:24:49 <aleth> nhnt11: Sorting and filtering.
11:24:51 <Mic> The management stuff isn't necessarily performance heavy but displaying so many items is.
11:24:55 <nhnt11> My list of contacts loaded in a flash without sorting
11:25:00 <nhnt11> aleth: CSS filtering is instant
11:25:07 <flo-retina> nhnt11: yes, rebuild the list of the 6-10 elements you'll be showing.
11:25:11 <aleth> Mic: It would be performance-heavy if done in the DOM ;)
11:25:14 <flo-retina> nhnt11: that's how Firefox's awesomebar works
11:25:25 <nhnt11> flo-retina: Okay.
11:25:50 <nhnt11> flo-retina: I don't think we should use a number, more like how many elements will fit in the current window + a few
11:26:00 <nhnt11> i.e. if 10 can fit, add in 15
11:26:07 <flo-retina> nhnt11: sure
11:26:12 <nhnt11> We need to make sure a scrollbar appears ;)
11:26:19 <flo-retina> twice what can fit, so that people can scroll a bit to see a few more
11:26:29 <flo-retina> I don't think infinite scroll makes much sense there
11:26:58 <nhnt11> flo-retina: While filtering, I guess not. But what about the main list that shows everything?
11:27:00 <aleth> Looking at the awesomebar implementation in FX would definitely be a good starting point
11:27:04 <flo-retina> we don't want people to spend minutes scrolling few the list in the new conversation tab. If someone they want to talk to isn't one of the first 6 (which will likely be very rare), they should type a few letters to filter.
11:27:21 <flo-retina> nhnt11: most people don't talk to more than 5 people.
11:27:41 <aleth> nhnt11: I kind of agree you might have to implement it just so there are no problems for the odd user that does like to scroll...
11:28:08 <flo-retina> aleth: the odd user can go to the Contacts window, can't he?
11:28:29 <nhnt11> aleth, flo-retina: I personally find myself looking through the list to see who's online a lot.
11:28:49 <aleth> flo-retina: No, I'm thinking of someone searching for e.g. "unix" when connected to freenode, and wanting to scroll through the search results for that
11:29:27 <flo-retina> The new conversation icon in https://wiki.instantbird.org/images/b/b8/GSoC-BuddyListTabIcon.png seems quite good to me. The way I noticed is that I had this open in a tab to look at later, and then when I actually look at the tab, I wondered what that screenshot was intending to show (because the icon didn't jump at me ;))
11:30:03 <flo-retina> nhnt11: "looking through the list to see who's online" this is exactly the use case I want us to NOT support with the awesome tab.
11:30:03 <-- sumedh has quit (Ping timeout)
11:30:43 <nhnt11> flo-retina: Alrighty then
11:30:48 <flo-retina> nhnt11: one of the main reason for the awesome tab project is that I think the current Contacts window attempts to work on 3 different main use cases (start a conversation, let the user see his contacts' status, and manage the contacts) and fails at all of them, because these use cases are too different.
11:31:27 <flo-retina> nhnt11: the point of the awesometab is to offer an excellent answer to the "start a conversation" usecase, so that the Contacts window can be refocused on the "see the contacts' status" case.
11:31:58 <nhnt11> flo-retina: Thinking about it, I suppose the people I look for will not need to be looked for on the awesometab anyway... I guess that's the point
11:32:10 * nhnt11 wonders why he's worrying so much about this
11:32:35 <flo-retina> likely because you'll spend a lot of time implementing it and wants to be sure it will actually fit your needs? :)
11:32:42 <aleth> nhnt11: These are good things to wonder about as that's how you get the UX right... ;)
11:34:39 <aleth> But personally I'd probably go for an infinite-scroll type solution for the currently filtered results I think, as then, having implemented that, I would never have to worry about scrolling again
11:35:26 <-- EionRobb has quit (Quit: Leaving.)
11:42:55 <nhnt11> aleth: Okay. I'm going to try to add that in. If it proves too complicated, I'll leave it for now and I can go back to it, but if not it'll be there and do nobody any harm :)
11:43:05 <nhnt11> (I don't see why it has to be complicated)
11:43:39 <aleth> nhnt11: I don't think it'll be more complicated either, as you have to do something with scroll events anyway.
11:43:51 <Mic> bye!
11:44:22 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
11:44:57 <aleth> nhnt11: If you are looking for an example implementation, one that springs to mind is DXR
11:45:40 <aleth> Actually I'm not sure that will be helpful.
11:46:16 <nhnt11> aleth: It's okay, I think I can manage it
11:46:33 <aleth> Great :)
11:46:37 <nhnt11> If nothing, add a mutation observer to the scroll location and do something if it's less than x%
11:46:46 <nhnt11> nothing else*
11:49:15 <aleth> nhnt11: listen for the "scroll" event\
11:49:30 <aleth> e.g. https://developer.mozilla.org/en-US/docs/Web/API/element.onscroll
11:49:37 <nhnt11> Yep that works.
11:49:47 <nhnt11> I was a bit worried it would only apply to mouse wheel at first
11:50:32 <aleth> mdn should bring up all kinds of built-in scroll methods and events that you can use.
11:51:02 <nhnt11> I'm reading through some now :)
11:54:40 --> clokep_work has joined #instantbird
11:54:41 * ChanServ sets mode +o clokep_work 
11:57:04 <-- jb has quit (Ping timeout)
11:57:38 <nhnt11> Would it work if I just added a "scroll" handler to the awesometab binding?
11:57:50 <nhnt11> That listens for events on all child elements right?
11:58:08 <aleth> nhnt11: Try it?
11:58:12 <nhnt11> (I ask because it seems to work for clicks)
11:58:14 <nhnt11> Okay :)
11:58:35 <aleth> Otherwise put it on the richlistbox.
11:58:46 <nhnt11> Yep
11:59:37 <aleth> If you put it on the panel, you'll get scroll events even when using the mousewheel over the search bar though.
12:00:25 <nhnt11> I could always check the target? But putting it on the richlistbox is probably the best thing to do.
12:01:03 <aleth> You can always move it later if it seems convenient
12:03:16 <clokep_work> flo-retina: Any idea how to write tests for http.jsm?
12:03:35 <nhnt11> Nope, the target is always awesometab and not the richlistbox if it's in a handler.
12:05:05 <aleth> nhnt11: Put it on the richlistbox for now. If you need to move it later... there's probably more than one target ;) https://developer.mozilla.org/en-US/docs/Web/API/Event/Comparison_of_Event_Targets
12:05:28 <nhnt11> Cool. I can't see why I would need to move it but good to know.
12:05:55 <nhnt11> First I'm going to modify this code to make it sort the list without adding anything first, then add only 10 elements.
12:06:54 <-- rosonline has quit (Quit: Instantbird 1.4 -- http://www.instantbird.com)
12:07:59 <aleth> nhnt11: Right, probably you'll end up with an UI side to the code (displaying what is currently in the filtered/sorted list, and user interaction) and a "backend" that provides it
12:08:16 <nhnt11> brb
12:09:11 <clokep_work> aleth, nhnt11: My 2 cents is that I agree with flo-retina. Look at the awesomebar, it only shows a handful of items. IF it isn't there, you should be filtering more.
12:10:05 <aleth> clokep_work: I'd almost agree with that, but how do you "filter more" when dealing with IRC channel search results?
12:10:37 <aleth> If I search for "python", I don't want to just be shown the first 10 hits. I want all of them, because I may not know how to be more specific
12:11:02 <aleth> I may want to just see what there is.
12:13:19 <clokep_work> aleth: I'm not sure I agree that this is the best UI for that case.
12:13:30 <clokep_work> (Also the number that is shown should be editable. :))
12:13:39 <aleth> clokep_work: Then now's the time to talk about it ;)
12:13:46 <aleth> Editable?
12:13:46 <nhnt11> aleth: I think you should just use a /list for that and do Ctrl+F :P
12:13:58 <nhnt11> clokep_work: You mean an about:config option?
12:14:06 <aleth> nhnt11: If you had looked at /list you would not think that's a great idea :P
12:14:18 <nhnt11> aleth: :P
12:14:31 <nhnt11> aleth: I think the infinite scroll is good
12:14:48 <nhnt11> It isn't a big deal to implement IMO and won't be bothering anyone that doesn't want it.
12:14:59 <nhnt11> I have to go for a while, I have guests
12:15:01 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
12:16:39 <clokep_work> nhnt11: Yes, I mean about:config.
12:16:59 <clokep_work> nhnt11: I want the list command to go away, it's awful.
12:17:21 <aleth> clokep_work: How many items to show at once is a separate issue imho.
12:18:50 <aleth> Ultimately we want the ranking/filtering to be so good that you almost never need to scroll. But that's separate from what happens when you do ;)
12:18:58 <clokep_work> OK.
12:26:57 --> sumedh has joined #instantbird
12:49:48 <clokep_work> flo-retina: Did you see the comments on https://bugzilla.mozilla.org/show_bug.cgi?id=884319? Do you have a thought on removing the logging?
12:56:01 --> dionisos has joined #instantbird
13:14:07 --> nhnt11 has joined #instantbird
13:18:31 <-- wuwei has quit (Connection reset by peer)
13:39:44 <flo-retina> clokep_work: heh, I wanted to discuss that bug with you yesterday :)
13:40:44 --> jb has joined #instantbird
13:44:45 <clokep_work> flo-retina: Sorry, I had friends over to watch the game. :)
13:44:48 <clokep_work> What were your thoughts?
13:46:06 <flo-retina> I think removing the logging would make it useless for our purpose
13:52:07 * qheaden_away is now known as qheaden
13:52:08 <nhnt11> flo-retina: Would you have some time to review a new patch for bug 426 today if I uploaded one?
13:52:12 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=426 enh, --, ---, nhnt11, NEW, Add support for tabs with arbitrary content in the conversation window
13:52:15 <nhnt11> Also Mic^
13:52:35 <qheaden> Hello World! :)
13:53:06 <nhnt11> I'm currently working on the scrolling thing, but if there's a chance a review could be done today I'll give priority to that patch.
13:53:09 <nhnt11> Hi qheaden
13:54:26 <-- jb has quit (Ping timeout)
13:54:28 <flo-retina> nhnt11: I think that patch should have priority
13:54:35 <nhnt11> Cool.
13:55:04 <aleth> nhnt11: Yes, let's get that and the about tabs landed :)
13:55:16 <nhnt11> Sounds good.
13:55:22 * nhnt11 does $hg update awesometab
13:55:35 <flo-retina> I can't promise yet if I'll have time for a full review, but I'll at least give it a look before going to bed
14:07:07 <qheaden> clokep_work: After I iron out the kinks in buddy authorization requests, and work with tagging, what else is left for buddies?
14:08:39 <clokep_work> qheaden: You need to be able to do the following: add, remove, receive authorization requests, send authorization requests, move/change tags, receive status updates / updates of other information (status messages / any other message that Yahoo might send)
14:11:11 <qheaden> clokep_work: Okay. Add, remove, receive/send authorization (with bugs), and receiving status updates are implemented.
14:11:23 <qheaden> Now I need to work on sending status changes, and tags.
14:12:09 --> mconley has joined #instantbird
14:12:47 --> Nirgali has joined #instantbird
14:16:50 <clokep_work> "sending status changes"?
14:16:55 <clokep_work> qheaden: You mean your own status change?
14:16:57 <clokep_work> Yes.
14:17:22 <clokep_work> qheaden: THe only other thing I can think of is blocking buddies, but we don't handle that in the UI right now...
14:18:30 <qheaden> clokep_work: Yes, I need to handle sending your own status change.
14:20:32 <nhnt11> aleth, flo-retina: I'm going to go with "document that tab panels must focus something" for now, if we think of something better I'll change it later.
14:24:03 <-- Kaishi has quit (Quit: Kaishi)
14:29:13 <qheaden> nhnt11: How do you open the DOM inspector in Ib again? I remember you asked that before and got an answer.
14:29:29 <nhnt11> qheaden: It's in the tools menu when the buddy list is focused
14:29:32 <nhnt11> On Mac, at least
14:29:38 <nhnt11> Or use the --inspector command line flag
14:29:52 <qheaden> OK. Thanks.
14:30:20 <nhnt11> flo-retina: Is linkedPanel used in chat/ anywhere?
14:30:30 <aleth> qheaden: You have to install the add-on first though ;) just in case you haven't got it.
14:30:50 <aleth> Or maybe we include it in debug builds?
14:31:02 <nhnt11> flo-retina: I don't see why it would be since it's UI, but asking anyway
14:31:09 * qheaden looks at his installed addons.
14:31:16 <qheaden> Yea, looks like it isn't installed.
14:31:17 <nhnt11> It's not used at all so I thought we could get rid of it and change all the linkedTabPanels
14:32:29 --> mconley_ has joined #instantbird
14:32:30 <-- mconley has quit (Connection reset by peer)
14:32:49 <nhnt11> According to mxr, it's not.
14:35:56 <flo-retina> nhnt11: http://mxr.mozilla.org/mozilla-central/source/toolkit/content/widgets/tabbox.xml
14:42:22 <nhnt11> :(
14:42:33 <nhnt11> I was looking in c-c, didn't think about toolkit
14:44:16 <qheaden> clokep_work: Based on my code search, I see that the way to capture Ib status changes is to register an observer with Services.core and listen for the status-changed message. Is that correct?
14:44:22 <nhnt11> flo-retina: So I don't like keeping it *Panel everywhere other than linkedTabPanel
14:44:29 <nhnt11> I'm going to try and come up with a better name.
14:45:07 <nhnt11> Btw, I like *TabPanel better than *Panel.
14:45:30 <nhnt11> The tabbox code also uses the term "tabpanel"
14:45:48 <aleth> qheaden: yes
14:45:57 <nhnt11> I don't think 3 characters make too much difference.
14:46:56 <clokep_work> qheaden: No.
14:47:27 <aleth> clokep_work: no? an observe method listening for that message should do, right?
14:47:27 <clokep_work> qheaden: Just implement http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#834
14:47:41 <clokep_work> aleth: It's already listening.
14:47:48 <clokep_work> It's set up in jsProtoHelper.
14:48:25 <nhnt11> If I create an element using createElementNS, set some properties, then add it, will those properties persist? i.e. when the XBL binding is applied, are previously added properties wiped?
14:49:02 <aleth> clokep_work: Yes, that's what I meant and what I thought he meant. 
14:49:50 <aleth> (by "listen" I meant if (aTopic == "status-changed") ...)
14:50:23 <flo-retina> nhnt11: yes, no. (ie the properties will still be there)
14:50:45 <flo-retina> aleth: the catch is you don't register with Services.core, as the status can be per-account
14:50:47 <nhnt11> Cool, thanks
14:51:13 <flo-retina> aleth: and jsProtoHelper already deals with that for you (where 'you' = a js-prpl implementor)
14:52:35 <aleth> flo-retina: Right, thanks.
14:52:54 <aleth> You just override observe.
14:54:46 <clokep_work> aleth: " is to register an observer with Services.core" seems pretty clear he didnt. ;)
14:55:19 <-- mconley_ has quit (Connection reset by peer)
14:55:20 <nhnt11> flo-retina: What do you feel about setting linkedConversation in addTabPanel itself, if aTabPanel.conv exists? Same goes for linkedBrowser.
14:55:34 --> mconley has joined #instantbird
14:55:50 <flo-retina> nothing.
14:56:02 <flo-retina> I miss the context (ie what problem is it trying to solve, etc...)
14:56:11 <nhnt11> flo-retina: Right I'm about to explain that.
14:57:24 <nhnt11> updateCurrentTab is called after a new tab is added. Right now that's done at the end of addTabPanel. The problem is that, if we want to use addTabPanel in addConversation, we would need to updateCurrentTab again after linkedBrowser is set, so that docShell.isActive can be set properly.
14:59:11 <flo-retina> well, it doesn't sound ideal, but if there's no other obvious solution, go for it
14:59:59 <nhnt11> flo-retina: updateCurrentTab could simply be called again, but I don't like the idea of calling it twice
15:01:42 <nhnt11> flo-retina: How about only setting linkedBrowser? This at least somewhat conversation-independent since other panels CAN have browsers, and so a little justified going in addTabPanel
15:02:35 --> Optimizer has joined #instantbird
15:03:33 <-- aleth has quit (Quit: Ciao)
15:05:49 <flo-retina> an you mean addPanel, right? :-P
15:06:01 <-- mconley has quit (Input/output error)
15:06:03 <nhnt11> >:(
15:07:10 --> mconley has joined #instantbird
15:07:38 --> aleth has joined #instantbird
15:07:38 * ChanServ sets mode +h aleth 
15:07:40 <nhnt11> flo-retina: I don't like addPanel, particularly since linkedTabPanel will be inconsistent, but if you refuse, then okay.
15:07:54 <nhnt11> s/refuse/insist
15:08:06 * flo-retina insists
15:09:57 <nhnt11> okay :)
15:14:01 <nhnt11> To set t.linkedBrowser = aTabPanel.browser, I don't need to do a check on aTabPanel.browser right? If it's undefined, so will t.linkedBrowser so it won't matter.
15:14:17 <nhnt11> It may be better for readability to just do the check though
15:14:35 <qheaden> aleth, clokep_work: I was afk for a bit. Thanks for the help. I'll override observe.
15:15:14 <aleth> qheaden: well my "help" was a bit wrong, sorry ;)
15:15:31 <qheaden> aleth: No prob. :)
15:15:54 <qheaden> At least I was headed in the right direction for once. :P I tend to get lost in large code bases at times.
15:16:12 <nhnt11> qheaden: That is a problem :D
15:16:38 <nhnt11> Unless you wrote the code yourself ;)
15:17:00 <aleth> nhnt11: yourself and recently ;)
15:17:08 <nhnt11> ^That too :P
15:17:09 <qheaden> I used DOM inspector to inspect the ID for the status message box, and start from there. :P
15:17:50 <nhnt11> qheaden: A while ago I wrote an addon to display all observer notifications in the error console. It was quite revealing :)
15:17:53 <-- gerard-majax has quit (Ping timeout)
15:18:05 <qheaden> ^ lol.
15:18:31 <qheaden> You'd be surprised now many notifications are passed around for simple actions.
15:18:43 <aleth> Adding lots of dump() statements also often works ;)
15:18:55 <aleth> "does the code ever go here" :P
15:19:41 <flo-retina> nhnt11: that's a complicated solution. I just use a debug build with some nsObserverService logging enabled ;)
15:20:06 <flo-retina> aleth: yeah, dump() or printf() if you touch compiled code :)
15:22:42 <qheaden> I know Firefox has a line-by-line debugger for their JavaScript code. I wonder how hard it would be to add it to Ib.
15:23:01 <aleth> qheaden: There is a gsoc project adding it to TB, then we'll see...
15:24:46 <nhnt11> flo-retina: I need to learn how to build these builds... after tabbrowser :)
15:25:43 <flo-retina> nhnt11: --enable-debug in the mozconfig
15:25:50 <nhnt11> flo-retina, aleth: http://log.bezut.info/instantbird/today/#m561
15:25:56 <nhnt11> flo-retina: Cool, thanks.
15:26:08 <flo-retina> or just export DEBUG=1 if you use the in tree mozconfig http://lxr.instantbird.org/instantbird/source/mozconfig#8
15:26:18 * nhnt11 needs to get Mic's Not Today extension
15:26:33 <flo-retina> I was going to say the same thing :-P
15:26:56 <aleth> nhnt11: I'm not sure what you're asking, but if it's about reference errors, I think you will have to check. Because you are trying to access the content of something that may be undefined.
15:27:22 <nhnt11> aleth: I'm accessing aTabPanel.browser, where aTabPanel is always defined but browser may be undefined.
15:28:01 <aleth> Right, so aTabPanel.browser may be undefined, and that will give you such a warning.
15:28:28 <nhnt11> aleth: Cool, thanks. I'll keep the check.
15:28:46 <aleth> let a = undefined is a bit of a contradiction in terms ;)
15:28:56 <nhnt11> :P
15:32:51 <-- aleth has quit (Quit: Ciao)
15:36:26 <nhnt11> flo-retina: I'm confused why we do this.mPanelContainer.lastChild.id = uniqueId. Why not just aPanel.id = uniqueId?
15:38:18 <flo-retina> I don't know
15:38:44 <flo-retina> If you asked me that question around September 2009 I could likely have given you a quick answer.
15:38:56 <flo-retina> Now it would take me several minutes to read the code to see if it makes sense ;)
15:39:17 <nhnt11> flo-retina: There's no reason I can see. We do appendChild on it so aPanel is guaranteed to be the last child
15:39:47 <nhnt11> I'm going to change it.
15:39:54 <flo-retina> feel free to clean it up then
15:39:58 <nhnt11> Cool
15:44:34 --> atuljangra has joined #instantbird
15:44:57 * atuljangra is now known as testbot
15:45:06 * testbot is now known as atuljangra
15:46:54 <qheaden> If you set your status to available on Yahoo! with a custom message, it sends the packet with key 10 indicating an away status, but key 47 indicating that you are actually available. :-S
15:47:26 <qheaden> It only sets key 10 to the available code if you set yourself available with no message. Their protocol is very, very strange.
15:47:43 <clokep_work> I'm sure it's from adding extra features after the fact. :)
15:47:55 <qheaden> Yeah, that's what I was thinking.
15:49:29 <qheaden> clokep_work: Be prepared for some strange code and lots of comments. :)
15:51:52 <clokep_work> qheaden: Excellent. :)
15:53:47 * atuljangra will go and work on the interface and it's implementation. All wired up.
15:55:19 <atuljangra> !logs
15:57:13 <clokep_work> atuljangra: flo-retina and I discussed this a little this morning, of if you thought of the details about what sort of infromation you'd need, etc.
15:57:22 <clokep_work> And we'd like to see the interface before you start implementation. :)
15:59:57 <atuljangra> clokep_work: Sure. Actually I was trying something on tha alternate nicks. Can we discuss this in some time. I guess you guys will be here for quite a long time now?
16:02:56 <clokep_work> atuljangra: I'm here, but in my lab so ina nd out.
16:03:16 <atuljangra> clokep_work: No problem :-) Will ping you.
16:04:51 * clokep_work doesn't hear pings. ;)
16:05:00 <atuljangra> heh :P
16:07:12 --> gtzgtz has joined #instantbird
16:07:48 <gtzgtz> Hi,
16:08:18 <gtzgtz> somebody knows if Instabird works with Twitter two factor authentication?
16:09:40 <clokep_work> Twitter has two-factor authentication? :-S
16:09:42 <clokep_work> Since when?
16:09:47 <clokep_work> gtzgtz: Hello.
16:09:54 <gtzgtz> Some weeks ago,
16:10:06 <gtzgtz> it's optional, but can be enabled,
16:10:56 <clokep_work> Ah, interesting.
16:11:01 <gtzgtz> works sending a SMS to your cellphone with a code,
16:11:10 <nhnt11> flo-retina: By the way, "Why would any code try to remove the dummy tab?" - addTabPanel removes the dummy tab because it's useless. This will be fixed once awesometab comes around and dummy goes away.
16:11:13 <clokep_work> I don't think anyone has tried.
16:11:33 <nhnt11> By that I mean, addTabPanel removes it since it can't use it like addConversation can.
16:11:41 <clokep_work> gtzgtz: But we don't really have code to prompt for a password every time or something like that. I'd have to look into it, most likely.
16:12:14 <gtzgtz> thanks! 
16:13:16 <clokep_work> gtzgtz: Feel free to file a bug if it doesn't work.
16:13:25 <clokep_work> (Or even better to fix it! :))
16:14:10 <gtzgtz> Can you imagine a way I can authorize Instabird? 
16:14:34 <clokep_work> Also it's "Instantbird", not "Instabird". :)
16:14:43 <clokep_work> gtzgtz: Can you generate an "app password" or something like that?
16:15:06 <gtzgtz> ups, sorry,
16:15:25 <clokep_work> No problem!
16:15:31 <clokep_work> That's how you would do it for something like GTalk.
16:15:37 <gtzgtz> Yes, I think there are a way, but it's only a temporary password, only for one hour,
16:15:44 <qheaden> Do you guys allow breaks from loops? I need to stop a for..in loop early.
16:16:28 <clokep_work> qheaden: Absolutely.
16:16:34 <clokep_work> gtzgtz: That seems weird.
16:18:06 <gtzgtz> clokep_work: I will try to use it with Instantbird,
16:18:43 <clokep_work> gtzgtz: "With login verification enabled, your existing applications will continue to work without disruption. If you need to sign in to your Twitter account on other devices or apps, visit your applications page to generate a temporary password to log in and authorize that application." so sounds like you could disable it, get Instantbird set up and re-enable it?
16:18:55 <clokep_work> Via https://blog.twitter.com/2013/getting-started-login-verification
16:20:15 <gtzgtz> I will try that too,
16:20:56 <nhnt11> flo-retina: I do wonder why we format this line the way we do: http://pastebin.instantbird.com/227911
16:21:22 <qheaden> gtzgtz: Is the SMS message something that is done only at account creation, or every time you sign in?
16:21:38 <gtzgtz> Every time you sign into Twitter,
16:22:08 <qheaden> OK.
16:24:15 <nhnt11> flo-retina: Also should I be bothering with changing var's to let's or should I leave that for another bug?
16:28:42 <gtzgtz> Well, temporary password did not work,
16:34:03 <clokep_work> We also try to use oauth for Twitter, I don't know how that interacts w/ two factor auth.
16:35:37 <nhnt11> flo-retina: "Oh, good catch. In tab containing a brower, it should scroll to top/bottom. Maybe from here we should just dispatch an event to the panel, and then deal with it in each panel implementation that cares?" - I think we should just check if there's a browser, since it applies to pretty much anything with a browser. I don't see why it should be passed to the panel.
16:37:49 <nhnt11> flo-retina: Also instead of "onDeselect" why not just "switchingAwayFromPanel" in consistence with "switchingAwayFromTab"
16:46:05 <gtzgtz> clokep_work: Works fine disabling two factor authentication, authorizing Instantbird and enabling TFA again,
16:46:18 --> Mook_as has joined #instantbird
16:53:52 <clokep_work> gtzgtz: Cool thanks. :)
16:56:12 * nhnt11 can't figure out what he did that's causing TypeError: this.linkedTabPanel is undefined :(
16:58:54 --> gerard-majax has joined #instantbird
17:04:02 <clokep_work> mconley: Ping.'
17:04:16 <mconley> clokep_work: pong
17:04:29 <clokep_work> mconley: YOu ever written a test dealing with httpd?
17:04:36 <mconley> clokep_work: I have!
17:04:47 <clokep_work> mconley: Any advice? I need to write a few simple tests for http.jsm.
17:05:05 <mconley> clokep_work: you'd need to be more specific. Advice on how to get started? or advice on a particular problem?
17:05:20 <clokep_work> mconley: Advice on how I start up the server and just give a couple responses.
17:05:27 <mconley> clokep_work: are they fixed responses?
17:05:39 <clokep_work> Mossop wants a success callback to be tested, a failure callback and testing of the post data.
17:05:45 <clokep_work> mconley: Could be, sure.
17:06:05 <mconley> clokep_work: this document is what you want to familiarize yourself with: https://developer.mozilla.org/en-US/docs/Httpd.js/HTTP_server_for_unit_tests
17:06:12 <clokep_work> mconley: Yes, I read that.
17:06:14 <mconley> you might want sjs scripts
17:06:40 <mconley> helps to split your stuff up across a few files
17:06:50 <clokep_work> sjs?
17:07:19 <mconley> clokep_work: https://developer.mozilla.org/en-US/docs/Httpd.js/HTTP_server_for_unit_tests#SJS:_server-side_scripts
17:08:11 <clokep_work> mconley: So one of my question is how to properly stop the server.
17:08:26 <mconley> clokep_work: http://dxr.mozilla.org/mozilla-central/search?tree=mozilla-central&q=ext%3A.sjs&redirect=true lots of sjs examples here
17:08:36 <clokep_work> I've seen things with crazy callbacks with "aController" but I don't know what that is.
17:08:50 <mconley> where have you seen such crazy things?
17:10:27 <clokep_work> I think in mozmill tests?
17:10:39 <clokep_work> mconley: http://mxr.mozilla.org/comm-central/source/mail/test/mozmill/shared-modules/test-cloudfile-yousendit-helpers.js#14
17:11:12 <mconley> clokep_work: ah, so I'm being all fancy there
17:11:28 <mconley> and probably too complicated
17:12:15 <mconley> clokep_work: so, in that file, the MockYouSendItServer is wrapping up httpd.js
17:12:19 <mconley> and giving it more functions and stuff
17:12:31 <mconley> so I could plug in various things and make it fail or behave in different ways
17:12:36 <mconley> with different combinations
17:13:03 <mconley> the "stop" function in there wraps the stop function of the server (this._server), which just takes a callback that is executed once the stop is done
17:13:11 <mconley> in this case, I cause the test to block until the server is fully stopped.
17:13:32 <clokep_work> I understand taht, but nothing seems to call the "stop" function...
17:14:22 <mconley> clokep_work: right here: http://mxr.mozilla.org/comm-central/source/mail/test/mozmill/shared-modules/test-cloudfile-yousendit-helpers.js#160
17:15:00 <mconley> which is called from: http://mxr.mozilla.org/comm-central/source/mail/test/mozmill/cloudfile/test-cloudfile-backend-yousendit.js#69
17:16:02 <clokep_work> mconley: I meant nothing is calling the mockserver's stop.
17:16:07 <-- gtzgtz has quit (Quit: http://www.mibbit.com ajax IRC Client)
17:16:08 <clokep_work> But now I'm realizing that isn't a test file, just a helper file.
17:16:13 <mconley> clokep_work: correct!
17:16:41 <mconley> clokep_work: the second link I pasted shows the helper being told to stop its server every time a test completes. We teardown the test and stop the server, and then re-init for the next test.
17:16:57 <mconley> but this is probably far, far, far more complicated than the stuff you'll need
17:17:06 <mconley> the swappy stuff I was doing is not something I think you have to deal with
17:19:21 <clokep_work> mconley: Excellent, thanks. :0
17:19:57 * clokep_work waits for his build to finish.
17:25:50 <flo-retina> nhnt11: "flo-retina: I do wonder why we format this line the way we do: http://pastebin.instantbird.com/227911" that seems just wrong ;)
17:27:54 <flo-retina> nhnt11: "flo-retina: Also should I be bothering with changing var's to let's or should I leave that for another bug?" another bug please
17:28:13 <flo-retina> (or not at all, if you don't think filing a bug and attaching a patch for that is worth of your time)
17:29:04 * nhnt11 just fell asleep
17:29:13 <flo-retina> "instead of "onDeselect" why not just "switchingAwayFromPanel" in consistence with "switchingAwayFromTab"" maybe because switchingAwayFromTab sucked? I didn't even know we had it.
17:29:36 <nhnt11> flo-retina: We have switchingToTab too
17:30:45 <flo-retina> I'm obviously not very familiar with this code any more :-/
17:31:07 <nhnt11> flo-retina: Could you look at a diff if you're not too busy?
17:31:19 <flo-retina> depends the size of the diff ;)
17:31:25 <nhnt11> I can't figure out why it's causing TypeErrors, and I just fell asleep while trying to think why...
17:31:56 <nhnt11> http://pastebin.instantbird.com/227942
17:31:58 <nhnt11> flo-retina: ^
17:33:42 <nhnt11> I think the relevant part starts from line 283..
17:36:33 <flo-retina> too long to understand that now, I've another 'meeting' starting.
17:36:44 <nhnt11> Okay.
17:37:44 <nhnt11> These are the errors I'm getting, btw: http://pastebin.instantbird.com/227944
17:39:25 <qheaden> clokep_work: Setting your status is done. :)
17:39:59 <flo-retina> qheaden: :)
17:40:14 --> Mnyromyr has joined #instantbird
17:40:57 <clokep_work> qheaden: Excellent.
17:41:03 <clokep_work> Have you been making separate commits?
17:41:15 <qheaden> Yes. I'm about to make one now.
17:41:29 * clokep_work thinks we probably need some more tests. ;)
17:42:48 * qheaden starts to sweat thinking about writing tests.
17:45:38 <-- novabyte has quit (Quit: bye bye)
17:53:28 * nhnt11 fixed some of the errors!
17:54:07 <clokep_work> qheaden: Can you do me a favor?
17:54:14 * nhnt11 writes a comment about how preservation of order is extremely important in tabbrowser code
17:54:27 <clokep_work> qheaden: Make a list of all the features we want to support and mark off whether we support them or not.
17:57:08 <qheaden> clokep_work: Okay. Perhaps I can make one on Google Drive?
17:57:14 <qheaden> So it can be shared between us.
17:57:38 <clokep_work> qheaden: Google Docs, you mean?
17:57:48 <qheaden> clokep_work: Yes.
17:57:48 <clokep_work> qheaden: Can we do it on the wiki instead?
17:57:57 <qheaden> clokep_work: Oh sure, that will be better.
17:58:09 <qheaden> I forgot about the BitBucket wiki. If that's what you are talking about.
17:58:24 <nhnt11> flo-retina: There are a lot of issues regarding the order in which some things are done while adding panels. It seems like I'm going to be forced to call updateCurrentTab twice, and I'm going to do it instead of continuing to search for a solution because it seems much cleaner. I'll leave a comment on why it's done.
17:59:12 <flo-retina> qheaden: wiki.instantbird.org or maybe just an etherpad
18:00:20 <qheaden> flo-retina: Well, since it is still a work in progress, do you think it will be better to use the BitBucket wiki, just for progress tracking, and then we can transfer it to wiki.instantbird.org when everything is done?
18:01:13 <flo-retina> qheaden: when everything will be done, it'll be ready to post on blog.instantbird.org ;)
18:01:44 <qheaden> :)
18:03:00 <qheaden> So where on the wiki should I place the list?
18:03:27 <flo-retina> If you intend to edit more than once a day, I would suggest an etherpad
18:03:41 <flo-retina> otherwise, just find a place that seems to make sense on the wiki :)
18:04:18 <qheaden> I think an etherpad would be better.
18:06:32 <clokep_work> qheaden: I meant the Instantbird wiki, but the bitbucket one I guess could work too.
18:06:52 <clokep_work> qheaden: etherpad is fine. :)
18:06:56 <clokep_work> Just provide al ink.
18:07:00 <clokep_work> And please use Mozilla's etherpad.
18:10:19 <-- sumedh has quit (Quit: Leaving)
18:12:02 <clokep_work> qheaden: Feel free to give a link whenever you have it. ;)
18:12:05 * clokep_work enjoys watching people type. :P
18:12:05 <qheaden> clokep_work: https://etherpad.mozilla.org/ELTNA6O44F
18:12:30 <qheaden> :P
18:12:41 <nhnt11> clokep_work: Always fun :P
18:21:06 <clokep_work> qheaden: I'm going to put literally everything on here...even if it's stuff Instantbird doesn't really support.
18:22:36 * nhnt11 hates tabbrowser
18:24:08 <qheaden> clokep_work: Okay.
18:24:13 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
18:25:16 <qheaden> clokep_work: Would file transfer go under conversations?
18:27:03 <clokep_work> qheaden: It goes somewhere. :P
18:30:59 <clokep_work> qheaden: Are there other statuses supported in Yahoo?
18:31:45 <qheaden> clokep_work: I don't think so.
18:35:37 <qheaden> clokep_work: According to the docs online, there are a number of status codes. But after using WireShark on the libpurple implementation, it doesn't look like those status codes are used in version 15 of the protocol.
18:35:46 <qheaden> Not sure if they are used during group chat. So I will have to see later on.
18:36:25 <clokep_work> qheaden: Hm. OK,
18:37:48 * qheaden wonders how he will test Yahoo! JAPAN.
18:38:10 <clokep_work> Get a Yahoo! JAPAN account? :P
18:38:12 --> DGMurdockIII has joined #instantbird
18:38:34 <qheaden> Guess I have to. :P
18:39:01 <clokep_work> qheaden: You also need to get the second prpl created in Instantbird and reconfigure a few things.
18:39:05 <clokep_work> Nothing hard, but a days worth of work.
18:39:43 <qheaden> Yeah.
18:40:58 <nhnt11> flo-retina: I'm going to upload a patch that still doesn't get rid of tabbrowser-panel, and sleep. Tomorrow I'll get rid of tabbrowser-panel. For now I had to keep it because I made the dummy tab a tb-panel instead of a conversation in order to prevent breaking some stuff.
18:41:30 <clokep_work> qheaden: So, looks like good progress so far.
18:41:33 <clokep_work> What are you working on now?
18:43:14 <nhnt11> flo-retina: Actually tomorrow I think I'm going to get rid of the dummy tab for good.
18:43:51 <nhnt11> It caused me great pains today for what otherwise should've been a fast patch.
18:44:12 <qheaden> clokep_work: Well, now I need to work on the code that will handle messages split over multiple TCP packets.
18:44:59 <qheaden> I have to leave and take care of something for about 45 minutes though. I will be back.
18:45:32 <nhnt11> flo-retina: Wow, never mind, I'm still having problems and don't think I'll be uploading a patch today. Maybe addConversation and addTabPanel should stay separate...
18:46:58 <nhnt11> Hmm, flo seems to have quit. Why is he still on my participants list?
18:47:56 <clokep_work> qheaden: I thought that's done already? :-S
18:48:04 <clokep_work> What do you need to do for it?
18:48:33 <nhnt11> Good night.
18:48:53 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
18:59:04 * qheaden is now known as qheaden_away
19:17:45 * qheaden_away is now known as qheaden
19:18:19 <qheaden> clokep_work: I tried writing a patch for split packets, but my code had so much trouble, I just hg revert'ed the whole thing and vowed to work on it later.
19:18:25 <qheaden> I guess later is now. :)
19:18:42 <clokep_work> Oh OK. :)
19:18:55 <clokep_work> qheaden: So you don't split packets at all right now? :-S
19:19:32 <qheaden> clokep_work: Well, I don't split TCP packets. As for the Yahoo! ones within one TCP packet, I split those.
19:19:48 <qheaden> let me rephrase again.
19:20:02 <qheaden> I don't "handle" split TCP packets.
19:20:38 <clokep_work> qheaden: I'm fairly certain you're over thinking it and it's handled for you.
19:20:52 <clokep_work> That's why you have to tell it how many bytes you've handled.
19:20:57 <clokep_work> The rest gets put back onto the buffer.
19:22:04 <clokep_work> If a single packet has YMSGABCDYM and the second is SGFOOBAR, if you return "YMSGABCD".length the first time, the YM is automatically kept.
19:22:07 <clokep_work> by socket.
19:22:20 <qheaden> clokep_work: The problem is that when I return the number of bytes handled, it includes the bytes for a packet that is halfway sent. Shouldn't those bytes be excluded so it can be placed back into the buffer?
19:23:04 <clokep_work> qheaden: Yes.
19:23:10 <qheaden> clokep_work: Using that analogy, my code right now returns "YMSGABCDYM".length. I need to fix it to return just the first packet length.
19:23:13 <clokep_work> You have to calculate the number of bytes that were /handled/ not the number received.
19:23:18 <qheaden> Right.
19:23:37 <qheaden> Okay. Let me work on that now.
19:24:13 <qheaden> clokep_work: BTW, I'm going to place the etherpad link on the BitBucket wiki for easy reference.
19:28:35 <clokep_work> SUre thing. :)
19:31:44 --> Mic has joined #instantbird
19:31:45 * ChanServ sets mode +h Mic 
19:32:39 <Mic> Hello
19:33:28 <clokep_work> Howdy Mic.
19:33:29 <qheaden> Hi Mic.
19:38:07 --> Huvik has joined #instantbird
20:04:37 <-- Optimizer has quit (Ping timeout)
20:12:42 --> Optimizer has joined #instantbird
20:16:36 --> jb has joined #instantbird
20:24:15 <Mic> Does anyone have problems with the Bubbles theme failing to show messages recently?
20:25:06 <Mic> The messages are inserted and are taking up space but they're not visible for quite a while (like 20 seconds).
20:25:36 <clokep_work> Nope.
20:27:52 <-- DGMurdockIII has quit (Ping timeout)
20:28:03 <-- jb has quit (Ping timeout)
20:29:49 --> DGMurdockIII has joined #instantbird
20:30:02 <-- DGMurdockIII has quit (Quit: ChatZilla 0.9.90 [Firefox 22.0/20130617145905])
20:31:30 --> jb has joined #instantbird
20:31:44 <clokep_work> Mic: What details did you fix? :)
20:32:25 <Mic> Some pixels with 5% opacity weren't exactly right :D
20:33:37 <Mic> I attached the icon to the wrong bug :(
20:35:20 <clokep_work> :(
20:43:10 <clokep_work> atuljangra: Any progress today?
20:44:46 <atuljangra> clokep_work: Almost finished with Alternate Nicks. Will work on interface in 15 mins.
20:45:55 <clokep_work> atuljangra: Hm. OK. :)
20:53:03 --> FireFly_TB has joined #instantbird
20:57:45 <-- FireFly_TB has quit (Ping timeout)
20:58:14 <atuljangra> clokep_work, flo-retina: I guess it would be best if we can discuss the interface on email, since timezones's of me and flo-retina's clash. :-/  What would be your thoughts?
21:03:52 <clokep_work> atuljangra: How about an etherpad?
21:04:08 <atuljangra> clokep_work: that sounds lovely. I'll start one.
21:04:17 <clokep_work> Thanks, please post the link.
21:04:35 * atuljangra will be disconnecting for 10 mins so that he can switch to 3G for faster internet.
21:04:41 <atuljangra> clokep_work: yes will do :)
21:06:52 <-- atuljangra has quit (Quit: Need some break from Moz-awesomeness! :-))
21:17:29 --> EionRobb has joined #instantbird
21:17:42 --> atuljangra has joined #instantbird
21:18:02 <atuljangra> back.
21:19:44 <-- atuljangra has quit (Ping timeout)
21:20:04 --> atuljangra has joined #instantbird
21:22:00 <-- jb has quit (Ping timeout)
21:23:52 <-- atuljangra has quit (Ping timeout)
21:24:01 --> atuljangra has joined #instantbird
21:24:11 <qheaden> I have to go now. I will continue work later.
21:24:32 <qheaden> Bye all.
21:24:38 * qheaden is now known as qheaden_away
21:25:17 <atuljangra> Bye qheaden_away :)
21:30:27 <-- atuljangra has quit (Ping timeout)
21:30:32 <Mic> Good night
21:30:35 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
21:30:42 --> atuljangra has joined #instantbird
21:35:18 <clokep_work> atuljangra: FYI I'd really prefer we start making some progress on your GSoC project and not the alternative nicks patch for now.
21:35:28 <clokep_work> At least get us your questions so we can help move you along while we're offline.
21:36:05 <atuljangra> clokep_work: Yes, I realized that. I'm dropping alternate nicks. Working on the ethernet for the same.
21:36:16 <atuljangra> I really need to pace up my work.
21:36:32 <clokep_work> OK. feel free to post your etherpad before it's "done". :)
21:36:36 <atuljangra> *etherpad
21:36:51 <atuljangra> OK. Here it is: https://etherpad.mozilla.org/e3uXWiSXhL
21:36:57 <atuljangra> flo-retina^
21:38:52 --> flo-retina has joined #instantbird
21:38:52 * ChanServ sets mode +qo flo-retina flo-retina 
21:41:25 <clokep_work> flo-retina: https://etherpad.mozilla.org/e3uXWiSXhL
21:50:09 <flo-retina> hmm, interestingly, #talkilla has that "left" icon again.
21:50:30 <flo-retina> I wonder what could be specific about it to explain the different behavior
21:50:34 <flo-retina> clokep_work: any idea?
21:51:38 <clokep_work> flo-retina: I don't know. :-/ Maybe we never received the JOIN message or misparsed it?
21:53:16 --> FireFly_TB has joined #instantbird
21:54:06 <-- FireFly_TB has quit (Quit: FireFly_TB)
21:56:05 <flo-retina> clokep_work: good guess!
21:56:38 <flo-retina> clokep_work: http://pastebin.instantbird.com/228108
21:56:48 * flo-retina wonders what's messed up with the nick list again
21:57:33 <clokep_work> flo-retina: :(
22:03:46 <flo-retina> how difficult would it be to have tests for that damn nicklist?
22:04:26 <flo-retina> + it looks like we seriously need to add a bunch of try/catch in our js-prpl code.
22:04:45 <flo-retina> the UI throwing on some random notifications shouldn't cause breakage at the prpl level
22:08:31 <flo-retina> clokep_work: is the info in that subset of the debug log enough to file an actionable bug?
22:08:40 <clokep_work> flo-retina: Not really, no. :(
22:08:42 <flo-retina> or is there anything else I could look for in the whole debug log
22:09:19 <flo-retina> I could file a bug to add a bunch of try { ... } catch(e) {ERROR(e);} but that's only half the fix
22:12:03 <flo-retina> so either there's something going wrong in http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#370
22:12:11 <flo-retina> or this._participants is out of sync
22:12:44 --> Mic has joined #instantbird
22:12:44 * ChanServ sets mode +h Mic 
22:12:53 <qlum>  clokep I finally decided to go and compile the thing that is hopefully going to fix my disconnects and at least on linux it seems to work. My desktop disconnected around 15 minutes ago on the worst net and my laptop is still running strong, now I'll run it a little longer and on 2 nets but for now it seems like pinging 10 times as often helps. if you don't know what I am talking about here is the link:
22:12:53 <qlum> https://bugzilla.instantbird.org/show_bug.cgi?id=1942
22:12:56 <instantbot> Bug 1942 nor, --, ---, nobody, UNCO, Irc Networks disconnect then imminently reconnect again.
22:13:21 <qlum> btw the reason I compiled on my laptop and not on my desktop is because I couldn't figure out how to do it on windows
22:13:27 <clokep_work> flo-retina: The protocol keeps going though, so it's not totally killing it.
22:13:36 <flo-retina> and it looks like http://lxr.instantbird.org/instantbird/source/chat/modules/jsProtoHelper.jsm#412 is the only place that needs the try catch I was thinking about
22:13:45 <clokep_work> flo-retina: My guess is that _participants is out of sync, maybe.
22:13:50 <flo-retina> and I also think the UI code should include the nickname it failed to remove in its error
22:14:29 <clokep_work> qlum: What did you change it from and to?
22:14:34 <flo-retina> without that try catch, any UI add-on throwing on a notification will cause some other parts of the UI to miss the notification
22:14:40 <clokep_work> flo-retina: A try-catch there should help. :)
22:14:48 <clokep_work> Ah, I see.
22:14:51 <qlum> from: 120000 to: 12000
22:15:04 * clokep_work mumbles what units those are in..
22:15:26 <flo-retina> clokep_work: I was wondering if the nsISupportsString dance in removeAllParticipants couldn't mess things up for some non-ascii characters
22:15:38 <qlum> http://lxr.instantbird.org/instantbird/source/chat/modules/socket.jsm#284
22:15:40 <clokep_work> flo-retina: That's quite possible!
22:15:41 <qlum> just this line
22:15:46 <flo-retina> ie the nick wouldn't be encoded in the same way as when the user joined
22:16:02 <clokep_work> No weird nicks in there.. :-/
22:16:48 <clokep_work> Doh, the comment right above it says "2 minutes". :P
22:17:07 <clokep_work> qlum: I'd probably be OK setting it at 30 seconds, faster than that seems excessive.
22:17:09 <flo-retina> clokep_work: NiKo` but I don't think ` is non-ascii
22:17:22 <qlum> well it is only to test
22:17:24 <clokep_work> flo-retina: ` is right boave my tab key :P
22:17:40 <clokep_work> qlum: Well my point was that I'd r+ a patch changing that to 30 seconds. :)
22:17:49 <qlum> true
22:18:03 <qlum> it does however take ages to compile on a e350
22:18:21 <clokep_work> You can just go change the JS file.
22:18:30 <qlum> oh k
22:18:34 <clokep_work> Or we could make it a about:config pref, but that doesn't seem necssary.
22:18:48 <qlum> Well I really don't know half of what I am doing so yea
22:18:52 <clokep_work> And making the patch should be simple. :)
22:18:58 <clokep_work> Yup, that's fine! :)
22:19:17 <flo-retina> clokep_work: interestingly, much earlier in the log, I have: 
22:19:17 <flo-retina> Timestamp: 20/06/13 13:32:30 Error: [Exception... "'Adding chat buddy Standard8 twice?!' when calling method: [nsIObserver::observe]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "JS frame :: resource:///modules/jsProtoHelper.jsm :: <TOP_LEVEL> :: line 412"  data: no] Source File: resource:///modules/jsProtoHelper.jsm Line: 412
22:19:46 <clokep_work> :(
22:19:52 <clokep_work> That's not good.
22:19:57 <flo-retina> and 2 hours before, the same message about jb
22:19:59 <clokep_work> We haven't seen these errors in a LONG time. :-/
22:20:10 <Mic> nhnt11: maybe you'd be interested in having a look at the 'auto complete' interfaces to see how they handle the back and forth with requesting suggestions and receiving them there.
22:20:34 <flo-retina> clokep_work: these would be easier to spot if we could get rid of most of the noise we currently have in the error console
22:21:24 <clokep_work> Which noise is that?
22:21:46 <flo-retina> "Unhandled {CAP,ISUPPORT} messages" is the noisiest
22:21:51 <clokep_work> atuljangra: Do you have a better idea now of what's going on?
22:21:53 <flo-retina> I think we should move that to LOG instead of WARN
22:22:23 <atuljangra> clokep_work: Yes. Thanks to you :)
22:22:56 <flo-retina> there's also the "Unhandled CTCP message: AVATAR" that's noisy, but I'm less sure we should hide it, as it's a message sent to you by someone that was dropped on the floor, rather than server capacities we don't know how to handle yet
22:23:26 <clokep_work> flo-retina: We also could just implement handlers for some of those things. ;)
22:23:36 <clokep_work> (And if they are things we don't care about, just put a return true)
22:23:44 <atuljangra> ^Mic knows about this I guess.
22:23:52 <flo-retina> "Warning: received presence stanza for unknown buddy <my gtalk account>/<some other resource>" is also noisy; I've meant to fix it for a while.
22:23:57 <clokep_work> atuljangra: So you have the drag & drop working. Now you'll want to initiate the FT with the conversation you're dropping on.
22:24:18 <-- Optimizer has quit (Ping timeout)
22:24:18 <flo-retina> clokep_work: I don't think trying to implement all that stuff for all servers our users may connect to is a reasonably use of our time
22:24:24 <qlum> so if it is just a file I need to change what do I need to change?
22:24:38 <flo-retina> and if we agree with that, then these messages are noise, because they will always be there
22:25:05 <atuljangra> clokep_work: Yes. For which I should be designing the interface first.
22:26:12 <atuljangra> flo-retina: Which timezone are you in?
22:26:19 <flo-retina> UTC+2 (France)
22:26:29 <flo-retina> it's 0:26 here
22:26:43 <atuljangra> Okay. :)
22:27:15 <atuljangra> It's 4 am here.
22:27:27 <flo-retina> clokep_work: I'm wondering if I should checkin tonight something that will make the next nightly useful to debug that issue
22:28:34 <flo-retina> but I'm not sure exactly why. I think adding the try/catch and the nick in the "removing unknown nick" error would help, as we would at least know if it chokes on specific nicks or duplicates the notifications for the whole list.
22:28:40 <flo-retina> but is that good enough?
22:28:45 <clokep_work> flo-retina: I'd like to handle more of them eventually.
22:29:04 <flo-retina> clokep_work: "more" sure, but do you plan to handle them all?
22:29:06 <clokep_work> flo-retina: I agree having that would be helpful.
22:29:23 <-- Huvik has quit (Quit: Huvik)
22:29:27 <flo-retina> and I'm not suggesting that we remove the message; just that we don't show it with the default log level that shows warnings in the console
22:30:01 <flo-retina> clokep_work: so should I do that patch asap?
22:30:07 <atuljangra> clokep_work: Regarding the thunbnails, I don't think that they are actually useful, was just wondering if they can enhance the UI.
22:30:24 <clokep_work> flo-retina: I could review it now, yes.
22:30:32 <clokep_work> atuljangra: That could be added after the fact too.
22:30:40 <clokep_work> atuljangra: You don't need to do everything in the first iteration. :0
22:31:03 <atuljangra> clokep_work: Yes, that's why dropping it.
22:31:33 <atuljangra> clokep_work: Yes, also this is going to be a long project. We should manage these things properly.
22:31:42 <flo-retina> clokep_work: should I add a try catch too in http://lxr.instantbird.org/instantbird/source/chat/modules/jsProtoHelper.jsm#220 while I'm at it?
22:32:27 --> Optimizer has joined #instantbird
22:33:19 <atuljangra> I guess I would sleep now. It's 4 am here.
22:33:36 <atuljangra> clokep_work: Thanks for your ideas. :) Lets hope to finish this by Monday :)
22:33:45 <clokep_work> atuljangra: Will you be working tomorrow?
22:33:51 <clokep_work> flo-retina: It potentially could be useful.
22:33:58 <atuljangra> flo-retina: Will be waiting for your thoughts on etherpad. :)
22:34:11 <flo-retina> clokep_work: do you remember how I can use ERROR with an existing exception?
22:34:16 <qlum> clokep_work you said I didn't have to compile it again, could you elaborate that?
22:34:27 <atuljangra> clokep_work: Yes.
22:35:50 <clokep_work> qlum: Go into your objdir/dist/mozilla/bin folder.
22:36:00 <clokep_work> And then modules and modify the module there.
22:36:03 <clokep_work> flo-retina: One second.
22:36:38 <clokep_work> flo-retina: http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#686 maybe?
22:36:39 <flo-retina> atuljangra: the 'existing' interfaces that could be interesting to look at (either for inspiration or to extend) are the ones Firefox users for the download manager
22:36:49 <clokep_work> Also http://lxr.instantbird.org/instantbird/source/chat/protocols/irc/irc.js#1380
22:37:06 <clokep_work> atuljangra: https://developer.mozilla.org/En/NsIDownloadManager
22:37:06 <flo-retina> you are in a very similar situation (with the progress, and with the possibility to cancel); the only difference is that you can also upload in addition to download.
22:37:52 <flo-retina> clokep_work: this is what I coded 'intuitively' but I don't see how it's going to work
22:38:09 <atuljangra> flo-retina: Will do :)
22:38:16 <atuljangra> clokep_work: Thanks for the link.
22:38:22 <clokep_work> atuljangra: It's possible you could use http://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIDownload exactly as is?
22:38:41 <flo-retina> or is it just going to call toSource on it, and add the new jsProtoHelper location?
22:39:02 <-- Optimizer has quit (Ping timeout)
22:39:04 <atuljangra> Seeing.
22:39:20 --> wnayes has joined #instantbird
22:39:23 <flo-retina> bah, the location is already messed up and showing the jsProtoHelper :(
22:39:35 <flo-retina> alright, I guess I don't care then
22:39:45 <qlum> good time to test it again
22:41:14 <qlum> btw its obj-instantbird/mozilla/dist/bin not the dist before mozilla but hey I got what you meant
22:41:51 <clokep_work> I don't remember, sorry. :(
22:42:07 <clokep_work> qlum: Sorry, very distracted.
22:42:42 <flo-retina> clokep_work: here is what I have http://pastebin.instantbird.com/228146
22:42:47 <atuljangra> clokep_work: seems useful. But by using as it is, do you mean that we should extend this one? Or just create a new one with some motivation from this?
22:43:44 <clokep_work> atuljangra: I meant to actually use it.
22:44:07 <atuljangra> clokep_work: Okay. That should work.
22:44:17 <clokep_work> flo-retina: Looks useful.
22:44:39 <clokep_work> flo-retina: r+ if you want it.
22:45:32 <clokep_work> atuljangra: So you could extend the download manager, potentially to also handle uploads.
22:45:38 <clokep_work> And then add an upload, as wella s the download interface.
22:47:12 <atuljangra> clokep_work: yes, that can be a approach. We can use download manager for the things it provides and then extend it for our own benefit.
22:47:38 <clokep_work> Yes, potentially.
22:47:44 <clokep_work> That seems like a reasonable plan at least.
22:47:56 <atuljangra> yes, I agree.
22:50:58 <clokep_work> There's also an nsIUploadChannel, but that doesn't seem useful.
22:51:46 <atuljangra> Looked at it, download manager seems more useful here.
22:52:56 <clokep_work> OK
22:53:01 --> atuljangra1 has joined #instantbird
22:53:11 <atuljangra1> sorry got disconnected.
22:53:37 <-- atuljangra has quit (Ping timeout)
22:53:59 <Mic> Something I wanted to try for a while already: https://wiki.instantbird.org/File:ContactListChevronReplacement.png
22:54:20 <flo-retina> atuljangra1: http://mxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsIChannel.idl http://mxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsIRequest.idl and http://mxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsIRequestObserver.idl may also be things to look at for inspiration (doesn't seem directly reusable).
22:54:56 * atuljangra1 looks
22:54:59 <Mic> Opinions on it? The contrast might be a bit low with this one but our current chevron is just *ugly* ;)
22:55:07 * atuljangra1 is now known as atuljangra
22:55:23 <flo-retina> Mic: actually, part of the feedback from Boriss when she tried Instantbird was that we should either get rid of the bubbles in teh contact list, or make them look more like buttons
22:55:50 <clokep_work> Mic: Meh.
22:55:55 <clokep_work> I don't mind our current ones.
22:56:17 <Mic> I hate them everything I see them ;)
22:56:23 <Mic> *everytime
22:56:30 <flo-retina> and I think by "look more like button" she meant have some relief
22:58:15 <flo-retina> Mic: I don't remember if the chevron icon is the same on all platforms or not
23:00:09 <Mic> flo-retina: I'm seeing this one: http://lxr.instantbird.org/instantbird/source/instantbird/themes/expand.png
23:00:45 <flo-retina> alright, it's the same everywhere
23:00:59 <flo-retina> I don't mind it
23:01:07 <flo-retina> but I do think making it change slightly on hover is a good idea.
23:01:42 <atuljangra> I'd call it a night. Will work in the morning as soon as I wake up.
23:01:53 <atuljangra> Thanks clokep_work flo-retina.
23:01:58 <atuljangra> Good Night :)
23:02:56 --> florian has joined #instantbird
23:03:48 <atuljangra> Bye. :)
23:03:54 <-- atuljangra has quit (Quit: Instantbird 1.4 -- http://www.instantbird.com)
23:04:27 <-- florian has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:04:30 * clokep_work goes home.
23:05:29 <Mic> nn
23:06:07 --> florian has joined #instantbird
23:06:11 <-- clokep_work has quit (Ping timeout)
23:08:39 <flo-retina> clokep: "I'm not aware of any third-party chat code that uses this." Omegle ;).
23:09:00 * florian is now known as foobar
23:09:18 * foobar is now known as flo
23:11:41 <-- flo has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:11:43 --> instantbot has joined #instantbird
23:11:43 topic changed by gravel.mozilla.org to "Ask about Instantbird (http://instantbird.com) here!|Current version is Instantbird 1.4! :) |News: http://blog.instantbird.org/ |Nightlies: http://nightly.instantbird.im/ (for testing only) |IRC logs: http://log.bezut.info/ |Pastebin: http://pastebin.instantbird.org/ | Bugs: http://bugzilla.instantbird.org"
23:11:43 * ChanServ sets mode +v instantbot 
23:12:30 --> florian has joined #instantbird
23:13:47 <qlum> Interestingly it does not seem to work on 30 seconds while it does on 12
23:14:10 <qlum> I may need to test further tomorrow but considering both disconnected at around the same time it seems pretty clear to me
23:16:40 <instantbot> New Core - IRC bug 2010 filed by florian@instantbird.org.
23:16:41 <instantbot> florian@instantbird.org granted review for attachment 2496 on bug 2010.
23:16:42 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2010 nor, --, ---, nobody, NEW, Some JS errors when joining some IRC channels
23:18:43 <-- Mnyromyr has quit (Quit: ChatZilla 0.9.86 [SeaMonkey 1.1.19/2010030105])
23:28:11 <flo-retina> Good night
23:28:13 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:30:54 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
23:34:05 <instant-buildbot> build #403 of macosx-onCommit is complete: Failure [failed compile]  Build details are at http://buildbot.instantbird.org/builders/macosx-onCommit/builds/403  blamelist: Florian Qu?ze <florian@instantbird.org>
23:42:42 <-- florian has quit (Ping timeout)
23:50:38 --> clokep has joined #instantbird
23:50:39 * ChanServ sets mode +o clokep 
23:57:00 <instant-buildbot> build #422 of linux-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-onCommit/builds/422