#instantbird log on 12 04 2011

All times are UTC.

00:07:28 <-- clokep has quit (Ping timeout)
00:26:47 <flo> Good night :)
00:29:18 --> BlueMaxima has joined #instantbird
00:43:39 <-- aleth has quit (Input/output error)
00:56:01 --> clokep has joined #instantbird
00:56:01 * ChanServ sets mode +h clokep 
01:01:10 <-- clokep has quit (Ping timeout)
01:21:17 <-- douglaswth has quit (Ping timeout)
01:24:57 --> douglaswth has joined #instantbird
01:53:35 --> clokep has joined #instantbird
01:53:36 * ChanServ sets mode +h clokep 
01:58:55 <-- clokep has quit (Ping timeout)
01:59:04 --> hunsly has joined #instantbird
02:28:50 <-- waynenguyen has quit (Quit: Instantbird 1.2a1pre)
02:29:16 --> clokep has joined #instantbird
02:29:16 * ChanServ sets mode +h clokep 
02:29:21 <-- clokep has quit (Input/output error)
02:29:44 --> waynenguyen has joined #instantbird
03:16:32 <-- waynenguyen has quit (Ping timeout)
03:22:38 <-- hunsly has quit (Ping timeout)
04:18:35 <-- skeledrew has quit (Quit: Instantbird 1.2a1pre)
04:19:30 --> skeledrew has joined #instantbird
04:22:01 --> waynenguyen has joined #instantbird
04:53:07 --> clokep has joined #instantbird
04:53:07 * ChanServ sets mode +h clokep 
05:08:02 <-- clokep has quit (Quit: Instantbird 1.2a1pre)
09:10:27 --> jb has joined #instantbird
09:17:39 --> jb1 has joined #instantbird
09:18:14 <-- jb has quit (Ping timeout)
09:23:56 <-- jb1 has quit (Ping timeout)
10:35:16 --> hunsly has joined #instantbird
10:38:16 --> aleth has joined #instantbird
10:44:59 <-- Tomek has quit (Quit: Instantbird 1.1)
10:59:24 <-- Tobin has quit (Quit: Everything you do is to hurt me, leave me alone.)
11:00:11 --> Tobin has joined #instantbird
11:02:37 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
11:24:02 --> igorko has joined #instantbird
12:43:15 --> Tomek has joined #instantbird
13:21:12 --> clokep has joined #instantbird
13:21:12 * ChanServ sets mode +h clokep 
13:53:20 <clokep> Good morning. :)
14:16:39 --> Mic has joined #instantbird
14:16:39 * ChanServ sets mode +h Mic 
14:37:04 <-- BlueMaxima has quit (Quit: Instantbird 1.1)
14:45:01 <-- Tomek has quit (Ping timeout)
14:53:27 --> Tomek has joined #instantbird
15:09:53 --> aleth has joined #instantbird
15:18:20 <-- igorko has quit (Quit: Instantbird 1.1)
15:19:00 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
15:44:51 <flo> clokep: do you need help to figure out a replacement for that global?
15:45:27 <clokep> flo: Possibly. I was going to work on fixing up all the handler code first though so it exports only one object.
15:45:34 <-- Mic has quit (Connection reset by peer)
15:45:37 <flo> ok
15:45:54 <flo> I'm looking at the work I still have in bug 703929 to create a test
15:48:29 <clokep> Ah, making tests? :(
15:48:58 <clokep> I should make that minimal test case for components that cause Instantbird not to start.
15:49:10 <flo> yeah... I always find it super demotivating when asked to create a test for a one line change :-D
15:49:37 <flo> so I procrastinate them for weeks if not months
15:52:11 <clokep> Yeah, I don't blame you. :(
16:03:13 <-- waynenguyen has quit (Ping timeout)
16:03:52 --> waynenguyen has joined #instantbird
16:07:00 <clokep> flo: Any ideas for what component should be used for the examplel requested in bug 700421?
16:16:26 --> igorko has joined #instantbird
16:18:57 <clokep> Ah a command line handler would be a good example I think.
16:34:44 <flo> a firefox component were you would insert a syntax error?
16:35:14 <clokep> Yes.
16:36:02 --> gerard-majax has joined #instantbird
16:37:36 <clokep> instantbot: uuid
16:37:37 <instantbot> 3e85067b-53fa-4d67-a3bc-1c65fc45785f (/msg instantbot cid for CID form)
16:38:12 <clokep> Will that work with any type of component?
16:41:28 <-- waynenguyen has quit (Ping timeout)
16:42:41 --> waynenguyen has joined #instantbird
16:55:06 <-- gerard-majax has quit (Ping timeout)
16:55:46 <clokep> flo: I mean something like this http://pastebin.instantbird.com/1262 causes an error in the error console of the type we were talking about.
17:02:09 --> gerard-majax has joined #instantbird
17:11:11 --> ecaron has joined #instantbird
17:12:19 --> aleth has joined #instantbird
17:23:01 --> Mic has joined #instantbird
17:23:01 * ChanServ sets mode +h Mic 
17:24:16 <-- gerard-majax has quit (Ping timeout)
17:24:28 --> FeuerFliege has joined #instantbird
17:29:55 <flo> clokep: what are you trying to do with that component?
17:30:27 <clokep> Cause a syntax error that shows that same error we have...in this case it's not really a syntax error though, it's a component that doesn't exist. :(
17:30:51 <clokep> If I add syntax errors in it's actually catching them...
17:30:51 --> Mnyromyr has joined #instantbird
17:34:15 <flo> uh, really?
17:38:19 <clokep> Yes. In Firefox 11.
17:38:37 <clokep> I mean I'm doing simple ones like not having a trailing ) in an if statement and things.
17:39:05 <flo> and it shows the correct error in the error console?
17:40:56 <clokep> flo: For example, http://pastebin.instantbird.com/1266
17:43:34 <flo> if you test with Firefox 7, do you have a correct error too?
17:43:59 <clokep> good question. :)
17:47:40 <clokep> Does Mozilla not provide zips of their builds anymore?
17:48:06 <clokep> Bah I found it eventually...
17:49:15 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
17:49:32 <clokep> flo: Yes it works in 7.0 as well.
17:49:39 <clokep> So I guess that's not a real example.
17:50:41 <flo> another issue I have with writing tests is that it's very hard to get the existing tests to work, before trying to add more :(
17:51:39 <-- ecaron has quit (Quit: Instantbird 1.1)
17:54:55 <clokep> My knowledge on getting tests to run is that you don't want to do it on your own machine.
17:55:44 <flo> and how else can you write a new test? ;)
17:55:59 <clokep> Cry? :(
17:56:28 <flo> when I do it doesn't improve the situation
17:56:50 <flo> especially if a webcam-less computer is the only one around :-D
18:00:39 <-- igorko has quit (Quit: Instantbird 1.1)
18:29:19 <clokep> Haha. Yeah, that wouldn't help too much. :( Just mail your tears to the reviewer? :P
18:29:29 <clokep> Bleh my command code is very gross.
18:29:36 <clokep> I've probably rewritten half the file...
19:13:57 <-- Tomek has quit (Ping timeout)
19:17:48 <flo> hmm, I can't reproduce my bug when Firefox was started by the test harnness :-S
19:27:28 --> aleth has joined #instantbird
19:27:44 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
19:28:20 --> aleth has joined #instantbird
19:28:44 <flo> hmm, actually I can. I just can't when the chrome file is inside the tests
19:33:47 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
19:34:54 --> aleth has joined #instantbird
19:38:07 --> BlueMaxima has joined #instantbird
19:44:52 <BlueMaxima> Damn that annoys me about Instantbird
19:45:08 <BlueMaxima> A lot of the time I get this sort of message attempting to connect to EFnet: 6:43:05 AM - irc.umich.edu: (notice) To complete your connection to this server, type "/QUOTE PONG :cookie", where cookie is the following ascii.
19:45:51 <BlueMaxima> Usually on other IRC clients I get the "ascii" but on Instantbird I don't, so this message simply repeats itself for at least half an hour while it tries to connect to the server without running into that message.
19:46:15 <clokep> BlueMaxima: Do you get it on Pidgin?
19:46:45 <clokep> There's a bug about that though about connecting to umich.edu's IRC server I think.
19:46:50 <BlueMaxima> clokep: Never tried it on pidgin.
19:47:07 <clokep> BlueMaxima: check out bug 917
19:47:12 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=917 nor, --, ---, nobody, NEW, Problems when connecting to irc.umich.edu (requires ident or non-standard captcha)
19:49:34 <BlueMaxima> Ah, I see, well, I'll leave you to it then
19:50:04 <clokep> Yeah the server wants identd to be running, which libpurple doesn't support. There's some code in ChatZilla I'm planning to borrow.
19:51:05 <BlueMaxima> clokep: I just thought it came in as plaintext instead of being some sort of complicated crap
19:51:35 <clokep> BlueMaxima: It comes in an ASCII art on a random numeric code that's not in the spec. So you pretty much need to handle it specifically.
19:51:47 <clokep> Most IRC clients have a "server tab" which display pretty much the raw protocol though.
19:51:52 <clokep> So you probably see it in that tab.
19:52:01 <clokep> libpurple doesn't have that (and I'm glad it doesn't).
19:52:17 --> Tomek has joined #instantbird
19:52:39 <BlueMaxima> clokep: I was actually going to ask for a "server tab" because they can come in use sometimes, I guess it annoys some people though
19:53:25 <clokep> BlueMaxima: I'd be interested in the times it "comes in handy" to know how Instantbird can take care of those for you. :)
19:54:11 <clokep> My code actually has a server tab of sorts..but it shows things like the Message of the Day, not random protocol junk most users don't care about.
19:55:22 <BlueMaxima> clokep: my main three uses are for checking the MOTD and having it somewhere to refer to (may be different compared to the "expected" rules that you'd see in an MOTD), downloading a channel list and having a place where you can send commands to the server (/join, /msg) without having the ability to stuff it up and accidentally send #bigdicks to a channel
19:55:31 <BlueMaxima> I know, I'm anal about these things, it's just me.
19:56:10 <clokep> I think those are reasonable. :)
19:56:37 <clokep> I just don't feel the need to show you everything we send and receive from the server like some do. :-D
19:57:00 <clokep> flo: I think I've finished l10n stuff.
19:57:11 <BlueMaxima> Also that comes in use from time to time as well (you wouldn't believe how many times someone can ping you in 60 seconds if you piss them off)
19:57:42 <BlueMaxima> Just saying that if there was a way to implement that sort of server tab in an option I most certainly wouldn't be against it
19:59:40 <clokep> Alright. Thanks for the info. I definitely want to include it. It might be behind a (hidden?) pref though.
20:00:40 <BlueMaxima> clokep: Advanced Options option?
20:01:04 <clokep> BlueMaxima: Yup.
20:01:30 <BlueMaxima> Now I just want per-channel highlighting and :D
20:04:56 <BlueMaxima> If I knew anything about coding I would've done it myself
20:05:21 --> EionRobb has joined #instantbird
20:08:40 <clokep> "per channel highlighting"?
20:10:34 <aleth> Hi :)
20:12:20 <clokep> Hello aleth.
20:13:00 <aleth> clokep: Totally agree on the server tab; if there were one, maybe the right place to include it would be from the accounts manager (if it's essentially only there for advanced troubleshooting)
20:14:57 <BlueMaxima> clokep: just a way to make channels highlight for every message, your nick or not at all in the Windows taskbar :P
20:15:02 <BlueMaxima> aleth: Good to see I'm not totally insane.
20:15:17 <clokep> BlueMaxima: flo made an extesnion for that...
20:16:09 <BlueMaxima> clokep: I know he did but it didn't fit my needs very well.
20:16:32 <clokep> BlueMaxima: You pretty much want an easier to configure version of that? :)
20:16:49 <BlueMaxima> clokep: Pretty much but I hate to be a bother
20:18:56 <BlueMaxima> If someone said to me "Anything you say goes into Instantbird instantly" I'd probably get kicked off the server for flooding
20:24:19 <-- Tomek has quit (Quit: Instantbird 1.1)
20:33:15 --> Mic1 has joined #instantbird
20:33:30 * Mic1 is now known as bop
20:33:33 * bop is now known as bp
20:34:36 * ChanServ sets mode +h bp 
20:36:51 <clokep> Well make sure you file bugs or they definitely have no chance of going in! :)
20:45:07 --> Tomek has joined #instantbird
20:48:19 <BlueMaxima> clokep: think I did at some point
20:48:40 <clokep> Good. :) Hopefully they'll be gotten to eventually.
20:48:55 <clokep> I think we'll be working on making IRC much more usable soon.
20:49:14 <BlueMaxima> I assume that's what you meant when you were talking about the IRC rewrite.
20:50:27 <BlueMaxima> I will admit though Instantbird is a damn good IRC client but it's all these little niggles which annoy me
20:53:38 <bp> File bugs for them :)
20:54:47 <BlueMaxima> (already all filed)
20:54:47 <bp> hmm, it took me far to long to figure out that I need to set the content type correctly when I want to send "www-form" data :(
20:58:47 <clokep> BlueMaxima: Well the "IRC rewrite" is more of to get the same feature set as current, but it'll allow us to do more advanced things.
20:59:02 <BlueMaxima> clokep: makes sense.
20:59:40 <clokep> bp: What are you sending via form data?
21:00:48 <clokep> Bah I guess it's time for me to look at removing that ircAccounts global...
21:02:58 <bp> Things to add to a pastebin
21:04:36 <clokep> Ah, neat.Automatically if it's too large? :P
21:05:39 <bp> Yes, I'm using flo's Linebreak-add-on to mash-up something ;)
21:06:12 <bp> I'm struggling to get the "Location"-header field though
21:07:19 <bp> I'm getting a "200" result while I'd expect a "302", containing a Location header field from my Firebug investigations
21:08:26 <clokep> "Linebreak add-on"? Hmmm...
21:08:33 <clokep> Oh? Working with APIs is hard. :(
21:09:11 <bp> Flo has one that changes the Enter-key behaviour. I just used it as a start
21:09:21 <clokep> Ah, I see.
21:09:45 <clokep> My TODO list for IRC is getting short quickly. :)
21:11:51 <BlueMaxima> Make it longer! Highlights and server tab! :P
21:12:13 <clokep> My TODO list for bug 507 is almost done.
21:12:16 <bp> The pastebin is getting spammed at the moment. And the postings seem bad
21:12:17 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=507 enh, --, ---, clokep, ASSI, Implement IRC in JavaScript
21:12:24 <clokep> If you'd like to see my TODO list after that point you can look at the dependencies of that bug. ;)
21:12:30 <bp> clokep: I saw that the depends-on list is all fixed bugs now :)
21:12:50 <clokep> bp: Yup! I checked it again the other day and a few that were on there were bogus. :)
21:16:40 <BlueMaxima> Ooh, bug 188, forgot about that one
21:16:43 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=188 nor, --, ---, clokep, ASSI, Private IRC messages using "/msg" don't appear in chat window
21:16:59 <clokep> BlueMaxima: That's fixed already. :)
21:17:07 <clokep> (Well once my code is merged it's fixed.)
21:17:11 <BlueMaxima> Yay.
21:19:01 --> clokep_js has joined #instantbird
21:20:28 <clokep> So now everyone is quiet when I'm checking if my code works OK? :p
21:20:50 <bp> C++
21:21:08 <bp> No instantbot responst to this?
21:21:18 <bp> Maybe lowercase? c++
21:21:26 <clokep> instantbot seems to be having some issues.
21:21:29 <instantbot> clokep: Sorry, I've no idea what 'seems to be having some issues' might be.
21:21:33 <bp> bug 1112
21:21:39 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1112 nor, --, 1.2, aletheia2, RESO FIXED, Only show active nicks in color in participant list
21:21:41 <-- clokep_js has quit (Quit: Blah blah.)
21:21:43 <-- Mic has quit (Ping timeout)
21:32:46 <bp> I'm really looking forward to have the new JS-IRC :)
21:33:53 <clokep> bp: I'm trying to destroy a global variable right now and it's eluding me. That's the last "big thing" I think I need to do.
21:34:27 <bp> I guess you don't mean 'delete'-ing it?
21:34:30 <clokep> This is my todo list right now: http://pastebin.instantbird.com/1295
21:34:45 <clokep> No I mean philosophically destroy. :D
21:35:40 <bp> Ah, I see: "Remove ircAccounts global object."
21:35:55 <clokep> Yes. I'm trying to use wrappedJSObject...
21:42:44 <flo> clokep: why do you even need that?
21:43:19 <clokep> flo: Because I need to access internal parts of the account.
21:43:30 <flo> I could have guessed that
21:43:41 <flo> but why aren't you already in a code that isn't wrapped?
21:43:53 <flo> how many places are there where you currently used that global?
21:43:59 <clokep> Because it's being accessed from a command.
21:44:09 <clokep> It's only used for commands.
21:44:23 <flo> I initially thought you used that global only so that you can make the accountExists method of prplIProtocol work...
21:44:57 <clokep> I don't think I even implement that method.
21:45:19 <flo> we should probably handle it in jsProtoHelper (http://lxr.instantbird.org/instantbird/source/chat/modules/jsProtoHelper.jsm#675)
21:47:14 <flo> "Handle join/part messages in imConversations.js" can probably be another bug. But we need to fix it before landing JS-IRC or JS-XMPP, so it's required soon :(
21:48:25 <clokep> flo: I left you a couple of questions about that last night, not sur eif you saw them. (Maybe I should just file a bug so we can track it.)
21:49:22 <flo> I saw (asking if that shouldn't be in conversation.xml instead, right?) but it didn't make too much sense to me; I didn't want to say that until I had looked at the code to check how it actually looks though :-S
21:49:42 <clokep> That's fine. :)
21:50:19 <clokep> I also don't see how we can know if a user is actually joining or if they're "already" in the room.
21:50:41 <flo> that doesn't make much sense either :-/
21:51:36 <clokep> Like if users are in the room when you join, we don't want to show join messages for all of them.
21:52:56 <flo> what about "cheating" and looking at how libpurple handles that?
21:53:55 <clokep> We could do that, but that's so much less fun. :P
21:54:08 <clokep> Bah Im' getting a cyclic reference error...I don't know what that means.
21:54:34 <flo> for that global, the easiers way seems to be adding a |get wrappedJSObject() this,| to the prototype of your conversations
21:54:59 <flo> but I'm wondering if we shouldn't do that directly in jsProtoHelper, so that all conversation objects can be directly accessed by add-ons
21:55:11 <clokep> flo: libpurple has a boolean that says whether to show messages or not http://lxr.instantbird.org/instantbird/source/purple/libpurple/conversation.h#196
21:55:24 <flo> that means: {get foo() this.bar, get bar() this.foo}
21:57:50 <clokep> Hm. OK.
21:58:31 <flo> how do you feel about adding it to jsProtoHelper?
21:58:49 <clokep> "it" being the getters on the conversation objects?
21:59:30 <clokep> I would be fine with it...if I could get it to work.
21:59:50 <clokep> Bah I think it was one of my debug statements through the error. :(
22:01:09 <clokep> OK, that works! :)
22:01:58 <bp> :(
22:04:02 <clokep> Can't get pastebin to work?
22:05:20 <bp> No, I should have told you about the wrappedJSObject getter when you mentioned it.
22:05:47 <flo> uh?
22:05:52 <clokep> It's OK. I was trying to put it on the account, not the conversation.
22:06:02 <bp> Ah, OK..
22:06:17 <bp> Good luck:)
22:06:23 <bp> And good night
22:06:24 <flo> clokep: we may want to add some on the account prototypes too
22:06:34 <-- bp has quit (Quit: Instantbird 1.2a1pre)
22:06:56 <clokep> flo: Could we just put it on the ClassInfo prototype? ;)
22:06:57 <flo> it's just that for your use case of the commands, it's better to get rid of the wrapper "early" rather than to get the account from the conversation through xpconnect to then get rid of the account wrapper
22:07:17 <clokep> Yeah, definitely makes sense once you said it...I just hadn't thought of it.
22:07:20 <flo> is that really a good idea?
22:07:31 <clokep> I doubt it. I did put a wink ;) in there!
22:07:37 <flo> :)
22:08:11 <clokep> GenericAccountPrototype is the only other one or ForwardAccountPrototype as well?
22:08:24 <clokep> *ForwardProtocolPrototype that is.
22:08:30 <clokep> (And GenericProtocolPrototype)
22:13:37 <flo> would it make sense on a forward account?
22:14:15 <clokep> It probably wouldn't, I'm not sure.
22:21:50 <-- FeuerFliege has quit (Connection reset by peer)
22:35:03 <flo> I have a test that works. Finally. :)
22:36:23 <aleth> test for what?
22:37:01 <flo> aleth: https://bugzilla.mozilla.org/show_bug.cgi?id=703929
22:38:24 * aleth wonders why they required a test for that
22:39:19 <flo> because writing tests is cool? :-P
22:42:07 <clokep> flo: Does it look like this code would actually work? I think it would, but I'm not sure...http://pastebin.instantbird.com/1308
22:42:34 <flo> I would have preferred if you had typed a space before pasting the link ;)
22:42:50 <clokep> Sounds like a bug. ;) http://pastebin.instantbird.com/1308
22:46:15 <clokep> (I think it's obvious what ctcpFormat is doing, but let me know if need a description!)
22:46:22 <flo> clokep: which line is interesting in that pastebin?
22:46:34 <clokep> flo: Line 15.
22:46:37 <clokep> Sorry. :( I should have said that.
22:46:56 <clokep> http://pastebin.instantbird.com/1309 if you will.
22:47:04 <flo> probably doesn't do what you want
22:47:42 <flo> is that the code that gave you the cyclic reference error?
22:47:44 <clokep> I want to take the input message, apply the formatting rules to it (i.e. make \0x02 --> <b> or </b>) and then put it back into the writeMessage function.
22:48:10 <clokep> no, it gives a too much recursion error. :P
22:48:16 <clokep> (I fixed the "cyclic reference" error.)
22:48:16 <flo> ok
22:48:24 <flo> well, that's the behavior I expect from that code
22:49:18 <flo> clokep: this is the instance of Conversation
22:49:34 <flo> clokep: so this.__proto__ is the prototype of that instance, that is Conversation.prototype
22:49:57 <flo> you would need to call this.__proto__.__proto__.writeMessage
22:50:31 <flo> and that may fail too, or behave strangely, as the |this| value will the the prototype instead of being the instance
22:52:35 <flo> clokep: to change a method but still call the base implementation, I would recommand something like this:     GenericConvIMPrototype.writeMessage.call(this, aWho, ctcpFormat(aText), aProperties);
22:52:38 <aleth> Why are you having to set __proto__ manually?
22:53:48 <flo> aleth: where?
22:54:25 <aleth> In that pastebin
22:54:44 <aleth> (line 2)
22:54:52 <clokep> flo: Oh OK. That makes sense. :)
22:55:18 <flo> :)
22:55:44 <clokep> aleth: How else is it to know what the prototype is without setting it? ;)
22:56:44 <aleth> Well, I was just wondering if there was a more elegant way. But I guess e.g. Conversation.prototype = new GenericConvIMPrototype just hides the same thing
22:57:19 <flo> aleth: that doesn't work
22:58:48 <-- Mnyromyr has quit (Quit: ChatZilla 0.9.86 [SeaMonkey 1.1.19/2010030105])
22:59:31 <flo> I think a standard way to do what we want has recently appeared in the JS engine, but I'm not sure we need to attempt to switch to it. The Mozilla-specific __proto__ property doesn't seem to be going away soon.
23:02:20 <clokep> I remember not really liking the new way to do it though.
23:03:37 <aleth> OK, thanks. Just seemed a hacky-looking way to do inheritance...
23:04:07 <flo> aleth: oh, you cleaned up that add-on wishlist page? :)
23:04:20 <flo> clokep: by the way, I wanted to add my 2 euro cents about that server tab discussion.
23:04:20 <aleth> Well, I started...
23:04:41 <clokep> flo: How many American cents is that? :P
23:04:47 <clokep> But yes, go ahead. :)
23:04:49 <flo> clokep: I think we will need to invest time in having really good debugging facilities for our JS prpls
23:05:00 <flo> clokep: about 3 US cents
23:05:33 <aleth> not even a nickel?
23:05:59 <clokep> OK, so you see a "server tab" as being a debugging facility?
23:06:05 <flo> clokep: I want a good XMPP console; in several occasions I could have made some good use from having a view showing all the data exchanged for a twitter account, in a decently pretty printed view
23:06:11 <flo> clokep: I think you will want the same for IRC
23:06:19 <aleth> Yeah, the server tab is a little like the error console in a way
23:06:27 <flo> clokep: I think exposing these raw data as a conversation is a bad idea
23:06:36 <clokep> flo: I agree!
23:07:17 <flo> clokep: I would much rather see us adding something in the context menu of each account (supporting that) to open a protocol specific (but with some common UI) facility showing the pretty printed raw data exchanged for that account
23:08:14 <flo> and the logging/debugging data we currently direct to the error console should also be visible there
23:08:29 <flo> so that it's easy to see what data has been received just before we generated the error message
23:08:48 <flo> of course, we want to provide a good copy/paste feature in that UI :)
23:09:33 <clokep> flo: That would be pretty awesome. :)
23:09:45 <clokep> I think what Blue Maxima and I were discussing though was things the user should actually be able to see.
23:09:46 <flo> Instantbird should be!
23:09:50 <aleth> Wow, that sounds like work
23:10:32 <flo> clokep: I don't think the average user should see ascii art generated by the server in random unstandard messages.
23:10:44 <aleth> flo: btw I added "convert/extend Console^2" to the add-on wishlist for a possibly less elaborate start in that direction
23:11:28 <aleth> The average user shouldn't have to use the server tab
23:12:19 <flo> clokep: the JS-IRC code should make it easy to write an add-on to handle specific currently-unhandled message codes though.
23:12:46 <flo> I'm wondering if it would be possible to have the copy/paste feature anonymize the data at the same time
23:13:12 <flo> but that may be asking too much :-/
23:13:56 <flo> aleth: I'll edit that page now. I think students need to start looking at project ideas tomorrow :-S
23:14:09 <clokep> flo: Yup I tried really hard to make it easy to handle other situations! :)
23:14:38 <clokep> We shouldn't need those random numeric codes to be handled anyway, I just need to implement identd.
23:14:52 <clokep> That's on my todo list (for after this lands).
23:15:00 <flo> aleth: "Maybe add vertical space in the different conversations to keep the time order of the messages" I'm not sure if you are the author of that sentence but... it seems terribly complicated to implement :-/
23:16:21 <aleth> Wasn't me...
23:16:41 <flo> clokep: I think we all agree anyway that we should never throw that "server tab" thing in the way of innocent users, but that people who really want to see what we are doing with the account for which they gave instantbird access to their credentials should be able to do so
23:16:42 <aleth> Sounds almost impossible to do
23:16:48 <flo> aleth: ok, never mind then :)
23:17:01 <flo> not impossible, but definitely not at the level of our students :)
23:17:20 <flo> and anyway, I'm not even sure it's desirable...
23:17:34 <-- waynenguyen has quit (Connection reset by peer)
23:17:47 <aleth> I don't think side-by-side view is desirable ;)
23:18:51 <flo> typing C-x 3 would sometimes be nice :)
23:19:15 <flo> is the "Group tabs in windows" idea really interesting?
23:19:30 <flo> grouping by protocol... uh?
23:19:37 <flo> by account makes more sense
23:20:09 <aleth> I wouldn't use it, but clearly somebody wanted it
23:20:15 <flo> "** MUC / single user chats" is there by default...
23:21:03 <flo> that "Scrollable tabs" doesn't look interesting to me
23:21:10 <flo> I guess some people would like that add-on
23:21:10 <aleth> Some of the suggestions I didn't quite understand, in which case I left them in
23:21:20 <flo> but I don't feel like mentoring a student on a 3 lines add-on
23:21:47 <aleth> And it breaks expectations from other mozilla apps
23:22:06 <flo> lots of Firefox addons offer that feature
23:22:49 <aleth> heh... ok
23:23:01 <aleth> "Short cut to the log files directory" also seems redundant to me
23:24:05 <aleth> "Tabbed buddy list" I didn't understand that proposal
23:24:16 <clokep> I should read over these...
23:24:35 <clokep> Bleh the topic doesn't support HTML. :(
23:24:37 <aleth> "Hide buddies" seems possibly obsolete - can be done via tags at least
23:24:41 <clokep> I forgot about that.
23:26:07 <clokep> Means I need a way to just strip formatting too. :(
23:26:27 <flo> "* '''Buddy order''': display buddies for who a conversation is opened at the top of the buddy list. This would be a way to merge the tablist and buddy list." hmm... isn't that a bit redundant with conv on hold?
23:28:30 <aleth> One of the ones I didn't understand. Tablist?
23:29:21 <flo> aleth: how do you do Hide Buddies with tags?
23:29:47 <flo> I currently have a collapsed "Hidden" tag for that case, but it's still visible in my list
23:30:03 <flo> the add-on would make these buddy really invisible
23:30:23 <flo> (adding a "display: none" on that specific tag would probably be enough ...)
23:31:15 <aleth> flo: Yes, collapsing was what I was thinking of. But that's not true hiding of course
23:32:26 <aleth> I wonder how you unhide those invisible buddies ;)
23:33:37 <clokep> I can't think of much else to add to that list btw. :)
23:33:42 <-- hunsly has quit (Ping timeout)
23:34:17 <clokep> Perhaps QQ should say that it needs a way to show the captcha's for use with our current plugin.
23:34:22 <clokep> As we're not using the one from Pidgin anymore.
23:34:55 <flo> the "Sound Notifications" item sounds more like a rant than like an idea
23:35:18 <flo> clokep: I think the pidgin plugin also attempted to display a captcha
23:35:38 <flo> clokep: and I don't think showing that captcha can be done as an add-on
23:35:46 <clokep> True. :(
23:35:52 <flo> at least a part of the work would need to be in the core
23:36:09 <clokep> Hmmm...OTR might want to link to that code flo found...I wonder if I have thta link open still...
23:36:21 <clokep> (Thank you awesomebar.... http://gitorious.org/fireotr/fireotr/blobs/master/chrome/content/otr_wrapper.js)
23:36:25 <flo> I pasted the link in the bug
23:36:34 <clokep> True. :)
23:36:59 <flo> what's the bug number?
23:37:00 <clokep> No link to the bug there either though!
23:37:05 <clokep> bug 877
23:37:08 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=877 enh, --, ---, nobody, NEW, Add support for OTR and encrypted chats.
23:37:54 <flo> uh, I'd never seen https://addons.instantbird.org/en-US/instantbird/addon/306
23:37:56 <EionRobb> couldn't you make an add-on that implemented the libpurple request api to be able to handle the qq captchas?
23:38:03 <EionRobb> or can add-ons not hook into the libpurple stuff like that?
23:38:35 <flo> EionRobb: add-ons can't access libpurple directly
23:38:48 <aleth> Does that add-on work? I remember there being some core code required for it or something
23:39:00 <flo> aleth: I checked in the patch
23:39:10 <EionRobb> flo: that's a shame, though I can see the reasoning behind it
23:39:35 <flo> EionRobb: I disagree with "that's a shame", except if you meant "it's a shame that libpurple isn't implemented in javascript"
23:40:07 <EionRobb> no, it's a shame that add-ons can't access libpurple directly, else you could wrap all the libpurple plugins that are out there and turn them into add-ons
23:40:18 <flo> EionRobb: add-ons (even when poorly written) are not supposed to be able to cause crashes. AFAIK, most libpurple APIs can crash if accessed incorrectly.
23:40:42 <flo> s/libpurple/C/
23:40:54 <EionRobb> so run libpurple in separate threads/processes :)
23:40:56 <flo> of course with jsctypes that safety doesn't really exist as well as before
23:41:19 <flo> EionRobb: my secret long term plan for libpurple is to start a process for each account, so that crashes aren't a problem anymore
23:41:35 <EionRobb> isn't there some kind of separate process thing happening in firefox for plugins/add-ons to prevent their crashes from taking everything down?
23:41:50 <flo> that's for NPAPI plugins
23:41:53 <aleth> plugins are already in a separate container in FF
23:41:54 <flo> (flash, java, ...)
23:42:07 <EionRobb> could it be ported for libpurple plugins?
23:42:15 <flo> I don't think so
23:42:18 <EionRobb> k
23:42:33 <EionRobb> or a npapi wrapper for libpurple :)
23:42:35 <flo> but there was some work to let Jetpack add-on easily start processes and do work there
23:42:44 <flo> so I have some hope of reusing that work
23:43:09 <flo> and then we could access libpurple from jsctype in these plugins, and no longer have binary xpcom code
23:43:41 <flo> EionRobb: I don't want to touch the npapi ;)
23:44:15 <clokep> Well there was all that talk about plug-ins going away (a la Adobe abandoning various operating systems).
23:44:47 <EionRobb> *cough* silverlight *cough* ;)
23:44:57 <flo> "Disable Chat History for specified accounts only" is that possible in an API?
23:45:15 <flo> EionRobb: isn't silverlight being abandoned too?
23:45:20 <clokep> Yes.
23:45:39 <clokep> Bah I hate when I re-run Instantbird without recompiling. :(
23:45:52 <flo> clokep: why?
23:46:02 <flo> it's nice to not have to recompile before testing the changes :)
23:46:16 <clokep> Cause I always go "Why aren't my changes working!?" then I realize I did re-build. :(
23:46:18 <clokep> *didn't
23:46:22 <flo> I don't have to recompile when I change something in JS-XMPP
23:46:41 <flo> only my changes in chrome files and preprocessed files need a recompile
23:46:45 <clokep> Well I running make in my IRC folder right now.
23:46:48 <clokep> *I'm
23:49:30 <flo> "Enable per-account error message filtering." can this be done as an add-on?
23:50:58 <EionRobb> you need a way to compile libpurple code into javascript, rather than machine code :)
23:52:15 <flo> EionRobb: would you like to work on that?
23:52:22 <flo> I meant to look at it, but did really get started
23:52:27 <flo> *didn't
23:52:42 <EionRobb> nah, too busy writing libpurple plugins :)
23:52:45 <flo> it may not be very difficult, and it would eliminate the crashing issue
23:52:46 <aleth> flo: Not satisfactorily, but you could filter by (sets of ) source files I suppose
23:52:47 <clokep> EionRobb: You mean like https://github.com/kripken/emscripten ?
23:52:57 <flo> aleth: that's by protocol then
23:53:02 <flo> clokep: yes :-
23:53:03 <flo> )
23:53:04 <EionRobb> clokep: yeah :)
23:53:12 <aleth> flo: yeah :(
23:53:16 <clokep> (Sorry, it took a while to find, I forgot the name.)
23:53:43 <flo> EionRobb: someday you should try to write a protocol plugin in JavaScript with our API so that you can send us feedback about what's good and what sucks in it ;)
23:54:27 <flo> (or fix the sucky parts while you are at it if you feel like it of course :))
23:58:47 <clokep> flo: How are accounts told about status changes again? Did that change or do we still need to observe it all and handle it internally?
23:59:05 <flo> and observer is called automaticlaly
23:59:11 <flo> look at my XMPP code :)
23:59:27 <flo> *an observer
23:59:30 <clokep> :) OK! I wasn't sure you handled it or not.
23:59:43 <flo> uh?
23:59:58 <flo> it's almost ready to land, so not handling status changes would be quite a serious issue ;)