#instantbird log on 12 29 2011

All times are UTC.

00:12:39 <-- mmkmou has left #instantbird ()
00:17:01 <-- jb1 has quit (Ping timeout)
00:20:39 <-- myk has quit (Ping timeout)
00:41:15 --> myk has joined #instantbird
01:18:37 <-- SM0TVI has quit (Ping timeout)
01:19:45 --> SM0TVI has joined #instantbird
01:22:28 <-- myk has quit (Ping timeout)
02:23:12 <-- chrisccoulson has quit (Quit: Ex-Chat)
03:25:00 --> clokep has joined #instantbird
03:25:00 * ChanServ sets mode +h clokep 
04:24:18 <-- Tomek has quit (Ping timeout)
04:35:20 <-- clokep has quit (Quit: Instantbird 1.2a1pre)
04:50:34 <-- micahg has quit (Input/output error)
04:52:06 --> micahg has joined #instantbird
07:53:44 --> gerard-majax has joined #instantbird
09:53:08 --> Guido has joined #instantbird
09:54:42 <-- Guido has quit (Quit: Instantbird 1.1)
11:31:53 --> igorko has joined #instantbird
12:12:23 --> mmkmou has joined #instantbird
12:13:39 <-- mmkmou has left #instantbird ()
12:16:11 --> mmkmou has joined #instantbird
12:17:01 <-- gerard-majax has quit (Ping timeout)
12:22:55 <-- mmkmou has quit (Ping timeout)
12:38:42 --> mmkmou has joined #instantbird
13:53:40 --> chrisccoulson has joined #instantbird
14:18:21 --> clokep has joined #instantbird
14:18:21 * ChanServ sets mode +h clokep 
14:38:48 <-- igorko has quit (Connection reset by peer)
14:52:50 --> Tomek has joined #instantbird
15:01:33 --> jb has joined #instantbird
15:02:43 --> gerard-majax has joined #instantbird
15:17:28 <-- jb has quit (Ping timeout)
16:04:43 --> ecaron has joined #instantbird
16:07:37 --> igorko has joined #instantbird
16:08:36 <flo> clokep: http://pastebin.instantbird.com/5193 sounds like escaping #fail ;)
16:10:07 <clokep> :(
16:10:28 <clokep> The post data has it escaped though?
16:10:38 <clokep> I guess we need to escape the get data though. :(
16:12:37 <flo> that issue probably contributes a lot to people seeing authorization loops in 1.1 :)
16:13:24 <clokep> :) Did you come across it or did someone report?
16:14:17 <flo> if I'm someone, then both :)
16:16:09 <clokep> :) #fail is probably a good way to run up the message count!
16:16:15 <flo> I'm trying to add a progress bar while displaying a conversation with lots of messages
16:16:26 <clokep> Ah-ha!
16:18:46 <flo> well, adding a progress bar is a first step
16:18:58 <flo> I also want it to not freeze the UI :)
16:19:25 <flo> I need that because I'm going to work on JSON logs soon, and I need to be able to display old conversations without freezing the UI
16:19:46 <flo> and we are likely going to have lots of messages to display at once in that case :)
16:21:08 <flo> I'm not sure if what could be a good way to "not freeze the UI"
16:21:26 <flo> it's tempting to just do the work in 100ms chunks, so that the UI is refreshed at least 10 times per second
16:21:44 <flo> but if we are restoring 10 conversations at once, that doesn't help
16:22:02 <flo> + we don't know whatever the rest of the code is working on during the same event loop spin
16:22:12 <clokep> Right.
16:22:24 <flo> it would be nice to know how much time we have already spent away from the event loop
16:22:37 <clokep> Is this a step toward being able to have infinite scrollback or something else until that's possible?
16:23:05 <flo> yes and no
16:23:34 <flo> it's a step toward moving out of the dead end we are currently in with that code
16:23:37 <flo> and logs
16:23:57 <flo> but it's not specifically related to infinite scrollback
16:26:22 <clokep> Ohhhh. I see. :)
16:29:56 <clokep> I could really use that protocol-level console when debugging IRC stuff. :-/
16:41:12 <flo> I don't understand why my progressbar isn't progressing smoothly at all :-/
16:41:23 <flo> (but at least the UI isn't frozen)
16:41:30 <clokep> I've been discussing how Invisible could be implemented with a user via email...and I just got an email describing the most complicated UI ever. :(
16:41:35 <clokep> flo: Are you on Windows? ;)
16:41:44 <flo> are you kidding?
16:42:02 <flo> wanna blog about it for april 1st? :)
16:46:18 <clokep> Yes, I'm kidding. Just commenting on the non-smooth progress bars on Windows. :P
16:46:47 <clokep> I mean it's not SUPER SUPER complicated, it's kind of Pidgin's custom status for each account but tries to like automate some things...
16:47:38 <flo> time to reply "that would be a nice add-on idea" ;)
16:49:58 <flo> so now I'm displaying only one or two messages per event loop spin, and my the next call to my code (next event loop spin?) is almost 200ms later :(
16:50:39 <clokep> Meaning there's that much stuff running in the even loop?
16:52:32 <flo> I suspect that as I let the event loop spin, gecko actually paints the message area
16:52:48 <flo> thus causing a massive overhead
16:52:56 <flo> (+ I'm using a debug build, they are slow)
16:55:57 <clokep> Right. :( Hopefully it being a debug build is a lot of it.
17:05:01 <flo> the speed seems a bit better if I hide the browser while displaying all messages
17:05:07 <flo> but Bubbles is broken in that case :-/
17:05:24 <flo> as it relies on being able to query the computed style of some things
17:08:15 <clokep> :-/ I wonder how much faster Simple is.
17:10:55 <flo> about twice as fast
17:11:12 <flo> it displays about 4 messages in 25ms
17:11:19 <flo> bubbles displays only one or sometimes two
17:11:50 <clokep> But it looks so much nicer. :)
17:25:20 <clokep> flo: In XMPP, does the founder/op/hop/voiced, etc. flags work? I'm having trouble w/ them in IRC.
17:37:32 <flo> yes
17:53:26 <clokep> Hmmm....OK.
17:53:35 <clokep> I could have sworn it /used/ to work...
17:55:46 <flo> I'm not sure if I should continue to attempt to display the conversation in chunks, or just if I should just give up and plan to work on loading only the messages that will actually appear on screen
17:56:55 <clokep> Doh. I had the wrong __proto__ set. :(
18:09:49 <-- mmkmou has quit (Ping timeout)
18:15:43 <flo> hmm, I don't even see the progress bar on my linux debug builds, nothing appears in the window until it's all displayed :-S
18:22:47 <flo> hmm, maybe because the nicklist is still super slow and everything is frozen while it is filled :-S
18:24:45 --> mmkmou has joined #instantbird
18:51:38 <flo> the performances seem more acceptable if I disable auto-scroll until the conversation is fully loaded
18:52:13 <flo> "seem" is an important word here though, as I don't have a way to compare several versions of the code against the same conversation
19:03:37 <-- igorko has quit (Ping timeout)
19:04:26 --> igorko has joined #instantbird
19:32:14 <-- mmkmou has quit (Quit: Instantbird 1.2a1pre)
20:22:26 <-- clokep has quit (Ping timeout)
20:39:00 --> timA has joined #instantbird
20:46:10 --> jb has joined #instantbird
20:46:50 --> clokep has joined #instantbird
20:46:51 * ChanServ sets mode +h clokep 
20:48:19 <clokep> flo: Couldn't we fairly easy make a huge conversation using the JS Test protocol?
21:06:09 <timA> I just tried to build on Windows and got unresolved symbols trying to link purple.lib; any known issues about that?
21:07:11 <clokep> timA: No, it would help to know what symbols it couldn't find. ;)
21:08:11 <timA> there are 12 of them; _g_free, _g_hash_table_destroy, _g_memdup, and others
21:08:38 --> mmkmou has joined #instantbird
21:08:41 <clokep> Interesting, this is a vanilla build, no extra patches?
21:09:44 <timA> clokep: I haven't tried to write any code yet :)
21:10:01 <timA> though I am attempting to use pymake
21:10:31 <clokep> timA: pymake doesn't work.
21:10:38 <timA> ah
21:10:38 <timA> bummer
21:10:45 <clokep> At least it didn't when I tried it. I was going to eventually file bugs for it, but haven't gotten around to it.
21:10:53 <clokep> You could ask in #pymake perhaps?
21:11:07 <clokep> Normal make should work though. :)
21:11:30 <timA> should work *but take longer* :)
21:11:45 <timA> it was so close, too
21:11:47 <clokep> Yes of course. :(
21:14:19 <timA> also I think -j# can crap out on Windows due to deadlock
21:15:11 <clokep> Yes, it's only recommended to do it with pymake.
21:15:23 <timA> mmk, rebuilding
21:20:11 <clokep> Mmm...I think I have a tree "built" with pymake, let me check...
21:22:01 <clokep> Ah I do, let's see how it goes...
21:29:10 <clokep> Ah, I'm up to a link already...
21:29:22 <clokep> convenient when I don't need to rebuild anything. ;)
21:36:08 <timA> heh
21:45:31 <clokep> timA: Is http://pastebin.instantbird.com/5194 the same errors you saw?
21:46:15 <clokep> Ah, well probably not...those are for linking the null protocol, not sure if you're doing a debug build or not.
21:46:45 <-- jb has quit (Ping timeout)
21:47:26 <timA> clokep: I didn't keep the log around, but those look like the same symbols
21:47:50 <clokep> timA: Great, thanks. Just wanted a cursory glance over. :)
21:47:55 <clokep> What were you interested in working on by the way?
21:49:11 <timA> mostly I just wanted to see if I could build it... then if something comes to mind as I'm using it I can meddle with the code ;)
21:51:57 <clokep> khuey is looking at it in #pymake.
21:53:40 <clokep> (The pymake issue, obviously...)
21:53:51 <flo> clokep: I debugged that this morning
21:54:03 <flo> the real cause is that pymake doesn't implement the CPP implicit variable
21:54:15 <clokep> I see. Should I tell him not to bother then?
21:54:25 <clokep> Ah you just joined #pymake.
21:54:26 <flo> if he can write the patch, that would be awesome
21:54:39 <flo> the patch is most likely a one liner
21:54:55 <clokep> flo: http://pastebin.instantbird.com/5195 is what our conversation was.
22:10:58 <-- chrisccoulson has quit (Quit: Ex-Chat)
22:13:16 --> chrisccoulson has joined #instantbird
22:13:59 <clokep> Hey Even, can you check out bug 1186 at some point? :)
22:14:07 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1186 maj, --, ---, clokep, ASSI, "Redirect Loop" error for addons.instantbird.org
22:25:50 <flo> clokep:  http://pastebin.instantbird.com/5194 is probably different from what timA saw, as your log is for a debug build.
22:26:07 <flo> (nullprpl isn't compiled for non-debug builds, and the failure happens later, when linking purplexpcom.dll)
22:26:31 <timA> flo: same symbols though
22:26:39 <clokep> flo: Right, I said that right below I asked him if that's what he saw. :)
22:28:34 <flo> clokep: yes, I should have read the full scrollback before commenting, sorry :-/
22:36:08 <clokep> No problem. :)
22:36:29 <-- ecaron has quit (Ping timeout)
22:52:46 <-- clokep has quit (Quit: Instantbird 1.2a1pre)
22:52:52 --> clokep has joined #instantbird
22:52:52 * ChanServ sets mode +h clokep 
22:54:34 <clokep> Did we ever decide if Colorize is broken for everybody or just me? I think aleth said it also wasn't working?
22:56:01 <-- igorko has quit (Connection reset by peer)
22:57:49 <flo> it seems broken
22:59:31 <clokep> Alright, as long as it isn't just me.
22:59:44 <flo> I hadn't noticed though
22:59:54 <flo> so that add-on probably wasn't terribly useful :-S
23:00:29 <flo> or maybe I just don't talk to enough different people for it to be useful any more
23:01:22 <flo> hmm, using a non-debug build changes the performances dramatically
23:10:47 <flo> clokep: does this feel right? http://pastebin.instantbird.com/5196
23:14:08 <clokep> flo: Well you're touching things I think the comment should be "avoid reflow bugs" not ireflow?
23:14:31 <flo> ireflow = interruptible reflow
23:14:35 <clokep> Ohhh. I see.
23:14:45 <flo> that code is here to ensure the reflow has fully completed
23:15:05 <flo> but IIRC I filed a bug at the time and it was fixed in mozilla
23:16:08 <clokep> No bug # though. :(
23:16:09 <clokep> Alright.
23:16:47 <clokep> Does it seem to get through a reasonable number of messages each loop? :)
23:17:55 <flo> with 100ms per iteration, 7 messages with Bubbles
23:18:05 <flo> (in  debug build)
23:18:59 <flo> with a non-debug build on my linux box (a bit faster), about 60 messages per iteration
23:20:23 <flo> I wonder if I should change the time to 40ms so that we can have 25 frames per second on the progress bar (= smooth progress without visible steps)
23:21:40 <flo> (but that means only one or two messages per iteration on my Mac debug build :()
23:23:14 <flo> I should stop tracking "#fail"
23:23:15 <clokep> #ifdef if MOZ_DEBUG or not? :)
23:23:18 <flo> "a" is much better!
23:23:37 <flo> I just got a thousand tweets containing "a" within a minute :)
23:23:48 <clokep> Haha.
23:27:47 <flo> should I just check it in and see if/how/why people complain tomorrow? :)
23:28:01 <clokep> I think so. I think it'll be an improvement.
23:28:12 <flo> at least the UI is never frozen
23:28:23 <flo> well, it's still frozen for the nicklist
23:29:00 <clokep> :-/ Hopefully no one uses #ubuntu?
23:29:09 <flo> we should just fix it
23:29:15 <flo> a similar hack is needed
23:29:15 <clokep> Hey is DOMi built automatically with a debug build? (If so, where does the xpi end up?)
23:29:30 <flo> it's built automatically
23:29:33 <flo> I don't know if there's an xpi
23:29:36 <flo> it's just installed
23:29:44 <flo> look in the extensions/ folder of your build
23:30:47 <clokep> Oh...hmm...should the Debug > DOM Inspector menu work?
23:30:55 <flo> sure!
23:31:11 <clokep> :-/ Error: inspectDOMDocument is not defined Source File: chrome://debug/content/debug.js Line: 23
23:31:45 <flo> if you have a DOMi installed as an add-on and disabled in that profile, that can break it
23:33:04 <clokep> Hmm...I did, let's see if that helps.
23:33:59 <flo> if it is still confused remove the file extensions.sqlite from your profile
23:34:32 <flo> (it's just a cache file, and it isn't always updated correctly for maxVersion bumps of built-in add-ons)
23:34:39 <flo> (the real list of add-ons is stored in extensions.rdf)
23:39:12 --> myk has joined #instantbird
23:41:31 <flo> clokep: I think the ireflow bug that comment mentioned was https://bugzilla.mozilla.org/show_bug.cgi?id=492760
23:42:29 <flo> I don't know if it's fully fixed
23:43:12 <flo> the first there will prevent scrollIntoView from scrolling the view to the top for no reason, but I'm not sure it will force a non interruptible reflow of the frame we want to scroll to
23:43:13 <clokep> OK, would it be worth attempting to remove that hack then?
23:43:19 <flo> s/first/fix/
23:43:27 <flo> "maybe"?
23:43:28 <clokep> Oh OK.
23:45:54 <flo> i'm not sure if I should mark these old bugs are blocking instantbird or if that's just spamming people for nothing
23:46:01 <flo> s/are/as/
23:47:23 <clokep> Yeah I've thought of that before too. I think it's nice to keep a record of them though. :-/ (And people get so much bugspam anyway) that I usually just do it.
23:48:58 <-- mmkmou has quit (Ping timeout)
23:49:01 --> mmkmou has joined #instantbird
23:49:29 <flo> I wonder if we will ever be in the case of the progress bar making negative progress
23:49:39 <flo> that can happen if we receive messages faster than we are able to display them
23:49:58 <flo> (it wasn't possible before as the display of message blocked receiving more)
23:50:17 <clokep> That would look awful, but is true. :(
23:51:04 <flo> I no longer wonder that
23:51:05 <clokep> If you overwrite a method in XBL, can you call the method you overwrote (via __proto__ or something?)
23:51:17 <flo> my Mac debug build does it when tracking "a"
23:51:59 <flo> clokep: I think that doesn't work, but I'm really not sure. XBL is still a bit black magic to me ;)
23:52:05 <flo> Mook may know :)
23:52:15 <clokep> Mook seems to have disappeared for the holiday!
23:52:35 <flo> that sounds like a good idea ;)
23:53:26 <flo> what's surprising with these changes is that I can scroll the view (almost) smoothly while the progress bar is still there and we are still adding messages to the view
23:53:54 <clokep> That's surprising in a good way, right?
23:54:36 <flo> well, it's not surprising given what I've implemented. But it's surprising when touching the scrollbar. I've got so used to that silly unresponsiveness... :-D
23:55:23 <flo> aleth's section feature has a strange behavior when the conversation contains only 1k context message and no new message.
23:56:03 <flo> if I scroll to the top, then scrolling down one section puts a message that's almost the last one in the middle, and scrolling down a second time shows the end of the conversation
23:56:15 <flo> maybe a bad rounding somewhere