All times are UTC.
00:02:41 <zachlr> update nightly builds every week or so. I assume ib doesn't auto update for non-release versions. 00:02:56 <clokep> Yes it does. 00:03:00 <clokep> Nightly builds update nightly. 00:03:04 <clokep> Automatically. 00:03:10 <zachlr> Oh, really? I didn't know that. 00:03:12 <clokep> (As long as a nightly was built. :)) 00:03:25 <zachlr> Well I don't even need to worry about it then :) 00:04:30 <Mic> If you don't want an update each day just make sure to set it up to ask if it should update 00:04:42 <Mic> Have a look at the advanced preferences then 00:05:07 <zachlr> Presumably that's the only way to do it, since the file on the ftp site hasn't been updated since last year, according to the modified date. 00:05:11 <clokep> Mine usually just updates fire thing in the morning, which works well for me. 00:05:37 <-- micahg has quit (Ping timeout) 00:05:38 <clokep> The file on the ftp site is dated as today? 00:05:53 <Mic> I'm frequently trying things on mine so automatic updates would only interfere 00:06:09 <clokep> My developer laptop I update manually. :) 00:06:26 <zachlr> I see. If I'd known it was that easy I wouldn't have put it off so long. 00:06:51 <clokep> Put what off? Updating? Running nightlys? 00:07:10 <zachlr> installing the nightly build 00:07:16 <zachlr> vs the release 00:10:04 <zachlr> should I install the nightly and replace my current version, or in addition to the current one? 00:10:23 <clokep> I've been using the nightly for...ever...pretty much. 00:10:24 <Mic> At the moment you can even run them on the same profile 00:11:08 <Mic> Some extension are ready for nightly builds only, so they won't run on the release 00:11:34 <Mic> I think I have .. four or five copies of instantbird installed 00:11:39 <clokep> And some must be forced on nightlies. :) 00:11:56 <Mic> yes, indeed 00:12:07 <zachlr> what's that mean? 00:12:56 <Mic> Some extension will work with the nightly builds even though they're not officially compatible 00:13:27 <zachlr> ah, okay 00:13:33 <Mic> Some messagestyle themes as it seems 00:13:53 <zachlr> I've never actually used any of the themes 00:14:05 <clokep> Me neither. 00:14:13 <clokep> I use a lot of extensions though... 00:14:19 <Mic> I changed from simple to bubbles recently 00:14:26 <Mic> Looks quite ok 00:14:32 <zachlr> There aren't that many extensions availiable are there? 00:14:44 <clokep> There's a good amount. 00:14:47 <clokep> Wait a second.... 00:14:51 <clokep> bug 500 00:14:57 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=500 nor, --, ---, nobody, NEW, Improve Join Chat menu 00:14:58 <clokep> Bah. my autolink extension isn't working.... 00:15:01 <Mic> ? 00:15:27 <clokep> Didn't link that for me. 00:15:50 <Mic> LinkBugzilla worked :P 00:16:18 <Mic> I could make that restartless maybe 00:16:57 <clokep> I have 12 installed, 2 disabled. 00:17:09 <clokep> Yes. Something must be broken in it...I don't feel like looking at it right now. 00:17:30 <Mic> I should really release a version of buddy status compatible with the nightlies 00:17:48 <zachlr> I just use the Tray and Status extensions 00:18:10 <Mic> Buddy Status doesn't work with the nightlies at the moment 00:18:15 <clokep> Yes, up the minimum version if you don't want it compatibile w/ both Mic. 00:18:34 <Mic> I should rather reduce the max version atm 00:19:14 <Mic> I have a working version here but it's rewritten to a good part 00:19:21 <Mic> and I haven't really debugged it yet 00:19:29 <clokep> Ah OK. 00:19:41 <clokep> I have 0.2 installed, but disabled it since i don't really like it. :) 00:19:57 <Mic> What don't you like about it? 00:20:24 <zachlr> wait. I have them both installed, but it's telling me just MinimizeToTray is incompatable? 00:20:24 <clokep> I don't like things popping up and annoying me when people sign on. ;) 00:20:31 <clokep> Aka I don't like the whole idea of it haha. 00:20:40 <clokep> But I understand a lot of people do. Almost all my friends have similar things. 00:20:51 <clokep> Oh. MinimizeToTray is definitely not compatible btw. 00:20:56 <Mic> zachlr: it's compatible by version number but won't work 00:21:35 <Mic> well, if you don't mind installing an experimental thing I could upload my development version 00:21:45 <zachlr> oh, okay, so they're both incompatable in some way? 00:23:35 <Mic> Sorry, no idea about MinimizeToTray 00:23:50 * zachlr is now using Instantbird Nightly! :) 00:23:58 <clokep> MinimizeToTray is not compatible. No one has made it AFAIK. 00:24:49 <zachlr> Wait so I'm going to have to keep the window open all of the time? oh well :( 00:25:28 <clokep> Actually...I think he did update it finally. 00:25:39 <Mic> You could try a version from his page 00:26:05 <zachlr> whose page? 00:26:18 <clokep> zachlr: Give me a few seconds. :) 00:26:37 <clokep> zachlr: https://addons.mozilla.org/en-US/firefox/addon/12581/versions/ 00:26:44 <clokep> Download the newest version 0.8b5 00:26:51 <clokep> And then force it to install. I think it will work. 00:27:20 <zachlr> addons for firefox? 00:27:45 <clokep> It's fine. DOn't worry about it. :) 00:28:11 <zachlr> now I'm /really/ confused :P So I download the xpi, and install it on ib? 00:28:34 <clokep> Yes. 00:28:51 <clokep> The extension is made to be compatible with a whole bunch of programs (Firefox, Thunderbird, Instantbird, etc.) 00:29:00 * clokep is testing it. 00:29:08 <zachlr> oh, okay, got'cha 00:29:09 <-- clokep has quit (Quit: Instantbird 0.3a1pre) 00:29:31 --> clokep has joined #instantbird 00:29:31 * ChanServ sets mode +h clokep 00:29:35 <clokep> Works fine. :) 00:29:53 <Mic> Here's my current development version of Buddy Status. It's the only one that works with current nightlies: 00:30:00 <Mic> http://rapidshare.com/files/435983432/buddystatus-0.2.1pre-dev.xpi 00:30:15 <Mic> You even get buddy images on the notification window ;) 00:30:50 <Mic> Works best with square images like on Facebook 00:31:00 <Mic> Looks terrible with others at the moment 00:31:06 <clokep> Hahah. 00:31:44 <clokep> Mic: I'll try it once I restart. :) 00:31:56 <zachlr> Clicking install from file, and selecting a file seems to do nothing? 00:31:59 <Mic> I'm preserving the aspect ratio at least ;) 00:32:15 <clokep> zachlr: Drag & Drop should work. 00:32:27 <zachlr> I tried that too 00:32:34 <clokep> Although Install from file worked fine for me. 00:33:11 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 00:33:12 <zachlr> yeah, it's weird 00:33:33 --> Mic has joined #instantbird 00:33:34 * ChanServ sets mode +h Mic 00:34:16 <clokep> Apparently the guy that makes MinimizeToTray goes to TU Braunschweig ? You know what that is Mic? 00:34:25 <Mic> Error: Cc['@tn123.ath.cx/trayservice;1'] is undefined, Source File: resource://mintrayr/services.jsm 00:34:33 <Mic> That's a university 00:34:45 <Mic> TU means "Technical University" 00:34:58 <Mic> Braunschweig is a town in central to north germany 00:35:25 <zachlr> Tried restarting ib. conclude Install From File is totally broken. 00:35:28 <clokep> Mmhmm. 00:35:42 <clokep> Mic: You got an error using the newest version 0.8b5? 00:35:57 <Mic> oh? 0.8.what? 00:36:13 <Mic> No, 0.5.4 iirc 00:36:16 <Mic> let me see ;) 00:36:45 <clokep> https://addons.mozilla.org/en-US/firefox/addon/12581/versions/ 00:36:56 <clokep> It's a beta version he has there. 00:37:19 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 00:37:34 --> Mic has joined #instantbird 00:37:35 * ChanServ sets mode +h Mic 00:37:37 <-- clokep has quit (Quit: Instantbird 0.3a1pre) 00:37:47 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 00:37:52 --> clokep has joined #instantbird 00:37:52 * ChanServ sets mode +h clokep 00:38:12 --> Mic has joined #instantbird 00:38:13 * ChanServ sets mode +h Mic 00:38:21 <zachlr> Yeah, 0.8b5, that is the one I was supposed to install, right? 00:38:28 <Mic> Minimizing works once you've installed it btw 00:38:42 <clokep> Yes zachlr. Thanks for confirming Mic. 00:38:49 <clokep> I should probably let him know... 00:39:21 <clokep> I don't want to make a github account bah. 00:40:27 <Mic> Having to create an accounts is the biggest obstacle that keep me from commenting or reporting something usually 00:40:36 <zachlr> bugmenot.com? 00:40:55 <clokep> I wouldn't care if I could just use my openID(i.e. my Google account) 00:41:27 <clokep> Mic: What should I have him bump the version to? 0.3a1pre? 00:41:32 * Mic doesn't like google 00:41:35 <Mic> yep 00:41:44 <zachlr> how can you not like google? 00:41:51 <clokep> I hate Google to actually. 00:42:02 <clokep> But my FOSS email is from Gmail, so.... 00:42:05 <Mic> Google's worse than MS. If MS stopped their services today, noone would really notice for a while 00:42:06 <zachlr> btw, Buddy Status 0.2.1pre installed fine 00:42:07 <clokep> I use it for stuff like that. ;) 00:42:20 <Mic> If Google pulled the plug today .. good night 00:42:58 <zachlr> Google is indistructable 00:43:10 <clokep> SkyNet. 00:43:19 <clokep> Look where that got us. 00:43:19 <Mic> Sort of 00:44:30 <clokep> I think I'm about ready to have flo look over my code for IRC. 00:44:39 <Mic> :) 00:44:55 <clokep> Not that it's anywhere near done. 00:45:00 <clokep> But abotu time to look at stuff. 00:45:05 <Mic> Do you have an idea what would be useful to have for jsProtocols in general? 00:45:19 <clokep> I've extend jsProtoHelper a bit already. 00:45:26 <Mic> I saw that 00:45:34 <clokep> By "a bit" I mean I've added a few objects to it. 00:45:49 <clokep> We also want to remove the sockets code from mine and make it general. 00:49:36 <Mic> What about the participants list? 00:50:09 <Mic> Would it be useful to have a premade thing for it? 00:50:35 <Mic> you just push new participants to it or tell it to remove someone? 00:50:59 <clokep> I think so. 00:51:09 <clokep> I actually wrote a function that does that. 00:51:13 <clokep> Uhh...one second. 00:52:01 <clokep> https://hg.instantbird.org/experiments/file/IRC-JavaScript/components/ircProtocol.js#l106 00:56:05 <clokep> Mic: The problem for me with Buddy Status is my Facebook account people sign on/off every 3 seconds. 00:58:55 <zachlr> It'd be useful to be able to enable it for specific accounts only. 00:59:08 <clokep> I think the plan is to use tags? Maybe? 00:59:19 <zachlr> tags? 00:59:31 <clokep> They don't exist in the UI yet, just the backend. 00:59:39 <zachlr> ah 00:59:42 <Mic> I was wondering if I should do it this way 01:00:02 <Mic> actually implementing a sort of level of interest system as mentioned on the wiki 01:00:16 <clokep> I think so, make a tag for each thing "All-Alerts" "Sign-On-Alert" "Sign-Off-Alert" blah blah. 01:02:25 <hicham> Mic : MinTrayR for Windows doesn't work on IB-0.3 yet ? 01:02:42 <clokep> hicham: There's a version that does. 01:02:58 <hicham> clokep: ok 01:17:30 <-- clokep has quit (Ping timeout) 01:17:55 <Mic> nn 01:17:59 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 01:21:16 --> micahg has joined #instantbird 01:24:20 <-- micahg has quit (Input/output error) 01:25:23 --> micahg has joined #instantbird 01:56:06 --> clokep has joined #instantbird 01:56:07 * ChanServ sets mode +h clokep 02:38:21 <-- hicham has quit (Client exited) 04:53:58 <-- zachlr has quit (Ping timeout) 04:56:13 --> zachlr has joined #instantbird 04:59:25 <-- zachlr has quit (Ping timeout) 05:00:12 --> tymerkaev has joined #instantbird 05:03:26 <-- clokep has quit (Quit: Instantbird 0.3a1pre) 05:06:12 * zz_auscompgeek is now known as auscompgeek 05:28:11 <Morian> !8ball Is instantbot going to crash within the next 7 days? 05:28:12 <instantbot> Morian: What are you asking me for? 05:28:26 <Morian> !8ball Are you going to crash within the next 7 days? 05:28:27 <instantbot> Morian: No clue. 06:04:27 --> Even has joined #instantbird 06:04:27 * ChanServ sets mode +o Even 06:25:27 <-- tymerkaev has quit (Ping timeout) 08:24:27 <-- Even has quit (Connection reset by peer) 08:24:51 --> Even has joined #instantbird 08:24:51 * ChanServ sets mode +o Even 08:24:53 --> flo has joined #instantbird 08:24:54 * ChanServ sets mode +qo flo flo 08:26:23 <flo> Good morning :) 08:35:13 --> Even1 has joined #instantbird 08:36:23 <-- Even has quit (Ping timeout) 08:44:34 --> Even has joined #instantbird 08:44:34 * ChanServ sets mode +o Even 08:45:47 <-- Even1 has quit (Ping timeout) 09:03:33 <-- flo has quit (Quit: Instantbird 0.3a1pre) 09:03:53 --> Ornthalas has joined #instantbird 09:23:03 <-- Ornthalas has quit (Quit: KTHXBYE) 09:24:37 <-- micahg has quit (Ping timeout) 09:28:14 * auscompgeek is now known as zz_auscompgeek 10:16:42 --> tymerkaev has joined #instantbird 10:22:56 --> Even1 has joined #instantbird 10:24:08 <-- Even has quit (Ping timeout) 10:31:45 <-- sabret00the has quit (Quit: Leaving) 10:37:18 --> Even has joined #instantbird 10:37:18 * ChanServ sets mode +o Even 10:38:39 <-- Even1 has quit (Ping timeout) 10:53:10 --> Even1 has joined #instantbird 10:54:21 <-- Even has quit (Ping timeout) 11:03:38 <-- Even1 has quit (Connection reset by peer) 11:04:02 --> Even has joined #instantbird 11:04:02 * ChanServ sets mode +o Even 11:12:24 --> Even1 has joined #instantbird 11:13:43 <-- Even has quit (Ping timeout) 11:37:16 --> Even has joined #instantbird 11:37:17 * ChanServ sets mode +o Even 11:38:44 <-- Even1 has quit (Ping timeout) 12:18:29 --> Andrey has joined #instantbird 12:24:35 <-- tymerkaev has quit (Ping timeout) 12:27:43 <-- chrisccoulson has quit (Client exited) 12:41:30 --> Mic has joined #instantbird 12:41:30 * ChanServ sets mode +h Mic 12:42:20 <-- Even has quit (Connection reset by peer) 12:43:09 --> Even has joined #instantbird 12:43:09 * ChanServ sets mode +o Even 12:46:01 --> chrisccoulson has joined #instantbird 12:58:33 --> hicham has joined #instantbird 13:10:18 --> clokep has joined #instantbird 13:10:18 * ChanServ sets mode +h clokep 13:18:09 <Mic> hi clokep 13:24:05 --> tymerkaev_away has joined #instantbird 13:24:18 <-- tymerkaev_away has quit (Quit: I must go. Good bye!) 13:25:11 <-- Even has quit (Connection reset by peer) 13:25:32 --> Even has joined #instantbird 13:25:32 * ChanServ sets mode +o Even 13:27:35 --> flo has joined #instantbird 13:27:35 * ChanServ sets mode +qo flo flo 13:29:00 <clokep> Hi Mic. 13:29:08 --> tymerkaev has joined #instantbird 13:29:28 <flo> Hello all :) 13:30:56 <clokep> Hello. 13:31:01 <tymerkaev> hi 13:31:47 <flo> no new reply from the twitter API team. I guess I'll need to try to use the normal OAuth... :-| 13:35:40 <Mic> flo: what do you mean with your comment on Mossop's blog? 13:36:21 <flo> I would like to know what I should CC myself to to get notified when "serious" discussion happen 13:37:03 <flo> I'm quoting the interesting (for me) parts of the slides linked in the post (the mockup on page 49 especially which looks interesting for us) 13:38:47 <Mic> I didn't look at the slides yet 13:39:06 <flo> ok, I guess the comment is rather cryptic then ;) 13:46:46 <clokep> flo: I think your comment is rather straightforward and doing just what he asked. :) 13:50:55 <Mic> I got it now, and the appearance UI looks interesting. 13:51:17 <Mic> Th two separate parts make clear that you can select one of each imo 13:51:58 <flo> Even: there are 3 httpd processed that have been taking together 100% of the CPU on the server for at least 10 minutes, and make Apache unable to process new requests. 13:58:46 <Mic> lol 13:59:02 * Mic just tried to get his tech news read by a text2speech service 13:59:25 <clokep> Embedded preferences would be a good use of that space. :) I like that idea. 13:59:27 <Mic> "Firefox 3.6.13" ended as "Firefox 3rd of June 2013" 13:59:34 <flo> clokep: http://pastebin.com/C9dcVgiY Am I right that this is the minimum stupid code we have to copy and paste for each new protocol plugin? 14:00:03 <clokep> flo: Ignoring comments I assume? :) 14:00:08 <flo> of course 14:00:15 <flo> and the onConnected method too 14:00:44 <clokep> I think that's the base code, yes. 14:01:31 <flo> I think we could (should?) simplify this a bit 14:01:47 <clokep> Probably. 14:01:55 <clokep> Also you have an extra "get noPassword() true," 14:02:14 <flo> my having an accountPrototype property in the protocol prototype, and moving all the crap like "getAccount: function(aKey, aName) new Account(this, aKey, aName)," and "this._init(aProtoInstance, aKey, aName);" into jsProtoHelper 14:02:28 <flo> s/my/by/ 14:05:17 <clokep> So you want to extend GenericAccountPrototype more? 14:05:20 <clokep> I think that'd be agood idea. 14:05:36 --> rikki1 has joined #instantbird 14:05:41 <-- rikki has quit (Connection reset by peer) 14:06:03 <flo> that would rather be: put a default implementation of getAccount in GenericProtocolPrototype 14:07:14 <clokep> :) Yes, it would probably be a good idea. 14:08:04 --> GeekShadow has joined #instantbird 14:18:17 --> iLobster has joined #instantbird 14:19:14 <iLobster> Greetings. 14:19:58 <clokep> Hello. 14:20:46 <iLobster> What "Internal server error (500)" during check for update can means? It's "Error: no element found 14:20:46 <iLobster> Source File: https://update.instantbird.org/1/Instantbird/0.3a1pre/20101208041804/WINNT_x86-msvc/en-US/nightly/Windows_NT%206.1/update.xml?force=1 14:20:46 <iLobster> Line: 1" in error console 14:21:12 <flo> Even: more work for you! 14:21:51 <Mic> AIO isn't accessible at all and gives a blank page for me 14:21:53 <flo> iLobster: it means we are currently having server issues. Should be fixed in a few minutes or hours 14:22:23 <iLobster> oki, thanks for info 14:22:34 <flo> Even is actively working on it. 14:25:56 <Mic> What about announcing maintenance work like on PMO? So people will know they can savely ignore any problems and just have to check back later? 14:29:04 <flo> Mic: I would have liked to know it before actually ;) 14:32:04 <clokep> flo: I was thinking about it more and it might be good to go over some of the IRC code soonish before it goes wayy too massive. :) Maybe after you've worked on Twitter a bit to see what issues you run into? 14:32:25 <flo> ok. 14:32:36 <flo> this evening? this week-end? next week? 14:33:42 <clokep> Let me think. 14:33:56 <clokep> Is it 6 hours difference between us? 14:34:25 <flo> yes 14:34:48 <flo> but on friday I can stay up and only later ;) 14:34:55 <flo> s/only/online/ :( 14:35:22 <clokep> I hvae class until 2:00 PM EST, so really any time after that would work for me. 14:35:45 <clokep> Maybe a litle after that so I can eat lunch. :) 14:36:17 <clokep> (Or I can do any time after that, as long as it's not like 7 or 8 at night, but that would be like 1 or 2 AM for you.) 14:38:15 <flo> ok. 14:38:43 <flo> I'll probably be available at 10 or 11 pm (my time) and later 14:39:10 <clokep> 4 or 5 here, that's fine. :) 14:50:57 <-- clokep has quit (Ping timeout) 15:00:44 * tymerkaev is now known as tymerkaev_away 15:02:59 * tymerkaev_away is now known as tymerkaev 15:27:58 <flo> "Failed to validate oauth signature and token" hmm... 15:30:55 --> zachlr has joined #instantbird 16:04:23 <-- hicham has quit (Ping timeout) 16:04:36 --> clokep has joined #instantbird 16:04:36 * ChanServ sets mode +h clokep 16:07:47 <clokep> flo: You've probably seen this, but did you check out the Twitter test console thing? http://dev.twitter.com/console 16:08:09 <clokep> Oh, wait...that doesn't show what headers you send. :( 16:08:13 <clokep> That's rather useless haha. 16:08:34 <flo> I guess it's helpful once everything work 16:08:55 <flo> I'm looking for a way to display HTTP requests with their headers in Instantbird 16:09:08 <flo> getting LiveHTTPHeaders or Firebug to work in Instantbird would be great 16:09:32 <clokep> Couldn't you use something like Wireshark to watch the HTTP traffic in the mean time? 16:09:43 <flo> not for HTTPS 16:09:54 <clokep> Ah touche. 16:12:01 <clokep> Oh, actually you can see the request headers haha, but I guess not being able to see them in Instantbird is the bigger issue. :) 16:13:21 <flo> "You should use the POST HTTP method when using this end point. SSL is recommended." Hmm... recommended means I don't have to use it, right? :) 16:13:53 <clokep> Use HTTP until it works. 16:14:21 --> rikki has joined #instantbird 16:14:30 <-- rikki1 has quit (Connection reset by peer) 16:24:49 <flo> wow. The header is really not what I thought I was sending 16:28:38 <flo> too bad the error message is still the same after fixing it :( 16:28:50 <clokep> :( 16:29:13 <clokep> What are you sending? I'm not sure how much I remember all of this stuff though actually. :-\ 16:32:38 <flo> my code and the request sent: http://pastebin.instantbird.com/496 16:33:32 <flo> should have included the hash function too http://pastebin.instantbird.com/497 (although I'm almost sure it works right) 16:35:04 <clokep> It's stil not working? 16:35:11 <-- Even has quit (Quit: Instantbird 0.3a1pre) 16:36:04 <flo> and the things it prints in the terminal: http://pastebin.instantbird.com/498 16:37:17 <clokep> Of what I remember it seems OK...except I thought the nonce was a number not a random set of characters? 16:37:48 <flo> the nonce function is copied from oauth.js 16:37:57 <flo> timestamp too 16:39:06 <clokep> Ah OK. 16:42:17 <clokep> flo: From The console compared to what you sent: http://pastebin.instantbird.com/499 16:42:35 <clokep> Some stuff is in a different order, idk if that matters. 16:43:13 <clokep> And they escaped all the " it seems? 16:43:53 <flo> that escaping seems strange 16:45:04 <clokep> I agree. In fact it seems "wrong", but who knows. 16:45:22 * flo compares to a working request from oauthizer 16:45:47 <flo> http://pastebin.instantbird.com/500 16:46:12 <flo> ignore the leading "N#2PPEp@@NPs6`PU" ;) 16:46:34 <clokep> Haha OK. 16:47:05 <clokep> Oh, he's doing a get request... 16:48:30 <Mic> Since I haven't found it in the chat history: have you checked your system time? (cf http://blainegarrett.com/2009/07/14/failed-to-validate-oauth-signature-and-token-on-twitter-oauth-check-your-cloc/ ) 16:49:27 <flo> if it's wrong, it's not by more than 1 or 2 minutes 16:49:48 <flo> I've seen in several places that twitter may be checking that it's in a 5 minutes interval around the time they have 16:50:16 <flo> but as oauthizer works, I don't think the time is the problem 16:50:35 <flo> there's probably a silly mistake somewhere 16:51:12 <flo> I wonder if the oauth_callback and all the other parameters included in the Authorization header should be repeated as headers or as POST parameters 16:54:27 <clokep> Could see if https://github.com/mdesjardins/buzzbird does something different? 16:54:45 <clokep> I feel like the oauth_callback shouldn't be part of it though. :-\ 17:00:13 <flo> the consumerSecret is in plain text in buzzbird 17:01:34 <clokep> Yes. :) I know. 17:01:44 <clokep> The consumer secret is in my code too that's on Google Code. 17:01:45 <flo> ok, I got a request from buzzbird with Wireshark, but the result displayed in the UI is "Whoops, that didn't work! Want to try again?" 17:02:07 <flo> clokep: yeah, but you haven't released an application with it 17:02:33 <clokep> True. :) 17:03:51 <clokep> Idk if Buzzbird still works. he no longer works on it. 17:04:41 <flo> and buzzbird uses xAuth... 17:06:30 <flo> ah, I guess xAuth doesn't work at all with http, as the password is in plain text in the request 17:06:58 <-- tymerkaev has quit (Ping timeout) 17:07:11 <clokep> Haha, he probably just failed to mention that it's OSS. 17:08:22 <flo> right 17:08:33 <flo> (= buzzbird works if I revert the URL to https) 17:08:54 <flo> the error received in HTTP was 403 forbidden, not 401 17:12:48 <flo> so this is a correct OAuth request: http://pastebin.instantbird.com/501 17:13:35 <clokep> So the spaces are messing it up? 17:13:57 <flo> the spec says the parameters should be separated by a comma and optional whitespace 17:14:32 --> micahg has joined #instantbird 17:14:35 <flo> hmm, I think now I'll put my key in oauthizer to ensure it really works. 17:14:57 <clokep> What was different? The spaces? 17:15:16 <flo> no idea 17:15:56 <flo> there's also the added realm="" at the beginning of the header, but the spec says it's optional too. 17:17:55 --> Even has joined #instantbird 17:17:55 * ChanServ sets mode +o Even 17:19:06 <-- micahg has quit (Ping timeout) 17:21:29 <clokep> Ah, I see. What's it for anyway? 17:22:42 <flo> I'm not sure, but you are supposed to put a domain name there, so maybe to avoid identifying the request for a wrong subdomain, or something... :-S 17:23:06 --> micahg has joined #instantbird 17:26:20 <flo> my key doesn't seem to work in oauthizer :-S 17:28:55 <clokep> :-\ 17:28:59 <clokep> Try using mine? 17:30:40 <-- Andrey has quit (Quit: ) 17:31:32 <flo> clokep: the oauthizer key doesn't work in my code though ;) 17:31:43 <clokep> Ah, I see. 17:46:46 <clokep> I hate oauth, it's so overly complicated. :-\ 17:52:44 <flo> ahah, I found a bug in my implementation :) 17:52:57 <flo> the callback URI needs to be URL encoded before URL encoding it again 17:53:55 <clokep> Seriously? 17:53:59 <clokep> Isn't that a big...excessive? 17:54:01 <flo> yes 17:56:23 <flo> ah, but that's only when building the signature base, not the authorization header where it needs to be encoded only once. Grrr. 18:00:26 <flo> Received response: oauth_token=RlRM86aYSzpj7xyrCQoMeF02cZU7VmUN5bbuTfpWk&oauth_token_secret=JuuNPxJ6aj1BlQxEzQvyPO0dBCSiLIF0HeVfBzhm8&oauth_callback_confirmed=true 18:00:29 <flo> :) 18:01:48 <flo> that was with oauthizer's key 18:02:15 <clokep> :) Congrats. 18:02:15 <flo> with mine I receive this instead: http://pastebin.instantbird.com/502 18:02:38 <clokep> Oh, did you choose desktop application when you registered? :-\ 18:02:55 * flo feels the need to punch someone in the head. 18:03:16 <clokep> flo: Use application type Browser. 18:03:20 <flo> clokep: I think so. I don't see how I would have requested xAuth otherwise 18:03:29 <clokep> Ohhh...probably. 18:03:53 <clokep> To use a callback it must be a Browser. 18:04:09 <flo> that didn't prevent that first reply from saying "Thank you for your interest in xAuth. Unfortunately, website-based applications will not be given access to xAuth and must use the normal OAuth workflow instead." 18:07:23 --> tymerkaev has joined #instantbird 18:07:33 <flo> so, how long will it take for them to apply the new setting? 18:08:03 <flo> seriously, why did they need to put that silly restriction? 18:09:54 <clokep> I don't know how long it'll take them to apply it? :-\ I can go into edit and it gives me an option thinking it could happy immediately? 18:10:13 <flo> I changed it there, but still get the error message 18:10:32 <clokep> Oh. :-\ 18:10:44 <flo> oh, it's even nicer than that :-D 18:11:15 <flo> you change it, then click on "Save", it returns to the page with the summary saying it's been saved and... nothing! It's still the same when coming back to "Edit settings" 18:12:18 <flo> ah, that was because I didn't fill the useless "Callback URL:" field 18:13:16 <flo> ok, now it works. 18:13:24 <flo> next request... 18:14:05 <clokep> :) 18:16:46 --> kaie has joined #instantbird 18:23:42 <-- micahg has quit (Input/output error) 18:29:09 <flo> so now I need to figure out how I can open a browser from the protocol plugin code :-S 18:30:05 <Even> Little news : the update system now returns valid answers to requests 18:30:22 <flo> cool :) 18:30:42 <Even> Was php_mysqli missing, as I expected 18:30:58 <Even> As soon as it was compiled and a little apache restart later, it was fixed. 18:30:59 <clokep> flo: Notifiy the UI and make a "I need a browser element to authenticate" component? 18:31:46 <Even> And about the "bad mozilla build" thing related to the IRC notification, updating to yesterday's afternoon nightly did not help 18:32:36 <Even> I had a grey one today before getting home (home sweet home!) 18:32:56 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 18:33:35 <flo> "getting home (home sweet home!)" such a good idea! Let me do the same and ponder the solutions for that stupid browser while driving 18:33:40 <flo> back later! ;) 18:33:54 <Even> k 18:34:02 <Even> I will let you. 18:34:03 --> Mic has joined #instantbird 18:34:03 * ChanServ sets mode +h Mic 18:34:14 <Even> But only because I'm a good guy ;Ã 18:34:16 <Even> ;) 18:34:16 <-- flo has quit (Quit: Instantbird 0.3a1pre) 18:34:37 <clokep> Even: If you join another channel after you've been running does the topic bar work OK? Mine does. 18:34:53 <clokep> I only get the gray one for channels that autojoin. 18:34:56 <Even> Don't know. I can't try here. 18:35:04 <clokep> OK. :) 18:35:11 <Even> So bad :) 18:35:18 <Mic> clokep: do mesages from services affect this? 18:35:26 <Mic> *messages 18:35:41 --> hicham has joined #instantbird 18:35:45 <clokep> Mic: Idk I have nickserv killer. 18:36:18 <Mic> I'll get that one and try again 18:38:00 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 18:38:10 --> Mic has joined #instantbird 18:38:10 * ChanServ sets mode +h Mic 18:38:28 <Mic> Ah :) 18:38:34 <clokep> Is that the issue? 18:38:38 <Mic> Now the topic bar is gone for me as well 18:39:15 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 18:39:33 --> Mic has joined #instantbird 18:39:33 * ChanServ sets mode +h Mic 18:39:36 <clokep> Hm. I wonder what's affecting it... 18:40:31 --> micahg has joined #instantbird 18:42:22 <Mic> We don't have a bug on this yet as it seems 18:42:39 <clokep> No. I don't think we ever filed. :-[ 18:43:29 <Mic> Is there anything more to it than was said before? 18:44:10 <Mic> Even: do you also have NickservKiller? 18:45:01 <Mic> When did the problem start by the way? 18:45:12 <clokep> Mic: a few days ago. 18:45:23 <clokep> Either two or three I believe. 18:47:14 --> DGMurdockIII has joined #instantbird 18:48:35 <Even> Mic: yes, I'm using NickServKiller.... 18:49:00 <Even> clokep: I concur, with you, not more than 4 days 18:50:48 <clokep> Mic: You wrote the notification code, right? Any ideas? :) 18:51:03 <Mic> Yes, I did 18:51:06 <Mic> No, not at all 18:51:20 <Mic> Seems to be only a visual problem 18:51:39 <Mic> Double clicking the area changes its height, like it does when entering the edit mode 18:51:57 <Mic> Clicking where the close icon should be removes the blank space so I assume it really closes 18:52:05 <Mic> I haven't look at it with DOMi yet 18:52:40 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 18:52:47 --> Mic has joined #instantbird 18:52:47 * ChanServ sets mode +h Mic 18:53:53 <-- clokep has quit (Ping timeout) 18:57:38 --> Ornthalas has joined #instantbird 19:00:31 <DGMurdockIII> 2(Even2): have you seen this http://dev.guardedcode.com/projects/ircutils 19:00:56 <Even> Not at all. 19:02:36 <Mic> Even: What OS are you using when seeing this problem? 19:02:47 <Even> Win7 19:07:12 --> clokep has joined #instantbird 19:07:13 * ChanServ sets mode +h clokep 19:08:20 <instantbot> New Instantbird (UI) bug 617 filed by benediktp@ymail.com. 19:08:21 <instantbot> benediktp@ymail.com added attachment 415 to bug 617. 19:08:23 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=617 nor, --, ---, nobody, NEW, Display problem with topic bar 19:08:42 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 19:08:54 --> Mic has joined #instantbird 19:08:54 * ChanServ sets mode +h Mic 19:09:18 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 19:09:26 --> Mic has joined #instantbird 19:09:26 * ChanServ sets mode +h Mic 19:09:31 topic changed by Mic to "Ask questions about Instantbird here. Official website: http://www.instantbird.com. Latest release: 0.2. Read http://blog.instantbird.org/. Nightlies: http://nightly.instantbird.im/ (testing purpose only), IRC logs: http://log.bezut.info/. | ICQ troubles-> http://tinyurl.com/ICQError" 19:09:37 <Mic> ups 19:10:25 <Mic> These new graphics glitches are annoying 19:10:32 <-- clokep has quit (Quit: Instantbird 0.3a1pre) 19:10:39 --> clokep has joined #instantbird 19:10:39 * ChanServ sets mode +h clokep 19:12:18 <-- Mic has quit (Quit: Instantbird 0.3a1pre) 19:12:27 --> Mic has joined #instantbird 19:12:27 * ChanServ sets mode +h Mic 19:25:49 <Mic> zachlr: everything working fine after the update? 19:58:28 <-- hicham has quit (Ping timeout) 20:35:39 <-- chrisccoulson has quit (Quit: Ex-Chat) 20:42:32 <-- GeekShadow has quit (Quit: The cake is a lie !) 20:43:17 --> chrisccoulson has joined #instantbird 20:48:04 <-- clokep has quit (Quit: Instantbird 0.3a1pre) 20:48:07 --> clokep has joined #instantbird 20:48:08 * ChanServ sets mode +h clokep 21:04:18 <-- tymerkaev has quit (Ping timeout) 21:32:13 --> flo has joined #instantbird 21:32:13 * ChanServ sets mode +qo flo flo 21:41:57 <flo> so is the problem with the topic bar only with NickServKiller? 21:42:15 <clokep> flo: Yes. 21:42:29 <flo> or is it when the first tab of a window is a chat? 21:43:10 <flo> to test it, one of you could disable nickservkiller and check that option to group chats in a separate window. 21:43:44 <clokep> I'll try it on my other machine. :P One second. 21:44:00 <flo> there's no rush ;) 21:44:04 <clokep> Wait, if you disable nickservkiller the issue goes away. 21:44:10 <flo> I'm getting your IRC code 21:45:08 <clokep> OK. I just pushed changes 20 minutes ago? 21:45:20 <clokep> Or rather 7. :) 21:45:31 <flo> just pulled 11 changesets 21:46:11 <clokep> I'm sure you have the newest. :) 21:47:08 <flo> so where do we start? the irc component or the changes to jsProtoHelper? 21:47:24 <clokep> Start w/ jsProtoHelper. 21:48:07 <clokep> I added GenericChatConversationPrototype and GenericConvChatBuddyPrototype I believe. 21:49:09 <flo> http://pastebin.instantbird.com/503 21:49:45 <flo> the setBaseURI thing looks like something I've removed after you forked 21:49:59 <clokep> Yeah, I probably just never removed it. 21:52:19 <flo> you should remove the _lastId: 0, line (first line in GenericChatConversationPrototype) 21:52:48 <clokep> OK. 21:53:25 <flo> and I really need to rewrite the conversation handling so that the ids are generated by a service shared between all protocol plugins 21:53:47 <flo> those ids are supposed to be unique across all the life of the process. 21:53:58 <clokep> But for now what I have is OK? 21:54:21 <flo> not more broken than what I already put there ;) 21:55:23 <flo> what was the problem when doing GenericChatConversationPrototype.__proto__ = GenericConversationPrototype;? 21:55:33 <clokep> It didn't properly inherit. 21:55:59 <clokep> I didn't really figure out the issue, but it was keeping me from actually working on stuff, so I gave up and just copied the Conversation prototype for the parts I needed. 21:56:11 <flo> ok 21:56:52 <flo> I guess I'll need to figure it out :) 21:58:34 <flo> if you have an object that only implements purpleIConvChat you can remove the purpleIConvIM specific stuff from it: http://lxr.instantbird.org/instantbird/source/purple/purplexpcom/public/purpleIConversation.idl#102 21:59:12 <clokep> I thought I did, but perhaps I missed part. 21:59:51 <flo> sendTyping, and most likely updateTyping are useless 22:00:00 <flo> setBaseURI too! :) 22:00:18 <clokep> Oh, yes. Just saw those three. :) 22:00:20 <clokep> Thanks. 22:03:28 <flo> in the getParticipants function you are creating a new array that is a snapshot of the current state of _participants, right? 22:05:57 <clokep> I set up this._participants as an object. 22:06:21 <clokep> So it would contain _participants["flo"], _participants["clokep"], etc. 22:06:34 <clokep> So it needs to convert it to an array. 22:06:51 <-- micahg has quit (Ping timeout) 22:06:55 <clokep> Idk if there's a better way to keep track of the ConvChatBuddy or not. 22:06:58 <-- kaie has quit (Quit: Leaving) 22:07:03 <iLobster> nn 22:07:06 <-- iLobster has left #instantbird () 22:09:22 --> hicham has joined #instantbird 22:09:35 <flo> clokep: _participants: [], <-- that looks a lot like an array to me 22:11:03 <-- chrisccoulson has quit (Connection reset by peer) 22:11:16 <clokep> Yes, it should be an object. 22:11:35 <clokep> I believe the correct term is a "map"? Right? We need to be able to look people up by their nick. 22:12:16 <-- DGMurdockIII has quit (Connection reset by peer) 22:12:48 <flo> clokep: where is your object created? 22:12:54 --> chrisccoulson has joined #instantbird 22:12:58 <clokep> In ircProtocol.js 22:13:29 --> DGMurdockIII has joined #instantbird 22:13:44 <clokep> (I changed it to _participants: {} btw -- it should definitely be that.) 22:14:01 <flo> I don't see where in ircProtocol.js 22:14:26 <clokep> Chat inherits from that. 22:14:31 <clokep> And has the IRC specific code. 22:14:48 <clokep> And _getParticipant function in that creates the components of _participants 22:15:25 <flo> I'm looking for <something>._participants =<something> and find no result in ircProtocol.js 22:16:19 <flo> adding things into the array/object of the prototype is incorrect, those things would become shared across all the conversation objects. 22:16:28 <clokep> Line 108 is what I was talking about. 22:16:44 <clokep> Alright. 22:17:06 <flo> you need to create a new array/object in the constructor (or here I would suggest the _init method which is in jsProtoHelper) 22:17:21 <clokep> Wait, I'm confused. 22:17:47 <flo> you have this._observers = []; in _init, you should have this._participants = {}; there too. 22:17:55 <clokep> OK. 22:18:17 <flo> oh well, just move the _participants: {}. The prototype doesn't need it. 22:18:49 <flo> still confused? don't hesitate to ask if it's unclear :) 22:19:13 <clokep> I just didn't realize that things were shared like that in JavaScript, but I guess I was using different things different ways. 22:19:19 <clokep> Some that way, some assuming they'd be recreating. :) 22:19:25 <clokep> s/creating/created. 22:19:50 <flo> if you tested with only a single conversation, you probably didn't notice the issue ;) 22:20:21 <clokep> I was gettin errors with two, but hadn't debugged yet. :) 22:22:13 <flo> I wonder if Object.keys(this._participants) is doing the same thing as your 3 lines of code in getParticipants 22:24:02 <clokep> Probably. 22:24:04 <clokep> I think so. 22:24:22 <clokep> Is there a better way to keep those btw? 22:24:42 <clokep> Wait, no it doesn't. 22:24:47 <clokep> Object.keys returns an array of the keys. 22:24:52 <clokep> I'm creating an array of the objects. 22:25:11 <flo> probably need to add .map(function (k) this._participants[k]) 22:27:58 <flo> const GenericConvChatBuddyPrototype = { ... } <-- this is an assignment, and should have a ; at the end 22:28:17 <flo> (same for const GenericChatConversationPrototype = {) 22:28:58 <clokep> k :) 22:31:12 <flo> the nsIClassInfo implementation in GenericConvChatBuddyPrototype is missing a few things 22:31:36 <Mic> Automatic ;-insertion to the rescue? ;) 22:31:54 <clokep> contractID and such? Or...? 22:32:03 <flo> yes 22:32:32 <flo> classDescription, contractID, getHelperForLanguage, implementationLanguage, flags 22:32:34 <clokep> I just copied that block from above. 22:32:56 <flo> I'm lookint at the implementation in GenericProtocolPrototype 22:33:47 <flo> you can probably copy the whole block and change the name of the interesting interface 22:34:01 <flo> or take it from Message.prototype 22:34:10 <flo> I don't remember the meaning of .DOM_OBJECT 22:34:39 <flo> mdc says "Specifies that this class is a DOM object. ". Thanks, that helps a lot! :-P 22:35:45 <clokep> :) 22:38:31 <flo> hmm, iirc if it's a DOM object, the consumer will have the right to set random properties on the object (those properties won't be visible from the original implementation which is still "safe") 22:38:43 <flo> I don't think it matters either way here 22:39:43 <clokep> OK. 22:40:15 <flo> I don't remember how the alias of purpleIConvChatBuddy is used, but if it's as in the buddy list (.alias || .name), you will want to set the default value to an empty string 22:40:53 <clokep> OK. 22:41:30 <flo> ok, lxr tells me it's not used at all... 22:42:04 <flo> I'll try to look into the inheritance problem later, let's look at the other more interesting file :) 22:42:19 <clokep> OK. :) 22:43:54 <flo> hmm, dump... we will probably need to provide a better way to report debugging information. 22:44:20 <clokep> Probably, but it works well for what I need right now. :) 22:44:34 <flo> sure 22:45:06 <flo> the LOG function (not exported) of jsProtoHelper does the same 22:45:36 <clokep> Maybe we should export it in case we ever have better logging facilities? 22:47:08 <flo> there was a log4moz.js module in oauthizer, maybe we should see if it's interesting 22:47:38 <clokep> It's from https://wiki.mozilla.org/Labs/JS_Modules#Logging 22:47:54 <flo> ok 22:50:40 <clokep> Let me know if something isn't clear. :) 22:51:25 <flo> the reason why you need to this.notifyObservers(null, "update-conv-title"); for a new conversation ;) 22:51:41 <flo> the code around that in conversation.xml doesn't look great 22:52:11 <clokep> When I was making new conversations it was also "Chat Conversation" as the title, so I figured I'd notify the observer it changed, it worked. :) 22:52:44 <flo> and if you swap the order of this._init and this._name? 22:53:12 <clokep> That worked. :) 22:54:27 <flo> we could also add aName as a second parameter of _init and let it handle it 22:55:11 <clokep> Yes. 22:56:25 <flo> get name() this._name, can move to the generic prototype too 22:56:34 <flo> with _name: "Chat Conversation", 22:56:40 <clokep> OK. :) 22:57:28 <clokep> Also the topic and topic setter? 22:57:34 <flo> (nit) this.notifyObservers(null,"chat-update-topic"); <-- missing a space after the coma 22:57:51 <clokep> OK. 22:58:06 <flo> yes 22:58:08 <clokep> setTopic isn't what is used when the UI set's the topic, correct? 22:58:46 <flo> I don't know how the UI does it 22:58:50 <flo> Mic probably knows better ;) 22:59:06 <Mic> hmm? 22:59:07 <clokep> I'm realizing I might have thought that did the wrong thing. :) 22:59:16 <Mic> Let me have a look 23:00:10 <Mic> Iirc I', just sending a /TOPIC command and the UI and everything related gets updated after the server responds with the new topic 23:00:23 <Mic> *I 23:00:44 <flo> ahah! 23:00:45 <clokep> Mic: If I double click in the topic UI after I hit enter, what happens? 23:01:03 <flo> clokep: http://lxr.instantbird.org/instantbird/source/instantbird/content/topicNotification.xml#107 23:01:04 <clokep> How does the protocol know to send the command I guess I'm asking? Do you just manually send "/topic..."? 23:01:05 <Mic> Should go back to edit mode again 23:01:10 <flo> it sends a /topic command into the conversation 23:01:14 <Mic> yep 23:01:21 <clokep> Ah, I see. :) 23:01:28 <flo> that's crappy 23:01:34 <clokep> I think it should probably do a "changeTopic" in the protocol or something. 23:02:02 <flo> http://lxr.instantbird.org/instantbird/source/purple/purplexpcom/public/purpleIConversation.idl#133 the "topic" attribute should just be settable 23:02:07 <Mic> flo: I'm sure you reviewed that back then ;) 23:02:39 <Mic> Would be much better, the /TOPIC solution is quite IRC centric 23:02:54 <flo> Mic: yeah, I'm not accusing you of hiding crappy code :). 23:03:05 <flo> I've probably said at the time "we will need to fix that later" 23:03:57 <flo> clokep: I don't understand the _getParticipant function 23:04:38 <flo> or if I understand it correctly there are 2 bugs in it. 23:04:41 <clokep> It attempts to return the object for the wanted participant of a chat, if the participant isn't in the chat yet, it creates the object and returns it. 23:05:18 <flo> ok 23:05:38 <clokep> Bugs would not surprise me. :) 23:05:44 <flo> so first, why is the check done with a normalized nickname, and the rest of the function with the original parameter? 23:05:58 <clokep> Because it's wrong. :) 23:06:21 <flo> add aNick = normalize(aNick, true) as the first line maybe 23:06:26 <clokep> Yes, did that. :) 23:06:31 <flo> or let nick = ... if you don't want to override the parameter value 23:06:38 <clokep> Except...that's wrong as well. 23:07:00 <flo> (by the way, coding style nit, removeStatus -> aRemoveStatus in normalize) 23:07:03 <clokep> ConvChatBuddy needs the real nick, not the normalized one. 23:07:36 <flo> ok, so let nick = ... :) 23:08:38 <Mic> A _get function that changes the participants list sounds misleading 23:08:39 <clokep> Yes. :) 23:08:51 <Mic> What about renaming it? 23:08:58 <flo> ! :) 23:09:17 <flo> clokep: second bug, what happens if my nick is "toString"? :) 23:09:35 <clokep> Perhaps, it's meant to ALWAYS return it. The places where it's used are when we need to find it or create it and return it -- idea for a better name Mic? 23:09:45 <clokep> flo: That sucks. :) 23:10:00 <clokep> It gets normalized to "tostring" and saved that way. :) 23:11:09 <flo> ok, then my nick is __proto__ :) 23:11:39 <clokep> I say ouch and my code crashes? :) How would I fix that? 23:12:21 <flo> replace if (!this._participants[nick]) by if (!this._participants.hasOwnProperty(nick) 23:13:37 <flo> another ; missing after Chat.prototype = { ... } 23:14:17 <clokep> flo so then I could access the buddy via ["__proto__"] and the real proto via .__proto__? 23:14:23 <clokep> (Just making sure I understand.) 23:14:49 <Mic> clokep: sorry, I can't come up with a good other name either 23:15:18 <Mic> why don't you add something for disambiguation? 23:15:19 <clokep> "get" kind of makes sense since you're "getting" the participant. :) But you're right "get" is usually read-only. 23:15:21 <flo> .__proto__ would give you the buddy too, until you delete it 23:15:27 <clokep> Ah OK. 23:15:47 <Mic> Do the keys actually be the name of the participant? 23:15:53 <Mic> Can't you just prepend something? 23:15:58 <clokep> Sorry, what? 23:16:33 <clokep> You mean can't I just prepend b_ or something so they an never overwrite __proto__ or whatever? 23:16:38 <Mic> yes 23:16:55 <flo> I don't think we need such a hack 23:16:55 <clokep> Eh, I don't think it really matters. I'm not using any other properties of _participants. 23:17:45 <Mic> Using an object as associative array is a hack in itself imo;) 23:17:46 <-- chrisccoulson has quit (Connection reset by peer) 23:18:09 <clokep> But it's an /accepted/ hack. :) 23:18:15 <flo> Mic: using JS instead of writing is asm is a hack too :-P 23:18:25 <Mic> hmm? 23:18:31 <flo> s/is/in/ 23:21:01 <flo> let mode = {}; mode["@"] = "op"; mode["%"] = "halfOp"; mode["+"] = "voiced"; if (aName[0] in mode) this[mode[aName[0]]] = true; 23:21:04 <flo> is this shorter? 23:21:39 <flo> the creation of the mode object could be moved out of the ConvChatBuddy constructor so that it's created only once. 23:22:04 <clokep> Probably. 23:22:21 <clokep> That's IRC specific, isn't it flo? 23:22:40 <flo> yeah. 23:22:50 <-- rikki has quit (Ping timeout) 23:22:52 --> rikki has joined #instantbird 23:22:54 <flo> outsite of the constructor = 3 lines above in the same file 23:23:57 --> chrisccoulson has joined #instantbird 23:24:04 <clokep> Sorry, I didn't catch that flo. 23:24:05 <flo> I'm not really a fan of the switch/case construction. It's easy to forget a "break" 23:24:55 <clokep> OK. 23:25:07 <Mic> let mode = { "@": "op", "%": "halfOp", "+": "voiced"}; should work as well in this case, if I'm not mistaken 23:25:20 <clokep> I just did that. :) Trying it now. 23:25:33 <Mic> Error console says yes :) 23:25:37 <flo> Mic: I think you will be disappointed 23:25:39 <flo> ah? 23:26:03 <flo> what's your error console saying? 23:26:15 <Mic> var mode = { "@": "op", "%": "halfOp", "+": "voiced"}; mode["%"] 23:26:16 <clokep> Mic: That works. 23:26:19 <flo> mine says "invalid label" 23:26:24 <Mic> outputs halfOp 23:27:50 <flo> ah, I understand. It needs something to understand that it's a value and not some code inside a code block. 23:27:56 <flo> ok, it's even shorter then :) 23:28:11 <flo> then "const mode", not var :) 23:28:33 <clokep> Should the mode be defined outside the function then? 23:28:33 <Mic> I'm always using var on the error console 23:29:26 * clokep thinks flo isn't gonna like the switch statement that's coming up then. ;) 23:29:29 <flo> hmm. I'm not sure the performance difference would be noticeable, so I guess whatever is most readable is ok 23:30:00 <flo> Mic: I tend to put things inside (), that works too :) 23:30:56 <flo> can't this get name() this._name thing be moved to jsProtoHelper? 23:31:21 <flo> and then ConvChatBuddy.prototype = GenericConvChatBuddyPrototype; 23:31:32 <clokep> Yes. :) 23:32:32 <clokep> Is there any particular reason I can't just store stuff in name btw? 23:32:36 <clokep> And it has to be a getter? 23:33:26 <flo> probably not 23:34:29 <clokep> OK. 23:35:36 <flo> _conversations: {}, and _buddies: {}, in Account.prototype sound like things that should go inside the constructor with an "=" instead of ":" 23:36:18 <clokep> Probably all of those things should be? 23:36:38 <Mic> flo: sorry for interrupting, but why is it better to do it this way (moving them to the constructor) 23:36:42 <clokep> I need to put them in the constructor with = if they'll be different for every object created, right? 23:36:43 <flo> only the array and object 23:36:58 <flo> clokep: yes 23:37:38 <clokep> But only for objects/arrays? For just a variable they'll be unique each time I create it? 23:39:17 <flo> Mic: try this in the error console: http://pastebin.instantbird.com/504 23:40:43 <flo> clokep: the simple values don't exhibit this problem because you can't modify them, so if you change the value, you will necessarily assign the new value, which will override the prototype value for this instance only. 23:41:17 <clokep> Ah, OK. :) 23:41:29 <clokep> Inheritance in JS is very strange :-\ 23:41:52 <Mic> That is strange 23:41:56 <flo> it's very logical once you understand it correctly... and very different from what people know. 23:42:16 <clokep> I'm used to Java's form of inheritance, but it's all honestly very fuzzy at this point. 23:42:27 <flo> Mic: no, it's not. The prototype is an object shared by all instances. 23:43:38 <clokep> flo: I believe the next part is the fun part? :) 23:43:49 <flo> the big switch? 23:43:57 <clokep> No. The socket code. 23:44:00 <flo> ah 23:44:04 <clokep> Which should be removed and made more...general. 23:44:31 <flo> didn't you say you had a bug with some messages cut in the middle by the way? 23:44:40 <clokep> Yes. 23:44:59 <flo> it's probably caused by the code in the onDataAvailable function 23:45:00 <clokep> I think it has to do with the onDataAvailable cutting in the middle. 23:45:06 <clokep> Yes. :) 23:45:26 <flo> it should not attempt to handle the last item of the data array 23:45:43 <clokep> I wasn't sure if that was the proper way to handle it or not and just left it. 23:45:46 <flo> and keep that for the next time 23:46:01 <clokep> Do I need to manually keep it? Like create a buffer variable and add it back in? 23:46:08 <flo> I don't know if that's "the proper way", but if should make the bug disappear 23:46:33 <flo> I don't know that API well enough 23:46:44 <clokep> The documentation is pretty eh on it. 23:46:53 <flo> maybe you can push it back to handle it the next time onDataAvailable is called 23:47:02 <clokep> I feel like I could use count, but only if I got the same # of characters each time. 23:47:21 <flo> Mic: is it clear now or do you need more explanation / to sleep on it? :) 23:48:22 <Mic> the latter ;) 23:51:31 <flo> clokep: for now I would suggest you just store the incomplete data in a string buffer inside your object 23:52:50 <clokep> flo: I just wrote some code for that. I think it'll work... 23:53:37 <flo> what were these empty messages? ( if (data[i].length) // Skip empty messages) 23:53:49 <clokep> They're gone now. :) 23:53:59 <flo> was always the last one? ;) 23:54:02 <clokep> When you split on \r\n, you'd end up with an empty string at the end. 23:54:10 <clokep> Yes. But now I just set that to the buffer and voila it should all work. 23:54:27 <flo> seems great 23:54:45 <flo> I hope it will work better after all those changes :) 23:55:10 <clokep> Ah, I hope it will work at all. :) 23:55:40 <flo> I thought it was already usable. :-) 23:56:34 <flo> _connnectionRegistration remove an "n" :) 23:56:44 <clokep> I hope I don't break it I mean! :) 23:57:59 <flo> I'm looking at _connnectionRegistration. Is the RFC really asking for the password before the nick? 23:58:09 <flo> that seems a strange order 23:58:41 <clokep> http://tools.ietf.org/html/rfc2812#section-3.1 23:58:57 <clokep> RECOMMENDED ORDER: 1 Pass message, 2. Nick message, 3. user message 23:59:07 <clokep> I guess if you don't have the pass it doesn't even like you on at all. 23:59:13 <clokep> Since the password has nothing to do with your nick? 23:59:54 <flo> those people are crazy :-D