#instantbird log on 10 02 2013

All times are UTC.

00:03:36 <instant-buildbot> build #475 of linux-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-onCommit/builds/475
01:01:40 <-- Mook_as has quit (Quit: Mook_as)
01:07:01 <-- mconley has quit (Input/output error)
01:09:42 <-- chrisccoulson has quit (Client exited)
01:28:38 <-- rosonline has quit (Ping timeout)
01:40:09 <-- dionisos has quit (Ping timeout)
02:02:30 --> mconley has joined #instantbird
03:06:12 <instant-buildbot> build #989 of linux-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/989
03:32:18 <instant-buildbot> build #1012 of macosx-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/1012
03:36:11 <-- wnayes has quit (Quit: wnayes)
03:46:43 --> Mook has joined #instantbird
04:02:26 <-- mconley has quit (Input/output error)
04:13:50 <-- clokep_work has quit (Ping timeout)
04:28:38 --> clokep_work has joined #instantbird
04:42:16 <-- EionRobb has quit (Ping timeout)
04:42:25 --> EionRobb has joined #instantbird
04:42:33 <-- EionRobb has quit (Quit: EionRobb)
06:08:25 --> BWMerlin has joined #instantbird
06:12:08 --> Huvik has joined #instantbird
06:21:33 --> jb has joined #instantbird
06:30:57 --> chrisccoulson has joined #instantbird
06:32:43 <-- Huvik has quit (Ping timeout)
06:58:19 <instant-buildbot> build #1108 of win32-nightly-default is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1108
07:01:22 <-- Mook has quit (Ping timeout)
07:05:13 --> Mook has joined #instantbird
07:05:25 <-- jb has quit (Ping timeout)
07:08:12 --> jb has joined #instantbird
07:11:23 --> nhnt11 has joined #instantbird
07:11:45 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
07:11:48 --> nhnt11 has joined #instantbird
07:25:05 <nhnt11> ranking \o/
07:30:22 <instantbot> New Instantbird (UI) bug 2192 filed by nhnt11@gmail.com.
07:30:25 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2192 nor, --, ---, nobody, NEW, New conversation tab needs a way to hide items
07:45:13 <-- jb has quit (Ping timeout)
08:00:14 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
08:03:11 <-- nhnt11 has quit (Ping timeout)
08:25:25 <-- flo-retina has quit (Ping timeout)
08:25:55 --> flo-retina has joined #instantbird
08:25:55 * ChanServ sets mode +qo flo-retina flo-retina 
08:25:57 <-- flo-retina has quit (Input/output error)
08:27:37 --> flo-retina has joined #instantbird
08:27:37 * ChanServ sets mode +qo flo-retina flo-retina 
08:30:42 <flo-retina> the awesometab is slow to the point of being unusable :-/
08:31:06 <flo-retina> I had first all the channels I could switch to at the top.
08:31:38 <flo-retina> now (after scrolling a bit), they are all gone, and at the top I have my available gtalk contacts sorted alphabetically :-S
08:41:54 <-- Mook has quit (Quit: Mook)
08:45:01 --> jb has joined #instantbird
08:47:49 <-- jb has quit (Input/output error)
08:48:22 --> jb has joined #instantbird
08:48:56 <-- jb has quit (Input/output error)
08:50:05 --> jb has joined #instantbird
08:52:26 --> nhnt11 has joined #instantbird
08:53:00 <nhnt11> flo-retina: :(
08:53:11 <nhnt11> Everything is working fine here...
08:53:18 * nhnt11 wonders if log crawling sucks
08:53:46 <-- jb has quit (Ping timeout)
08:54:10 * flo-retina wonders if there's stuff we can easily add to let a developer have insight about what's going on
08:54:29 <flo-retina> like, I have no idea of if it's still crawling, if it failed and stopped for some reason, ...
08:55:03 <nhnt11> flo-retina: Like, a warning/message in the error console? If it failed, there should be an error
08:55:21 <flo-retina> I have more than a year of log history here, so it's quite possible that it will take an hour or so to crawl it all
08:57:10 --> jb has joined #instantbird
08:57:57 <nhnt11> flo-retina: Is it time to seriously consider worker threads, I wonder.
08:58:04 <flo-retina> no
08:58:10 <flo-retina> we should first understand what's going on
08:58:19 <nhnt11> ok
08:59:22 <nhnt11> I'm thinking about duplicating my log files to try and reproduce the slowness
09:07:41 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:07:53 --> nhnt11 has joined #instantbird
09:08:18 <nhnt11> Bah
09:08:26 <nhnt11> I went and nearly quadrupled all my log files, no use
09:08:39 <nhnt11> maybe a factor of 64 might be better...
09:09:09 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:09:46 --> nhnt11 has joined #instantbird
09:12:16 <nhnt11> Ok, I think I'm able to reproduce part of the problem
09:12:42 <-- gerard-majax has quit (Ping timeout)
09:12:45 <nhnt11> it's been a couple minutes, and there's no sign that log reading has worked, because I see all my facebook contacts at the top alphabetically
09:13:17 <nhnt11> There isn't any statsservicecache.json in my profile folder, so it definitely hasn't/didn't complete successfully
09:13:48 <nhnt11> But it isn't "slow to the point of being unusable" - it's the same as it was before the stats patch for me.
09:17:54 <-- jb has quit (Quit: jb)
09:19:03 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:19:39 --> nhnt11 has joined #instantbird
09:19:56 <flo-retina> nhnt11: I think it's slow only while the crawling is ongoing
09:20:22 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:20:42 --> nhnt11 has joined #instantbird
09:20:43 <flo-retina> so something probably happened, because now I have "Quentin Raynaud <switch to conversation>" at the top, and "Quentin Raynaud (Gtalk contact)" as the second item. Aren't these 2 supposed to be only one?
09:21:42 <nhnt11> Yeah, they should be
09:21:42 <nhnt11> bah
09:21:44 <nhnt11> :(
09:21:58 <flo-retina> maybe having active conversations at the same time as crawling is running also messes things up
09:22:28 <nhnt11> What I'm finding weird is that I added a dump statement in sweepLogFolders, and nothing is getting dumped :S
09:22:40 <flo-retina> (it looks like Quentin is at the top only because we exchanged a few messages in the active conversation. There doesn't seem to be any real ranking apport from him, the second contact is someone I talk to twice a year)
09:22:58 <flo-retina> *apart from
09:23:11 <nhnt11> Yeah, I'm pretty sure log crawling is failing somewhere
09:23:27 <flo-retina> "someone I talk to twice a year" but whose name starts with 'A' ;)
09:23:40 <nhnt11> Yeah I got that :)
09:24:58 --> jb has joined #instantbird
09:27:57 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:30:13 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:30:38 --> nhnt11 has joined #instantbird
09:32:15 <nhnt11> aaaaaaaaaaaaaaaaah
09:32:32 <nhnt11> flo-retina: I don't think the slowness has to do with the log sweeping
09:32:47 <nhnt11> because logs currently don't get swept at all
09:32:49 <nhnt11> there's a typo
09:33:03 <nhnt11> this should be statsService (vs. statsservice): http://hg.instantbird.org/instantbird/rev/8d0e7525f85f#l2.206
09:41:09 --> qlum has joined #instantbird
09:44:35 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
09:45:05 --> nhnt11 has joined #instantbird
09:45:15 <nhnt11> Ok
09:45:20 <nhnt11> My dump statements are working now ;)
09:45:23 <nhnt11> and I don't see any slowdown
09:45:30 <nhnt11> logs are being crawled as I type
09:45:34 <nhnt11> So..
09:46:02 * nhnt11 files some bugs
09:46:49 <instantbot> New Instantbird (UI) bug 2193 filed by nhnt11@gmail.com.
09:46:52 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2193 nor, --, ---, nobody, NEW, Typo prevents stats service from sweeping logs
09:50:19 --> flo-retina has joined #instantbird
09:50:20 * ChanServ sets mode +qo flo-retina flo-retina 
09:50:54 --> gerard-majax has joined #instantbird
09:51:34 <-- clokep_work has quit (Ping timeout)
09:54:15 <flo-retina> nhnt11: why do we need a way to force a resweep?
09:55:03 <nhnt11> flo-retina: Thanks to the typo, your log files haven't been swept. However, if you've had any conversations at all (which you have, obviously), the json file will be written. So your logs will never be swept
09:55:07 <nhnt11> even after the typo is fixed
09:56:20 <flo-retina> nhnt11: so does the user need a way to force a resweep, or do you need to have a way to force a resweep when the sweeping code is updated?
09:56:33 <nhnt11> flo-retina: Both?
09:56:39 <nhnt11> The user shouldn't ever need it
09:56:50 <nhnt11> but if we have a pref, we can force it on whenever the sweeping code is updated
09:57:03 <nhnt11> and it can turn itself off after a successful sweep.
09:57:10 <flo-retina> for the first one, I think we need to set somewhere a version number in the json file, and discard the json file is the version in a pref is higher
09:57:24 <nhnt11> like indexedDb a bit then
09:57:27 <nhnt11> that works too
09:57:38 <flo-retina> "if we have a pref, we can force it on whenever the sweeping code is updated" you can't really do that
09:57:50 <flo-retina> (or not trivially at least)
09:57:52 <nhnt11> oh yeah
09:57:57 <nhnt11> never mind about that
09:58:06 <nhnt11> bad idea
09:58:17 <flo-retina> for letting the user do it... I'm a bit puzzled about it
09:58:34 <flo-retina> it's not totally clear to me that poking an obscure pref in about:config is easier than removing the file from the profile
09:59:14 <nhnt11> fair enough
09:59:38 <nhnt11> I find it easier to have a pref, because i have to navigate through a hidden folder to get to my profile
09:59:50 <flo-retina> I wonder if we need to detect automatically that new log files have been added
09:59:57 <nhnt11> I don't think so
10:00:06 <flo-retina> I tend to think yes, but can't find any serious argument to explain why :-S
10:00:08 <nhnt11> because we update our stats on the fly when we get new messages
10:00:22 <nhnt11> we should only need to sweep logs once
10:00:42 <flo-retina> nhnt11: I was kindof thinking about users copying logs from an old profile, or something like that
10:00:49 --> chrisccoulson has joined #instantbird
10:01:11 <nhnt11> If the user did it, the user should force a resweep
10:01:18 <flo-retina> yeah...
10:01:24 <flo-retina> if he knows what that means ;)
10:01:29 <nhnt11> heh
10:01:57 <flo-retina> but yeah... if the user is messing with the profile folder directly, it's his fault if stuff doesn't work perfectly
10:03:45 <nhnt11> flo-retina: Ok, so for that bug I'm going to incorporate the version number stuff
10:03:57 * nhnt11 restores his profile
10:03:59 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:04:30 --> nhnt11 has joined #instantbird
10:04:55 <instantbot> New Instantbird (UI) bug 2194 filed by florian@instantbird.org.
10:04:58 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2194 nor, --, ---, nobody, NEW, Blinking scrollbar whenever timebubbles adds a pixel at the bottom of the conversation
10:05:32 <flo-retina> hmm, I wonder if we should prevent the scrollbar from blinking when adding a new message too
10:06:04 <flo-retina> maybe we can add an overflow: hidden; (or something similar) in convbrowser.xml just before scrolling into view, and removing it immediately after?
10:06:12 <flo-retina> hmm, that would suck if the user was scrolling at that time
10:07:08 <instantbot> New Instantbird (UI) bug 2195 filed by nhnt11@gmail.com.
10:07:11 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2195 nor, --, ---, nobody, NEW, ExistingConversations for chats don't get ranked until added from the room info api.
10:08:43 <nhnt11> flo-retina: Should the version number constant be a global variable or a property of ConvStatsService?
10:09:42 <flo-retina> I thought it would just be a pref in all-instantbird.js, and you would need it only when deciding if you discard the cache file, and when saving the cache file, so you wouldn't really need to cache the value
10:10:07 <nhnt11> hmm
10:10:12 <nhnt11> If it's a pref, the user can mess with ti
10:10:13 <nhnt11> it*
10:10:26 <nhnt11> which is likely bad...
10:10:33 <flo-retina> errr, never mind
10:10:37 <flo-retina> a constant is fine
10:10:49 <flo-retina> I was just confused because you mentioned prefs before and I kept part of that idea :)
10:11:16 <flo-retina> a global const at the top of the file is reasonable
10:14:27 <-- jb has quit (Ping timeout)
10:41:02 --> jb has joined #instantbird
10:41:32 <nhnt11> flo-retina: Should I be deleting all files that match /statsservicecache[0-9]*\.json/ or just look for the previous version and delete that?
10:42:44 <-- jb has quit (Ping timeout)
10:48:05 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
10:48:25 --> nhnt11 has joined #instantbird
10:51:35 --> jb has joined #instantbird
10:53:17 <-- jb has quit (Ping timeout)
10:57:39 <flo-retina> do you have a version number in the name of the file right now?
10:58:11 <flo-retina> I was thinking the version number would be inside the file, as part of the json data
10:58:27 --> jb has joined #instantbird
11:00:57 <-- jb has quit (Ping timeout)
11:01:26 <nhnt11> hmm
11:01:58 <nhnt11> That would require me to read the cache to detect if it's old
11:05:26 --> jb has joined #instantbird
11:07:41 <flo-retina> nhnt11: yes, how is this a problem?
11:07:59 <flo-retina> you read the cache, and if it's too old, you discard it like if you failed to parse the file
11:08:05 <nhnt11> seems like a waste is ald.
11:08:09 <nhnt11> all*
11:08:26 <flo-retina> isn't discarding the file a very rare event?
11:08:37 <flo-retina> poking the file system for several files seems more wasteful
11:08:38 <nhnt11> fair enough
11:10:57 --> aleth_mob has joined #instantbird
11:13:38 <aleth_mob> nhnt11: how about a notification bar in the awesometab while logs are being scanned? maybe with a rough percentage of completion to show progress
11:14:00 <nhnt11> Interesting idea.
11:15:19 <-- aleth_mob has quit (Ping timeout)
11:15:44 --> Mic has joined #instantbird
11:15:44 * ChanServ sets mode +h Mic 
11:16:39 --> aleth_mob has joined #instantbird
11:17:37 * nhnt11 wonders if JSON.stringify automatically adds a trailing newline
11:18:39 <aleth_mob> Something unobtrusive, but making it clear that something is happening and that the user shouldn't expect ranking yet.
11:19:06 <nhnt11> Right.
11:19:31 <aleth_mob> Gah, bad connection... 
11:19:41 <-- aleth_mob has left #instantbird ()
11:21:17 --> aleth_mob has joined #instantbird
11:23:19 <aleth_mob> Or maybe its just this J2ME irc client having terrible UX ;)
11:24:53 <aleth_mob> Disconnect right next to Send msg...
11:25:07 <nhnt11> aleth_mob: haha
11:25:14 --> Huvik has joined #instantbird
11:25:20 <-- Mic has quit (Ping timeout)
11:26:59 <lewellyn> heh. jmirc.
11:27:11 <nhnt11> Ah
11:27:16 * nhnt11 found a possible bug
11:27:31 <nhnt11> we don't reorder the _convs list while sweeping...
11:27:46 --> Mic has joined #instantbird
11:27:46 * ChanServ sets mode +h Mic 
11:28:25 * nhnt11 is confused
11:30:43 <-- Mic has quit (Ping timeout)
11:32:57 <-- aleth_mob has quit (Ping timeout)
11:33:36 --> Mic has joined #instantbird
11:33:36 * ChanServ sets mode +h Mic 
11:34:27 <-- nhnt11 has quit (Ping timeout)
11:36:01 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
11:36:26 --> Mic has joined #instantbird
11:36:26 * ChanServ sets mode +h Mic 
11:48:17 <-- Mic has quit (Ping timeout)
11:54:25 --> Mic has joined #instantbird
11:54:26 * ChanServ sets mode +h Mic 
12:09:27 <-- Mic has quit (Ping timeout)
12:10:03 <-- BWMerlin has quit (Quit: BWMerlin)
12:13:12 --> clokep_work has joined #instantbird
12:30:12 <-- jb has quit (Quit: jb)
12:31:04 --> jb has joined #instantbird
12:34:24 * flo-retina is glad nhnt11 has time for debugging today :)
12:34:44 <clokep_work> I can't wait to try this stuff tomorrow. :)
12:44:19 <-- Huvik has quit (Quit: Huvik)
13:16:38 --> Huvik has joined #instantbird
13:37:10 --> mconley has joined #instantbird
13:50:00 <-- Huvik has quit (Ping timeout)
13:50:45 --> Huvik has joined #instantbird
14:46:07 <-- jb has quit (Ping timeout)
14:56:55 --> jb has joined #instantbird
15:32:00 <-- gerard-majax has quit (Ping timeout)
15:55:12 --> aleth_mob has joined #instantbird
15:56:28 <-- aleth_mob has quit (Quit: used jmIrc)
16:18:25 --> wnayes has joined #instantbird
16:24:35 --> nhnt11 has joined #instantbird
16:36:49 <-- flo-retina has quit (Ping timeout)
16:40:32 --> flo-retina has joined #instantbird
16:40:32 * ChanServ sets mode +qo flo-retina flo-retina 
16:48:16 <-- Huvik has quit (Ping timeout)
17:09:02 <-- flo-retina has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
17:15:44 <-- jb has quit (Connection reset by peer)
17:15:48 --> jb has joined #instantbird
17:21:51 * mconley is now known as mconley|burrito
17:22:10 --> Huvik has joined #instantbird
17:26:34 <-- jb has quit (Connection reset by peer)
17:26:36 --> jb1 has joined #instantbird
17:31:07 <-- jb1 has quit (Quit: jb1)
17:32:46 --> flo-retina has joined #instantbird
17:32:46 * ChanServ sets mode +qo flo-retina flo-retina 
17:33:31 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
17:33:42 --> nhnt11 has joined #instantbird
17:36:21 <nhnt11> Sorry I had to go offline
17:36:23 <nhnt11> something came up
17:59:44 * mconley|burrito is now known as mconley
18:05:30 <nhnt11> flo-retina: Is there a better way to split a string in two at the first newline than doing substr or slice twice? stackoverflow seems to suggest there isn't.
18:06:04 <flo-retina> what are you trying to do?
18:06:33 * nhnt11 thinks str.replace(/\n/, '\x01').split('\x01') is smart but a bit unreadable.
18:06:48 <nhnt11> I have a header (version number) followed by the actual stats object in a JSON file
18:07:01 <nhnt11> I need to separate the header and the stats object
18:07:05 <flo-retina> if it's a JSON file, make it a JSON file, and put all the stuff in JSON ;)
18:07:23 <nhnt11> hmm wait
18:07:34 <flo-retina> wrap the stuff in another object if necessary before the JSON.stringify
18:07:36 <nhnt11> When you JSON.stringify an object, does it end up with any newlines?
18:07:53 <nhnt11> looks like I don't need to be worried
18:08:13 <flo-retina> worried about new lines or the coming r-? :-P
18:08:23 <nhnt11> newlines
18:08:28 <nhnt11> I end up with only one newline anyway
18:08:50 <nhnt11> so never mind
18:08:53 <nhnt11> Why the coming r-?
18:08:59 <nhnt11> :S
18:09:09 <nhnt11> Why is there an r- coming*
18:09:28 <flo-retina> because you should parse the whole file with JSON.parse and not mess with the data before hand
18:09:40 <flo-retina> log files are an exception, and have a reason to be one.
18:09:40 <nhnt11> :S
18:09:45 <nhnt11> Hmm
18:09:51 <nhnt11> I figured two objects would be fine.
18:09:52 <nhnt11> Ok.
18:10:18 <nhnt11> Maybe I should just keep the version number in the gStatsByConvId object
18:10:42 <nhnt11> flo-retina: What's the reason btw?
18:11:16 <flo-retina> for not pre-parsing the begining of the file before parsing the whole file?
18:11:37 <nhnt11> The reason log files are an exception
18:12:30 <flo-retina> nhnt11: because we append data to these files each time a new message arrives, and it's not possible to make it valid JSON without adding a "]" at the end of the file when closing it; which will never happen in cases of unclean shutdown.
18:12:57 <nhnt11> Ahh
18:13:01 <nhnt11> of course.
18:13:06 <nhnt11> They're modified continuously
18:13:06 <nhnt11> cool
18:25:50 <nhnt11> flo-retina: I think I've figured out why ranking was working even though the log sweeping code never does any resorting while it runs
18:26:14 <nhnt11> I think it's because on my profile, log sweeping finished before any accounts were connected
18:26:23 <nhnt11> and when they did get connected, all the contacts changed status
18:26:40 <nhnt11> at which point they all got repositioned
18:27:26 <nhnt11> I'm not really sure what to do now. I'm considering having ConversationStats objects notifying the stats service whenever they're updated
18:27:48 <nhnt11> (this would be useful in multiple places actually)
18:28:02 <nhnt11> but I think this may be a complication that can be avoided.
18:28:39 <nhnt11> Maybe just do a sort() on this._convs when log sweeping is done? Or reposition convs on the fly while sweeping?
18:28:51 <nhnt11> sorting at the end is likely too expensive
18:30:52 * nhnt11 has to go :(
18:31:24 <nhnt11> I think I'll be able to be back in ~2 hours to sort this out
18:31:41 <nhnt11> If not, the typo => log sweeping is preff'd off, so I guess there shouldn't be too much harm..
18:31:55 <nhnt11> Sorry and good night.
18:34:52 <-- nhnt11 has quit (Ping timeout)
18:41:37 --> FireFly_TB has joined #instantbird
18:43:23 <-- FireFly_TB has quit (Ping timeout)
18:45:44 * mconley is now known as mconley|interview
18:46:11 --> FireFly_TB has joined #instantbird
18:46:39 --> mikeperry has joined #instantbird
18:47:37 <mikeperry> is the default XMPP implementation in instantbird libpurple or JS? I am looking at http://lxr.instantbird.org/instantbird/source/chat/protocols/xmpp/ and wondering if/when it is used
18:47:57 <-- FireFly_TB has quit (Ping timeout)
18:48:44 <flo-retina> mikeperry: by default it's libpurple
18:48:57 <flo-retina> mikeperry: in current nightlies there's a hidden preference you can tweak to enable the JS implementation.
18:49:27 <flo-retina> (the main reason why the JS implementation isn't enabled by default is that it doesn't support DNS SRV; and the libpurple one does)
18:51:32 <mikeperry> flo-retina: ok cool.
18:52:32 <mikeperry> how do you protect the Crhome from Universal XSS? are chat windows marked with type=content, or otherwise treated as content windows?
18:52:50 <mikeperry> (and what about other areas of the UI like the buddy list, etc)
18:56:08 <mikeperry> like for example, if someone sends a message or sets a status that contains script that somehow ends up evaluated, are there any defense-in-depth protections against that, or does it yield addon-level privs/full code exec? 
18:57:18 <mikeperry> perhaps an easier question: will instantbird ever be merged with Thunderbird?
19:03:58 --> jb has joined #instantbird
19:12:51 <-- chrisccoulson has quit (Ping timeout)
19:16:59 <flo-retina> mikeperry: "are chat windows marked with type=content, or otherwise treated as content windows?" yes, they are marked as content.
19:18:31 <flo-retina> "a message or sets a status that contains script that somehow ends up evaluated" that seems very unlikely. Every message is filtered by http://mxr.mozilla.org/comm-beta/source/chat/modules/imContentSink.jsm before being displayed.
19:18:46 --> Mic has joined #instantbird
19:18:46 * ChanServ sets mode +h Mic 
19:19:11 <flo-retina> "will instantbird ever be merged with Thunderbird?" our chat back-end is part of Thunderbird since Thunderbird 15. Thunderbird doesn't use libpurple though (because of licensing issues).
19:20:27 <flo-retina> mikeperry: out of curiosity, why these questions? :)
19:22:26 <mikeperry> flo-retina: so at what point would Thunderbird be able to be used as an XMPP chat client?
19:22:40 <flo-retina> mikeperry: last year :)
19:22:43 <mikeperry> flo-retina: the Tor Project is exploring IM clients
19:23:01 <mikeperry> oh. does it use the JS XMPP implementation?
19:23:46 <mikeperry> flo-retina: we have a small amount of funding to get a secure chat client working with Tor + OTR support out of the box
19:23:59 <Mic> Yes, XMPP without DNS SRV is still better than no XMPP at all for them;)
19:24:28 <mikeperry> %mic: yeah. we actually don't want DNS SRV :)
19:25:26 <flo-retina> mikeperry: why is Thunderbird more interesting than Instantbird? Isn't there an increased attack surface if you have all the email stuff in addition to all the chat stuff?
19:27:38 <-- jb has quit (Ping timeout)
19:28:52 --> chrisccoulson has joined #instantbird
19:31:08 <flo-retina> mikeperry: by the way, there were people discussing implementing OTR for Thunderbird chat in #maildev today, so you may want to try and join forces with whoever is already interested.
19:39:30 --> EionRobb has joined #instantbird
19:49:54 --> kkirill has joined #instantbird
19:49:58 <mikeperry> flo-retina: we already have a tor addon fr Thunderbird, and having all the users communications in one UI might be better? unclear though. we may want both options if we can manage it
19:50:31 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
19:50:43 <flo-retina> mikeperry: it's very likely that security improvements in one will also impact the other, so getting both may not be much more effort.
19:52:50 <mikeperry> yeah. we are allergic to libpurple, so a good JS-based XMPP implementation with proper filtering and content-level jailing would be a huge improvement over our other options, I think
19:53:02 <flo-retina> aleth: now that we have context menus on nicks, can we also get tooltips with the whois info? ;)
19:54:38 <flo-retina> mikeperry: I can't promise JS-XMPP is good, but we are definitely willing to improve it.
19:55:21 <flo-retina> well, from a security perspective it's probably better than C code messing with pointers everywhere
19:55:47 --> gerard-majax has joined #instantbird
20:08:07 --> Mook_as has joined #instantbird
20:20:18 <qheaden> Hello.
20:20:39 <flo-retina> qheaden: hi :)
20:20:51 * qheaden feels bad he didn't have the time he needed to work on JS-Yahoo so far this week.
20:23:02 <qheaden> flo-retina: Oh, and thanks for putting my name in the credits. :)
20:23:20 <flo-retina> I thought clokep was the one doing it ;)
20:23:37 <qheaden> Ahh. I didn't take note of the commiter. :P
20:27:01 * mconley|interview is now known as mconley
20:47:04 <-- gerard-majax has quit (Ping timeout)
21:02:53 <kkirill> hello, could you please help me to investigate the problem: some avatars from jabber server are not loaded by Instantbrid
21:04:04 <kkirill> it seems that they are loaded only of IM client sends them, but they are not taken from the server
21:04:37 <flo-retina> hmm, I wonder if they could be discarded because the server doesn't send us the type of the image
21:04:52 --> nhnt11 has joined #instantbird
21:05:15 <kkirill> flo-retina: can I check that?
21:05:24 <kkirill> or it is too difficult
21:05:25 <flo-retina> can you get a debug log?
21:05:49 <kkirill> I'll try
21:05:56 <kkirill> I have to google first
21:06:11 <nhnt11> kkirill: Right click the account->copy debug log ;)
21:06:15 <flo-retina> just "copy debug log" in the context menu of the account, in the account manager
21:06:43 <flo-retina> hmm, if that's xmpp by libpurple, the interesting data may not be in the log :-S
21:07:24 --> nhnt12 has joined #instantbird
21:07:26 <kkirill> there is nothing useful in the log
21:07:52 <kkirill> btw, pidgin loads them
21:07:53 <nhnt12> Instantbird just crashed when I opened "About Instantbird" :(
21:08:22 <-- nhnt11 has quit (NickServ (GHOST command used by nhnt12))
21:08:24 * nhnt12 is now known as nhnt11
21:08:57 <kkirill> can I switch xmpp from libpurple to JS?
21:09:54 <kkirill> or define default image type
21:11:57 <flo-retina> are you using a nightly?
21:12:03 <kkirill> yep
21:12:07 <flo-retina> so yes :)
21:12:14 <flo-retina> type "/about config"
21:12:35 <flo-retina> and edit the value of chat.prpls.forcePurple
21:12:40 <flo-retina> remove prpl-jabber from the list
21:12:42 <flo-retina> and then restart
21:12:47 * nhnt11 just realized he's using js-xmpp
21:13:02 <flo-retina> nhnt11: gtalk account? :)
21:13:09 <nhnt11> gtalk and facebook
21:13:21 <flo-retina> so apparently it didn't hurt you ;)
21:13:40 <nhnt11> But I didn't realize I'd switched to the js implementation
21:13:41 <nhnt11> yeah
21:13:48 <-- kkirill has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
21:13:53 --> kkirill has joined #instantbird
21:13:56 <flo-retina> gtalk and facebook are js-xmpp by default
21:14:01 <nhnt11> Ah
21:16:59 <kkirill> connection time-out :(
21:17:30 <flo-retina> if your jabber server needs a DNS SRV lookup to work, JS-XMPP won't work
21:18:20 <flo-retina> nhnt11: do you have any patch coming?
21:18:43 <nhnt11> I might. How much time do you have?
21:22:01 <kkirill> How can I check that? I've tried kingant.net/check_xmpp_dns/?h=jabber.org
21:22:24 <kkirill> and it said No xmpp-client DNS SRV records found!
21:22:44 <kkirill> but only with the jabber server if interest
21:23:03 <kkirill> maybe, there are other limitations
21:23:59 <kkirill> I've logged in
21:24:20 <kkirill> after restart server address was somehow reset to empty
21:25:02 <kkirill> and all avatars appeared
21:25:12 <kkirill> so nice, thank you very much
21:30:31 <flo-retina> so is this back with the libpurple xmpp, or with js-xmpp that you see all avatars?
21:30:52 <kkirill> it is with jx-xmpp
21:31:04 <kkirill> I've managed to log in
21:31:22 <kkirill> after typing in the address of the jabber server again
21:32:37 <kkirill> I hope that js-xmpp is good enough for everyday use
21:34:32 <kkirill> and thank you for /about config trick, it also works for addons, memory, etc. So great to have the same experience as in Firefox and Thunderbird
21:35:56 <kkirill> btw, is there some Thunderbird integration to get status and start to chat just form the email client like in its internal chat?
21:35:59 <flo-retina> kkirill: you should actually thank nhnt11 who implemented the /about command ;)
21:37:36 <flo-retina> I'm not completely sure of what you mean, but if my guess is right, the answer is no
21:38:15 <nhnt11> Bah
21:38:26 <nhnt11> It absolutely sucks to try and get the possible conversation for a given conv id right now
21:38:37 <nhnt11> flo-retina: Would you be ok with yet another map of possible conv id's to possible convs?
21:38:59 * nhnt11 thinks we're starting to accumulate rather a lot of Maps.
21:39:04 <flo-retina> maybe
21:39:32 <flo-retina> but it's not clear to me what the current usage of each of the existing map is right now, as I haven't fully reviewed that part and just instead assumed aleth had
21:40:06 <kkirill> nhnt11: thank you for /about command; flo-retina: thank you for everything else; good luck 
21:40:18 <nhnt11> flo-retina: I'm assuming you know what contactsById and chatsByAccountIdAndName though? They were here before
21:40:22 <nhnt11> therre*
21:40:23 <-- kkirill has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
21:40:27 <nhnt11> kkirill: You're welcome :)
21:40:30 <nhnt11> ah, he's gone..
21:41:56 <nhnt11> No, I don't think another Map is a good idea.
21:42:42 <nhnt11> The main annoyance I'm seeing right now is getting an account id given its normalized name. :/
21:43:03 <nhnt11> Maybe I should change chatsByAccountIdAndName to chatsByAccountAndName
21:43:10 <nhnt11> (i.e. store by account name instead of id)
21:45:26 <flo-retina> nhnt11: honestly, at this point I don't remember any of the data structures you have in the stats service, and would need to read the code again to even know what's in there
21:45:40 <nhnt11> forget it for now then
21:45:40 --> florian has joined #instantbird
21:46:18 <-- qlum has quit (Quit: Getting the <censored> out.)
21:47:08 <flo-retina> nhnt11: so do you think that ranking is in a good enough shape that it's worth just fixing the typo and adding the versioning in the JSON file?
21:47:28 <flo-retina> nhnt11: or do you want to spend more time investigating the other issues before we actually turn on log crawling?
21:47:47 <flo-retina> I don't remember what the other issues are (if I ever understood).
21:48:01 * flo-retina has been discussing too many things today...
21:50:58 <nhnt11> flo-retina: I could solve this very fast if I had a Map, that would discard a key value pair as soon as there were no other references to the value
21:51:04 <nhnt11> I was looking at WeakMap
21:51:20 <nhnt11> But that appears to hold weak references to its keys
21:51:30 <nhnt11> flo-retina: Er, there's just one issue btw.
21:51:53 <nhnt11> It's that while log sweeping is happening, convs that are already added don't get reordered
21:52:01 <nhnt11> And we don't do it afterward either
21:52:32 <nhnt11> There are two solutions I see: a) Do a full sort of the conv list after sweeping is done, or b) resort individual convs as their stats get added in
21:52:42 <flo-retina> can you just reorder everything when sweeping is done?
21:52:52 <nhnt11> Yeah I could.
21:52:58 <nhnt11> Would that be ok? at least for now
21:53:35 <flo-retina> can you resort only the stuff that actually needs to be sorted
21:53:46 <flo-retina> I mean, only the conversations that have logs
21:53:51 <flo-retina> rather than the whole LIST result
21:53:52 <nhnt11> Not without a bit more effort
21:54:06 <nhnt11> I currently have no easy way to get a possible conversation for a given log path (=given conversation id)
21:54:19 <flo-retina> how expensive is a sort across the whole freenode LIST?
21:54:53 <nhnt11> Well considering they'd already be sorted, it depends on what algorithm sort() uses I suppose
21:55:02 <flo-retina> nhnt11: so this morning I mentioned that I had Quentin twice in my awesometab. Do you know what was causing this,
21:55:03 <flo-retina> ?
21:55:18 <nhnt11> Nope, I don't.
21:55:52 <flo-retina> ok
21:55:58 <flo-retina> I guess there'll be more debugging tomorrow then ;)
21:56:05 <nhnt11> yeah.
21:56:21 <flo-retina> I would like us to investigate the shutdown JS errors too at some point
21:58:18 <nhnt11> flo-retina: So do we leave it as it is for now?
21:58:41 <flo-retina> uh, what?
21:58:53 <nhnt11> Er, do we fix the typo and do a sort after sweeping?
21:59:00 <flo-retina> yes
21:59:04 <nhnt11> Ok.
21:59:13 <flo-retina> +the versioning
21:59:22 <nhnt11> right, that's done
22:10:22 <instantbot> nhnt11@gmail.com requested review from florian@instantbird .org for attachment 2920 on bug 2193.
22:10:26 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2193 nor, --, ---, nhnt11, ASSI, Typo prevents stats service from sweeping logs
22:10:31 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
22:10:39 --> nhnt11 has joined #instantbird
22:12:04 --> Mic has joined #instantbird
22:12:04 * ChanServ sets mode +h Mic 
22:15:47 <nhnt11> flo-retina: I found a problem with that patch. In the loop that sets the prototypes of stats objects to ConversationStats.prototype, I need to make sure I don't set the prototype for the version object. Would you rather I a) looped through keys and continue'd if (key == "version"), b) Check for the existence of the id of the stats object before setting the prototype, c) delete the version and re-set it after setting prototypes, or d)
22:15:47 <nhnt11> none of the above? :P
22:15:59 <nhnt11> (this question is for after you look at the patch, obviously)
22:16:16 <nhnt11> That multiple choice question is worth 10 points :P
22:16:31 <flo-retina> d) sounds likely
22:16:45 <nhnt11> thought so.
22:16:47 <flo-retina> but right, I need to look at the code first
22:18:08 --> jb has joined #instantbird
22:18:46 <flo-retina> why isn't the version tested before that loop?
22:19:08 <nhnt11> Does it matter?
22:19:25 <flo-retina> the loop is pointless if you are going to discard all the data
22:19:32 <nhnt11> We're not discarding it
22:19:39 <nhnt11> We're keeping it while re-sweeping
22:19:50 <nhnt11> That way, the user still has the old stats from the previous version
22:19:53 <flo-retina> why?
22:20:00 <nhnt11> Log sweeping may take a few minutes
22:20:21 <nhnt11> We're not losing anything by keeping it
22:20:41 <nhnt11> Ah
22:20:45 <nhnt11> but log sweeping
22:20:45 <flo-retina> you are loosing the ability to get rid of junk
22:20:47 <nhnt11> increments
22:20:47 <nhnt11> bah
22:20:50 <nhnt11> ok
22:20:51 <nhnt11> fine
22:21:14 * nhnt11 is annoyed, he thought it would be a good UX
22:21:41 * flo-retina is annoyed or tired, or both :-D.
22:21:47 <nhnt11> flo-retina: What about getting rid of the stats of a conv, just before sweeping the folder for that conv?
22:21:48 <flo-retina> not annoyed at something specific though :-D
22:22:26 <-- Huvik has quit (Ping timeout)
22:22:30 <flo-retina> nhnt11: I think you are over engineering this. If we need to resweep, pretend the old data didn't exist.
22:22:38 <nhnt11> ok
22:22:57 <flo-retina> resweeping is exceptional and can only happen when a new version has been installed
22:23:16 <nhnt11> right
22:23:16 <flo-retina> and it can't be worst than when installing the first version with ranking
22:23:56 <flo-retina> nhnt11: it's not clear to me what "version" is doing in gStatsByConvId
22:24:27 <nhnt11> flo-retina: Give me 2 minutes for a new patch
22:24:53 <flo-retina> why can you JSON.stringify({version: gVersionBlah, stats: gStatsByConvId}) at http://lxr.instantbird.org/instantbird/source/instantbird/components/ibConvStatsService.js#353 ?
22:25:05 <nhnt11> That's what I'm typing out now
22:25:17 <flo-retina> cool
22:25:17 * nhnt11 sweats a bit for not doing that the first tiem
22:25:38 <-- Mic has quit (Quit: Instantbird -- http://www.instantbird.com)
22:35:41 <instantbot> nhnt11@gmail.com cancelled review?(florian@instantbird .org) for attachment 2920 on bug 2193.
22:35:42 <instantbot> nhnt11@gmail.com requested review from florian@instantbird .org for attachment 2921 on bug 2193.
22:35:45 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2193 nor, --, ---, nhnt11, ASSI, Typo prevents stats service from sweeping logs
22:37:39 <-- jb has quit (Ping timeout)
22:39:50 <flo-retina> nhnt11: is this ready to checkin (ie. have you tested it?)
22:40:01 <nhnt11> I tested it once, yes
22:40:19 <nhnt11> (The versioning seems to work, and I didn't see any other problems)
22:40:20 <flo-retina> alright, let's check it in and go to bed then
22:40:28 <instantbot> florian@instantbird.org granted review for attachment 2921 on bug 2193.
22:40:32 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=2193 nor, --, ---, nhnt11, ASSI, Typo prevents stats service from sweeping logs
22:40:58 <flo-retina> done
22:41:07 <nhnt11> cool 
22:42:59 <instantbot> Check-in: http://hg.instantbird.org/instantbird/rev/4d9f3715c0e9 - Nihanth Subramanya - Bug 2193 - Typo prevents stats service from sweeping logs, r=fqueze.
22:43:53 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
22:44:02 --> nhnt11 has joined #instantbird
22:44:51 <instant-buildbot> build #467 of win32-onCommit is complete: Failure [failed compile]  Build details are at http://buildbot.instantbird.org/builders/win32-onCommit/builds/467  blamelist: Nihanth Subramanya <nhnt11@gmail.com>
22:46:37 <nhnt11> Good night
22:50:13 <flo-retina> Good night! :)
22:50:56 <-- nhnt11 has quit (Input/output error)
22:53:29 --> nhnt11 has joined #instantbird
22:53:51 <-- nhnt11 has quit (Quit: Instantbird 1.5a1pre -- http://www.instantbird.com)
23:04:47 <-- dew has quit (Ping timeout)
23:04:50 --> dew has joined #instantbird
23:13:28 <instant-buildbot> build #476 of macosx-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-onCommit/builds/476
23:20:29 --> sukhe has joined #instantbird
23:56:40 <instant-buildbot> build #476 of linux-onCommit is complete: Success [build successful]  Build details are at http://buildbot.instantbird.org/builders/linux-onCommit/builds/476