#instantbird log on 12 27 2010

All times are UTC.

00:03:32 <instantbot> florian@instantbird.org added attachment 456 to bug 638.
00:03:33 <instantbot> florian@instantbird.org cancelled review?(florian@instantbird .org) for attachment 449 on bug 638.
00:03:34 <instantbot> florian@instantbird.org requested review from mook.moz+bugs.insta ntbird@gmail.com for attachment 456 on bug 638.
00:03:35 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=638 enh, --, ---, mook.moz+bugs.instantbird, ASSI, Split purpleInit.cpp into multiple files
00:05:23 <instantbot> florian@instantbird.org added attachment 457 to bug 638.
00:05:55 <flo> maybe I should have just pushed my modified version. :-S
00:06:24 <clokep> The push always shows the changes too, so...
00:08:43 <flo> but it's a bit late to comment and argue about the details ;)
00:12:21 <DGMurdockIII> http://www.mozilla.org/editor/undo.html
00:12:46 * flo frowns at the "# Tolerant of duplicate and out-of-order messages?" line in the "Pre-launch Checklist" about the twitter streaming APIs
00:17:50 <DGMurdockIII> http://status.net/open-source
00:18:05 <clokep> It's pretty much the same API, yes.
00:19:10 <DGMurdockIII> ok
00:19:32 <clokep> :)
00:19:49 <clokep> I think after Twitter support is done that would be something to work on.
00:21:13 <flo> http://dev.twitter.com/pages/user_streams seems to be what we want and make sense
00:22:02 --> rikki1 has joined #instantbird
00:22:03 <clokep> I know NOTHING about the streaming API btw. :-\
00:22:09 <-- rikki has quit (Connection reset by peer)
00:22:21 <flo> neither do I. It's even the reason for reading the documentation ;)
00:22:34 <clokep> :)
00:23:39 <-- DGMurdockIII has quit (Quit: get satisfied! • :: www.unitedservers.de ««« (Gamers.IRC) »»» gamersirc.net ::)
00:27:14 <flo> "Streams may also contain status deletion notices. Clients are urged to honor deletion requests and discard deleted statuses immediately. At times, status deletion messages may arrive before the status. Even in this case, the late arriving status should be deleted from your backing store."
00:27:18 <flo> Are they serious?
00:27:52 <clokep> I don't understand how a "stream" is not in order...that doesn't really make sense....
00:28:31 <clokep> But yes, the twitter team doesn't seem to have thought about their API much. :-\
00:29:04 <flo> I was more reacting to the "status should be deleted from your backing store" part
00:29:21 <flo> how am I supposed to explain to a potential users that we cleared his logs "because twitter requested it"?
00:29:23 <flo> seriously...
00:31:02 <clokep> It only says "should" not "have to" ;)
00:32:36 <flo> I understood that ;)
00:33:02 <flo> if we are not going to handle it and it's pure nonsense, they could as well have not written it ;)
00:33:11 <flo> "Consuming applications must tolerate duplicate statuses, out-of-order statuses and non-status messages." They insist a lot on that
00:33:17 <flo> not sure how we should handle that
00:33:47 <flo> hmm, ah, they will all have a unique numeric id, I guess we can just stuff all the ids we have already seen in a big hash table
00:33:48 <clokep> try catch blocks. :P
00:34:02 <clokep> Aren't the ids counting up?
00:34:11 <flo> messages not arriving in orders will suck though :-/
00:34:19 <flo> they are.
00:34:21 <clokep> Ohhhh, right.
00:34:26 <clokep> The ordering doesn't wokr.
00:34:28 <clokep> *work
00:34:52 <flo> by the way, the same problem exists for almost all protocols. They just don't officially admit it...
00:35:17 <clokep> That they might not arrive in order?
00:35:56 <flo> yes
00:36:22 <flo> I've seen it on XMPP/Gtalk at least.
00:36:41 <flo> (for other protocols it's very hard to know if we don't have a time stamp coming from the server for the message)
00:37:34 <clokep> Does this paragraph make sense to you: "Every instantiation of an editor has it's own rules object. nsTextEditor and nsHTMLEditor both have an InitRules() function which handles this. Until we make rules plugin at the runtime level, you will have to settle for plugging them in programmatically by altering the InitRules() method of nsHTMLEditor to use your rules system instead."?
00:38:09 <flo> "Statuses created by protected accounts and all direct messages are non-public and are currently not available via the Streaming API." hmm. That seems to contradict something I read elsewhere in their doc
00:38:46 <clokep> I think those are only available for user streams?
00:38:49 <flo> clokep: I don't know what these rules are supposed to be
00:39:02 <clokep> Yeah, thanks. :)
00:39:02 <flo> clokep: probably
00:42:04 <flo> "# A totally ordered timeline display may cause a user to miss some messages as out of order messages are inserted further down the timeline.
00:42:04 <flo> # Consider sorting a timeline only when out of focus and appending to the top when in focus."
00:42:21 <flo> bah. That means that basically they suggest we do absolutely nothing about the ordering issues :-D.
00:42:35 <clokep> Hahah, well that's good I think? :)
00:42:46 <clokep> And by "good" I mean "easy" ;)
00:44:23 <flo> sure!
00:45:28 <flo> Using the twitter API seems easy once the oauth mess is out of the way :).
00:46:03 <flo> maybe I should let someone else play with it, and move on to something else
00:46:57 <flo> clokep: by the way, isn't the lack of js-proto compatibility of the command system going to be in your way very soon for your IRC work?
00:47:21 <clokep> flo: Yes. :) I was hoping you'd have time to look at it. ;)
00:47:26 <-- Ornthalas has quit (Quit: KTHXBYE)
00:47:58 <flo> I would like a /tweet <write here something silly to be your new status> command ;)
00:48:22 <flo> I'm not sure on how that would work when the user has multiple twitter accounts though
00:49:38 <clokep> I figured they'd just send a message in the timeline chat to send a tweet?
00:49:47 <flo> clokep: was the work on the proto specific preferences finished? was there something more that needed to be discussed there, or just some more work to do from you? (just verifying I'm not blocking you here :-S)
00:50:17 <clokep> flo: Proto specific preferences just need to be rewritten (I forget how far I got on the rewrite -- it's on my other laptop).
00:50:26 <flo> for the first alpha that will be enough. But later I would rather not have the timeline always visible.
00:50:30 <clokep> But...the bigger problem I'm having is that preferences aren't being created when the account is created.
00:52:56 <flo> they shouldn't be created if their value matches the default
00:53:30 <clokep> OK....but they are for other accounts.
00:53:40 <flo> really?
00:54:24 <clokep> I'm pretty sure.
00:54:53 <flo> I think you need a try/catch block in the get{Int,Bool,String} methods, and fetch the default value from the options array
00:54:57 <clokep> Wel llike my facebook account has ft_proxies and require_tls. I've never touched those.
00:55:13 <clokep> Yes, that's what I did. :)
00:55:53 <flo> you see a ft_proxies in about:config for your facebook account?
00:56:02 <clokep> Yes.
00:57:06 <flo> and you are 100% sure you have never touched that?
00:57:21 <flo> require_tls is "expected" (it's a hack for the override protocol)
00:58:14 <clokep> Hmmm....
00:58:16 <clokep> I'm pretty sure.
00:58:18 <clokep> One second.
00:58:46 <flo> if you are sure and can reproduce, I'm interested in the steps ;)
00:59:42 <clokep> Hmm...OK.
00:59:46 <clokep> AIM didn't do it.
01:00:45 <clokep> Oh, I must have flipped it at some point flo.
01:00:50 <clokep> It didn't happen on my other profile.
01:01:09 <flo> ok
01:01:31 <clokep> I didn't realize I had to give defaults in the plug-in, that's quite fine. :)
01:01:59 <clokep> I already made an API for that. its get{Int,Char,Bool} (prefname, defaultvalue)
01:02:40 <flo> no, I meant the _options array contain the default values
01:03:03 <flo> (we even used them to guess the type of each pref)
01:03:58 <clokep> Hmm....that's true. I forgot we had that.
01:04:04 <clokep> I'll have to look at it again.
01:04:16 <clokep> Ah, you know what? I rewrote them at different times, that was the issue.
01:05:41 <flo> the most recent patch was pretty good already iirc
01:07:01 <clokep> I've made it a lot better.
01:07:05 <clokep> Just didn't have time to finish it up.
01:07:35 <flo> cool :)
01:07:48 <clokep> And my other laptop is packed right now haha.
01:07:53 <flo> I look forward to reading it
01:08:04 <flo> not this evening (way too late)
01:08:05 <clokep> Is that blocking you?
01:08:16 <flo> I need to get up in less than 6 hours :-S
01:09:14 <flo> no, I was just clearing the in-progress patches that I still remember from my mind, and ensuring I'm not blocking anybody ;)
01:09:51 <clokep> Ah, OK. :) Well...maybe tonight or tomorrow I'll get around to working on thta a bit.
01:11:46 <flo> Good afternoon/evening/night/morning (pick your timezone)
01:11:57 <clokep> 'night. :)
01:15:54 <-- GeekShadow has quit (Quit: The cake is a lie !)
01:32:29 <-- sabret00the has quit (Ping timeout)
01:57:33 --> DGMurdockIII has joined #instantbird
02:55:26 --> Zippy has joined #instantbird
02:57:27 <-- Zippy has left #instantbird ()
03:05:21 <-- DGMurdockIII has quit (Quit: get satisfied! • :: www.unitedservers.de ««« (Gamers.IRC) »»» gamersirc.net ::)
04:23:57 <-- rikki1 has quit (Quit: Instantbird 0.2)
04:42:34 <-- clokep has quit (Quit: Instantbird 0.3a1pre)
05:10:48 --> tymerkaev has joined #instantbird
06:10:10 <-- tymerkaev has quit (Ping timeout)
08:26:13 <-- flo has quit (Ping timeout)
08:46:08 --> Ornthalas has joined #instantbird
08:57:49 --> Even1 has joined #instantbird
09:24:16 --> mokush has joined #instantbird
09:49:43 --> sabret00the has joined #instantbird
10:07:43 --> Mic has joined #instantbird
10:07:44 * ChanServ sets mode +h Mic 
10:24:34 --> rikki has joined #instantbird
10:39:05 <-- Mic has quit (Quit: Instantbird 0.3a1pre)
11:09:47 --> Mic has joined #instantbird
11:09:47 * ChanServ sets mode +h Mic 
11:27:18 --> tymerkaev has joined #instantbird
11:30:13 <Mic> hi
11:31:36 --> GeekShadow has joined #instantbird
11:49:09 --> sonny has joined #instantbird
12:05:00 <-- sonny has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.13/20101211011801])
12:34:29 <-- mokush has quit (Ping timeout)
13:03:51 --> Even2 has joined #instantbird
13:04:49 <-- Even1 has quit (Ping timeout)
13:10:30 <-- Mic has quit (Ping timeout)
13:25:07 <-- Even2 has quit (Connection reset by peer)
13:26:27 --> Even1 has joined #instantbird
14:11:02 --> flo has joined #instantbird
14:11:02 * ChanServ sets mode +qo flo flo 
14:13:41 <flo> hello :)
14:46:21 <-- micahg has quit (Ping timeout)
15:20:58 --> Mic has joined #instantbird
15:20:58 * ChanServ sets mode +h Mic 
15:36:48 --> clokep has joined #instantbird
15:36:48 * ChanServ sets mode +h clokep 
15:40:35 <clokep> They released another Pidgin update? Wasn't the last one like a week ago?
15:44:09 <Mic> Maybe they have a "Release early, release often" policy? ;)
15:44:40 <clokep> "Release early, release often, release alpha quality software"? :)
15:45:17 <Mic> "Release too early, release too often" would be shorter
15:45:26 * clokep is now known as clokep_food
15:46:21 <Mic> flo: I'm going to work on bug 276
15:46:24 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=276 min, --, ---, benediktp, ASSI, Nicklist painfully slow
15:47:09 <flo> clokep: there was a security issue
15:47:47 <Mic> Moving the list to a separate overlay has also become one of the goals if I remember recent discussion about this correctly
15:47:55 <flo> Mic: with the idea of working around the slowness, or the idea of using a tree?
15:49:50 <Mic> with the idea of using a tree
15:50:51 <Mic> The delay for loading the #ubuntu channel on irc.freenode.org is there but by far not as long as you posted
15:51:34 <Mic> It's in the order of five seconds on my rather old computer
15:53:02 <flo> ok
15:53:05 <-- skeledrew has quit (Ping timeout)
15:53:18 <Mic> Using the tree itself should give a speedup if I understood you correctly
15:53:52 <flo> by the way, before starting you should know that CSS work bizarrely on tree, and especially that it's not possible to use XBL for sub parts of a tree (it's the reason why our buddy list is based on a richlistbox and not a tree)
15:54:18 <Mic> I've scanned over the documentation for the tree
15:54:41 <Mic> It seems you can set an image for a treecell by setting a src attribute with an url, so it's ok
15:55:14 <Mic> Maybe in worst case I need to insert a class per buddy to get a custom text color
15:55:41 <flo> an src attribute?
15:55:55 <Mic> Like on an image tag
15:55:56 <flo> there are no DOM nodes for the content of the tree
15:56:10 <flo> that's where the speedup comes from
15:56:41 <flo> you provide a JS object implementing nsITreeView that is queried only for the data that needs to be displayed
15:57:07 * clokep_food is now known as clokep
15:57:26 <flo> (if the implementation is done correctly), that makes the time spent to display it depend on the number of visible cells instead of on the total number of cells
15:59:56 <Mic> Indeed, I mixed it up
16:00:11 <Mic> I was looking at the documentation for normal trees, not for custom ones
16:00:20 <Mic> (ie treerow, treeitem, treecell)
16:01:24 <clokep> There's a few implementations for richtree's floating around. ;)
16:13:04 <-- Even1 has quit (Quit: Instantbird 0.3a1pre)
16:17:27 <-- Mic has quit (Quit: Instantbird 0.3a1pre)
16:20:06 <clokep> Well since we got 18 inches of snow last night I guess I should finish the preference code today. :P
16:24:23 --> Andrey has joined #instantbird
16:27:15 --> MicTest has joined #instantbird
16:27:31 --> Mic has joined #instantbird
16:27:31 * ChanServ sets mode +h Mic 
16:27:49 <-- Mic has left #instantbird ()
16:27:51 <-- MicTest has left #instantbird ()
16:45:15 <clokep> flo: I have two different ways of doing options, i was wondering your opinion on it: http://pastebin.instantbird.com/511
16:45:48 <clokep> The second one is nice since it allows you to look up information about options later on by the option name.
16:53:53 <flo> the second one may be more usable (even though we may be losing the order)
16:54:17 <flo> by the way, how would the default value work for lists? :-S
16:56:01 <clokep> You mean ordering wise?
16:56:15 <flo> what's the actual default in the list?
16:56:51 <clokep> It should be the first one?...but now that you mention it...they might not pop up in the right order. :-\
16:57:25 <clokep> Order is important for preferences though (so you can group them together, no?) so I'll stick with the first one and write some code to search for the.
16:58:45 <flo> I think the order is preserved when we enumerate, but I'm not totally sure
17:03:02 <clokep> Apparently it doesn't /have/ to be, but Mozilla might.
17:03:15 <clokep> According to stack overflow at least.
17:03:38 <clokep> The list options Are not fully done yet. I'll need to look into it more.
17:03:45 <flo> ok, so we can pretend there's no problem :)
17:03:56 <clokep> Haha. OK. :)
17:04:05 <clokep> In that case the second option is probably better.
17:04:29 <flo> for the lists, we can find a workaround
17:05:21 <flo> like default: ["item2", {item1: "foo", item2: "bar", ...}]
17:05:48 <flo> or maybe default: [item1: "foo", item2: "bar, ..., _value: "item2"]
17:05:48 <clokep> Mmhmm.
17:06:22 <flo> or decide the first item is always the default for now
17:06:37 <flo> until there's a compelling reason to make it customizable
17:06:46 <clokep> I think that sounds better. ;)
17:10:17 <clokep> I have to go, but I'll work on this then.
17:10:20 <clokep> Thanks.
17:11:48 --> micahg has joined #instantbird
17:14:42 --> Mic has joined #instantbird
17:14:42 * ChanServ sets mode +h Mic 
17:16:51 <-- tymerkaev has quit (Client exited)
17:17:28 <-- clokep has quit (Ping timeout)
17:17:48 <Mic> clokep: the labels sound like something that should be localized. Do you want to use a function that fetchs the translation from the english text or to use an id for it instead?
17:37:52 <-- GeekShadow has quit (Quit: The cake is a lie !)
17:46:48 --> GeekShadow has joined #instantbird
18:11:50 --> tymerkaev has joined #instantbird
18:36:46 <-- Ornthalas has quit (Quit: KTHXBYE)
19:18:31 <-- Andrey has quit (Quit: )
19:23:21 --> chrisccoulson has joined #instantbird
20:08:39 <-- tymerkaev has quit (Client exited)
20:16:35 --> tymerkaev has joined #instantbird
20:22:23 <-- tymerkaev has quit (Ping timeout)
20:39:01 <instantbot> mook.moz+bugs.instantbird@gmail.com granted review for attachment 456 on bug 638.
20:39:05 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=638 enh, --, ---, mook.moz+bugs.instantbird, ASSI, Split purpleInit.cpp into multiple files
21:06:04 <-- Mic has quit (Quit: Instantbird 0.3a1pre)
21:20:47 --> Mic has joined #instantbird
21:20:47 * ChanServ sets mode +h Mic 
21:21:30 <-- Mic has left #instantbird ()
21:23:12 --> Ornthalas has joined #instantbird
21:26:51 --> Mook has joined #instantbird
21:31:01 <Mook> flo: sorry, I probably won't get to bug 643 soon - packing things up for a move :|
21:31:05 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=643 min, --, ---, nobody, NEW, ASSERTION: purple_savedstatus_get_current should never return NULL
21:31:41 <flo> Mook: I didn't assign it to you ;). Not even sure your changes are responsible for that, and if they are, well... I r+'ed them ;)
21:32:31 <Mook> not sure if I'll keep 638 open - need to see if there are good victims left
21:33:42 <flo> the preferences
21:35:24 <Mook> ah, yes, that I should keep, then
21:42:40 <-- Mook has quit (Ping timeout)
21:48:07 --> GeekShad0w has joined #instantbird
21:57:30 --> Mook has joined #instantbird
22:28:03 --> clokep has joined #instantbird
22:28:03 * ChanServ sets mode +h clokep 
22:35:21 <clokep> Mic|away: The labels should 100% be localizable, but that's step #2 after finishing the api.
22:59:49 --> mokush has joined #instantbird
23:00:36 <clokep> I have a mostly working version of rich text working.
23:00:45 <clokep> Not everything works though. :)
23:03:53 <-- clokep has quit (Ping timeout)
23:10:53 <-- GeekShad0w has quit (Quit: The cake is a lie !)
23:11:51 <flo> Good night! :)
23:17:53 <-- micahg has quit (Ping timeout)
23:23:41 <-- mokush has quit (Client exited)
23:25:27 <-- Mook has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.1.16/2010113000])
23:26:35 --> GeekShad0w has joined #instantbird
23:27:03 <-- GeekShad0w has quit (Connection reset by peer)