All times are UTC.
00:05:51 <nhnt11> clokep: So Mozilla has string.trimRight() (non-standard), can we use that? 00:07:25 <nhnt11> Do we (want to) support sending trailing whitespace on purpose? 00:07:54 <clokep> nhnt11: We have to for OTR. :P 00:08:08 <nhnt11> I mean, displaying trailing whitespace. sorry 00:08:22 * clokep isn't sure what you're asking. 00:08:28 <clokep> nhnt11: And yes, we can use trimRight(). 00:08:50 <nhnt11> clokep: The submitted patch will remove whitespace that OTR didn't add 00:09:06 <nhnt11> (i.e. if someone purposefully typed a message with trailing whitespace, it will get trimmed) 00:09:32 <clokep> nhnt11: Right so I talked about that earlier, is there a usecase for caring about that? 00:10:10 <clokep> (I don't think so.) 00:11:49 <nhnt11> clokep: Is there a use case for displaying leading whitespace? 00:11:54 <nhnt11> if not, we can just trim() then 00:12:02 <clokep> nhnt11: Yes, indentation for code. ;) 00:12:07 <nhnt11> hmm 00:12:22 <clokep> (I think Mook_as made us fix that at some point.) 00:12:40 <flo-retina> yeah, leading whitespace has been broken in the past, and it's been super painful. Especially for people writing python code ;) 00:12:47 --> BlueMaxima has joined #instantbird 00:13:29 * nhnt11 thinks that sending trailing whitespace is a weird way to communicate that we have OTR 00:13:47 <clokep> Why? 00:13:52 <flo-retina> nhnt11: especially for XMPP, where the protocol can trivially be extended :( 00:14:24 <clokep> Btw, to be clear, that's not an IB thing, it's an OTR thing. :-D 00:14:32 <nhnt11> clokep: I know it is 00:14:34 <nhnt11> flo-retina: right, and xmpp is one of the most widely used protocols... 00:14:54 <clokep> I don't know if it was when OTR was designed. 00:15:08 <nhnt11> hasn't XMPP been around for ages? :S 00:15:10 <nhnt11> (google talk?) 00:15:21 <clokep> Doesn't mean it was *widely used*. :) 00:15:28 <clokep> And Google Talk hasn't been around for *that* long. 00:16:21 <nhnt11> Hmm, OTR is a year old than Google Talk 00:16:21 <nhnt11> OK 00:16:31 * nhnt11 didn't know that 00:20:32 * nhnt11 wonders if Unicode was popular when OTR was invented 00:20:42 <clokep> Is it not now? :-D 00:21:09 <nhnt11> It would have been nicer to use a sequence of invisible Unicode characters (I suspect one or two exist) that can't be typed on standard keyboard layouts vs. whitespace 00:22:04 <nhnt11> U+FEFF would work (zero width no-break space) 00:22:26 * nhnt11 shrugs 00:22:47 <nhnt11> (there's also U+200B (zero width space) if anyone is interested :P) 00:22:59 <clokep> I think certain protocols are ASCII? 00:23:16 <clokep> (And things like IRC theoretically don't have an encoding at the proto level) 00:23:26 <nhnt11> yeah ok 00:23:35 * nhnt11 was just sad that someone had to make that decision 00:26:26 <arlolra> nhnt11: thanks for the review 00:26:36 <arlolra> maybe you're excited to review this too 00:26:36 <arlolra> https://bugzilla.mozilla.org/show_bug.cgi?id=1175706 00:26:39 <instantbot> Bug 1175706 nor, --, ---, nobody, UNCO, Listen for logging pref changes 00:26:55 <nhnt11> ah yeah, that was in my queue. sorry for the dealy 00:26:57 <nhnt11> dleay* 00:26:59 <nhnt11> delay* 00:27:01 <arlolra> ha 00:27:04 <nhnt11> too much caffeine :D 00:27:16 <arlolra> i was going to say no problem 00:27:20 <arlolra> but maybe that's a problem 00:27:26 <nhnt11> heh 00:29:17 <flo-retina> arlolra: by the way, how are things progressing for the gcrypt/NSS thing? 00:31:27 <arlolra> I started working on it but then priorities a few other things. I've given myself the hard deadline of july 17th to get that doen 00:31:29 <arlolra> done 00:31:33 <arlolra> flo-retina: ^ 00:31:51 <arlolra> so it's ready for review at the meeting 00:32:48 <flo-retina> it would be really useful to have that working before the meeting indeed! 00:33:07 <flo-retina> (this is the reason why I'm starting to get a little bit concerned to not have seen obvious progress ;)) 00:34:10 <arlolra> i'll post some progress soon in good faith, to ease your worries 00:35:54 <flo-retina> :) 00:36:05 <clokep> arlolra: I expect that to take a bit of time to figure out so...don't leave yourself like an hour to do it. :-D 00:37:59 <nhnt11> arlolra: I should have noticed this before, but your patch for bug 1175706 won't work 00:38:01 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1175706 nor, --, ---, nobody, UNCO, Listen for logging pref changes 00:38:08 <nhnt11> It will cause a second header to be written to an existing log file 00:38:57 <arlolra> hmm 00:39:18 <nhnt11> arlolra: I would like that bug to wait for bug 1025522 00:39:20 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1025522 nor, --, ---, nhnt11, ASSI, Split log files to prevent them from growing too large 00:39:35 <nhnt11> That allows more than one file for a single conversation 00:39:39 <-- sherief has quit (Ping timeout: 121 seconds) 00:39:48 <flo-retina> and hopefully that's landing soon, right? ;) 00:39:53 <nhnt11> arlolra: The whole reason for that aCreate flag was to ensure we never append two headers in weird scenarios 00:39:55 <nhnt11> flo-retina: yeah 00:40:07 <arlolra> so maybe it should depend on that then 00:40:10 <nhnt11> flo-retina: If you are jet lagged and not sleeping soon you can steal that review :P 00:40:31 <flo-retina> I'm jetlagged, and will force myself to go to sleep very soon 00:40:34 <arlolra> clokep: thanks 00:41:24 <flo-retina> Good evening/night/whatever all :) 00:43:15 <-- BlueMaxima has quit (Quit: Leaving) 00:46:25 <arlolra> nhnt11: thanks 00:48:38 <-- arlolra has quit (Connection closed) 00:48:58 <clokep> arlolra: Btw I'd like to use trimRight instead of the regex. :) 00:53:55 <Mook_as> arlolra: For that pref watching thing, when does the observer get removed? Does it need to be? 00:54:12 <Mook_as> (Yes, I realize he left 5 minutes ago) 00:56:44 <clokep> Mook_as: I don't think we remove the current observer. 00:56:49 <clokep> But nhnt11 should think about that. 01:05:22 <nhnt11> Mook_as: Well I guess it currently gets leaked at shut down 01:05:23 <nhnt11> hmm 01:05:51 <nhnt11> well "leaked" as in, it never gets removed, but we want it to be there till shutdown... 01:10:45 <Mook_as> observe shutdown? 01:10:51 <clokep> Yeah, we should probably do that. 01:10:55 * nhnt11 shrugs 01:11:02 * clokep isn't entirely sure why it matters if you leak at shutdown. ;) 01:11:04 <nhnt11> That code has been around for a while :P 01:11:19 <clokep> You touched it last. 01:11:21 <clokep> :P 01:11:34 <Mook_as> Mostly to shut up leak detecting tests I think 01:11:57 <-- Mook_as has quit (Client exited) 02:07:28 <-- clokep has quit (Ping timeout: 121 seconds) 02:16:30 <-- flo-retina has quit (Ping timeout: 121 seconds) 02:37:05 --> gerard-majax has joined #instantbird 02:46:28 <-- nhnt11 has quit (Ping timeout: 121 seconds) 03:24:01 <-- EionRobb has quit (Ping timeout: 121 seconds) 03:50:19 --> Mook has joined #instantbird 03:53:39 --> EionRobb has joined #instantbird 04:06:48 <-- gerard-majax has quit (Ping timeout: 121 seconds) 04:22:14 <instant-buildbot> build #2739 of macosx-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2739 04:29:25 --> nhnt11 has joined #instantbird 04:29:25 * ChanServ sets mode +h nhnt11 04:29:26 <-- nhnt11 has quit (Connection closed) 04:29:26 --> nhnt11 has joined #instantbird 04:29:26 * ChanServ sets mode +h nhnt11 04:30:05 <instant-buildbot> build #1444 of linux-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/1444 04:42:58 --> BlueMaxima has joined #instantbird 05:25:45 <-- nhnt11 has quit (Ping timeout: 121 seconds) 05:30:50 --> afiksof has joined #instantbird 05:58:16 <-- EionRobb has quit (Quit: Leaving.) 06:12:10 --> gerard-majax has joined #instantbird 06:23:15 <-- afiksof has quit (Ping timeout: 121 seconds) 06:24:10 <-- Mook has quit (Client exited) 06:25:10 --> mpmc has joined #instantbird 06:34:16 --> EionRobb has joined #instantbird 07:13:31 --> akronix_laptop has joined #instantbird 07:19:59 <-- gerard-majax has quit (Ping timeout: 121 seconds) 07:26:19 <-- Suiseiseki has quit (Ping timeout: 121 seconds) 07:55:08 --> gerard-majax has joined #instantbird 08:09:13 --> Suiseiseki has joined #instantbird 08:13:35 --> afiksof has joined #instantbird 08:17:56 --> Bollebib has joined #instantbird 08:21:12 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 08:48:56 <instant-buildbot> build #358 of linux64-nightly-default is complete: Failure [4failed compile] Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/358 09:13:46 <freaktechnik> hmm, is there anything else to do when unregistering a protocol, other than removing it from the category manager? Because I get an undefined protocol when replacing my extension during runtime. Restarting fixes it. 09:44:46 --> aleth has joined #instantbird 09:44:47 * ChanServ sets mode +o aleth 09:57:41 --> mpmc has joined #instantbird 10:13:27 <freaktechnik> How do I send the CAP REQ? I'm having trouble with what the arguments for sendMessage should look like. 10:15:18 <freaktechnik> I need to send CAP REQ :twitch.tv/membership 10:18:48 <aleth> freaktechnik: here's an example https://dxr.mozilla.org/comm-central/source/chat/protocols/irc/ircSASL.jsm#126 10:19:31 <-- afiksof has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 10:20:07 --> BWMerlin has joined #instantbird 10:30:23 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 10:38:24 <freaktechnik> oh, an array. 10:41:24 <freaktechnik> thanks aleth 10:51:51 --> clokep has joined #instantbird 10:51:51 * ChanServ sets mode +o clokep 10:52:10 <-- clokep has quit (Connection closed) 10:52:19 --> clokep has joined #instantbird 10:52:19 * ChanServ sets mode +o clokep 11:00:39 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died) 11:00:56 --> chrisccoulson has joined #instantbird 11:03:22 --> afiksof has joined #instantbird 11:14:28 <freaktechnik> how is the protocol image shown in the accounts manager determined= 11:14:29 <freaktechnik> ? 11:17:55 <clokep> freaktechnik: You add it with the proper chrome URL. 11:18:23 <clokep> freaktechnik: You might want t look at https://bitbucket.org/clokep/lj-talk/src for a bunch of that sort of stuff. 11:18:27 <clokep> I think there's some bad docs around too. 11:18:35 --> mpmc has joined #instantbird 11:19:05 <freaktechnik> ok, so it's based pn the iconBaseURI, which works for the 16px version,b ut not the bigger one 11:20:25 <clokep> What did you name the bigger one? 11:20:40 <clokep> icon.png, icon32.png and icon48.png look like what we expect them to be called. 11:20:50 <freaktechnik> oh, I have a dash in it... 11:21:52 <clokep> You had another question earlier? 11:22:16 <freaktechnik> 11:13:06 - freaktechnik: hmm, is there anything else to do when unregistering a protocol, other than removing it from the category manager? Because I get an undefined protocol when replacing my extension during runtime. Restarting fixes it. 11:22:49 <freaktechnik> uninstalling remove the entry, but then installing the extension again shows an undefined protocol 11:22:55 <freaktechnik> *removes 11:23:19 <clokep> All within the same session? 11:23:23 <clokep> Are you trying ot make this restartless? 11:23:24 <freaktechnik> yep 11:23:34 <freaktechnik> hmm, it's possibly because the component doesn't get unregistreed. 11:23:41 <clokep> Right. 11:23:48 <clokep> I'm not sure that works or not. 11:23:59 <clokep> (Although we'd definitely *want* it to.) 11:24:16 <freaktechnik> because I remember some stuff with unload only firing for shutdown but not disables/uninstalls 11:24:50 <freaktechnik> well, there is a different issue, the issue of accounts only working if the extension is around from the start, which would probably need infrastructure on the instantbird side, but I'm not yet worried about that... 11:26:15 <freaktechnik> okay, icon is fixed :D 11:29:05 <clokep> freaktechnik: I *think* we load the list of protocols once at start-up. 11:29:11 <clokep> So we'd probably need to change that somehow. 11:29:42 <freaktechnik> you load the protocol list dynamically for new accounts, but there is no way for you to know, that a new protocol has showed up either way. 11:29:46 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 11:30:43 <freaktechnik> (well, there is probably an observer notification for new topic entry registrations, which would actually be what is needed, and the extension wouldn't have to do anything extra) 11:32:11 <clokep> Right. 11:38:54 --> flo-retina has joined #instantbird 11:38:55 * ChanServ sets mode +qo flo-retina flo-retina 11:39:40 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 11:39:48 --> flo-retina has joined #instantbird 11:39:49 * ChanServ sets mode +qo flo-retina flo-retina 11:40:31 <freaktechnik> yep, there's a notification. For removal too. http://mxr.mozilla.org/mozilla-central/source/xpcom/build/nsXPCOM.h#383 11:41:50 * clokep awaits a patch. ;) 11:47:13 <-- EionRobb has quit (Quit: Leaving.) 11:50:49 <-- BlueMaxima has quit (Quit: Leaving) 11:51:47 <-- clokep has quit (Ping timeout: 121 seconds) 12:18:32 <-- afiksof has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 12:25:24 --> clokep_work has joined #instantbird 12:25:24 * ChanServ sets mode +o clokep_work 12:38:03 <-- BWMerlin has quit (Client exited) 13:15:56 --> afiksof has joined #instantbird 13:58:39 <-- afiksof has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 14:20:05 --> mpmc has joined #instantbird 14:41:19 <freaktechnik> does an IRC message handler return false if it didn't handle a message? 14:41:53 <clokep_work> freaktechnik: Yes. 14:42:01 <freaktechnik> nice 14:42:41 <clokep_work> freaktechnik: And they fall through in order of priority. 14:42:51 <clokep_work> So you'll probably want your priority to be high for network specific processing. 14:43:01 <clokep_work> And if a handler doesn't implement a method it just searches (in order of priority) for one that does. 14:43:16 <freaktechnik> that's as much as I guessed, but I wasn't sure about the return values 14:43:48 --> afiksof has joined #instantbird 14:44:06 <clokep_work> True/False seemed to work so I went with it. :) 14:44:11 <clokep_work> I haven't wanted anything more complicated yet. 14:44:44 <freaktechnik> well, you have the priority voting chain and you have throw in JS in case something goes wrong 14:45:28 <clokep_work> Yep. 14:46:28 <clokep_work> :) I'm glad that architectue is working. 14:49:31 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 14:50:13 <freaktechnik> the irc implementation doesn't support tags yet? 14:51:06 <clokep_work> freaktechnik: There's been little IRCv3 support, I have not yet written support for tags...it's on my LONG todo list. 14:51:11 <clokep_work> I'd happily accept a patch. 14:51:21 <freaktechnik> I guess I'll have to write it then, yeah. 14:51:26 <clokep_work> Only if it uses crazy regex. ;) 14:51:44 <freaktechnik> crazy like the one for the CAP params parsing? 14:52:36 <clokep_work> Does that have a crazy regex? :-S 14:53:05 <clokep_work> Crazy like http://mxr.mozilla.org/comm-central/source/chat/protocols/irc/irc.js#63 14:53:28 <freaktechnik> In my book this counts as crazy, even when I'm wearing the xkcd regex shirt... http://mxr.mozilla.org/comm-central/source/chat/protocols/irc/ircCAP.jsm#26 14:53:35 <aleth> always fun when you have to modify it 14:53:43 <clokep_work> Ah-ha! 14:53:48 <clokep_work> Yes...I like regexp, what can I say? 14:54:04 <aleth> regexp is a great tool 14:54:12 <freaktechnik> I understand you. RegExps are great when you wrote them 14:54:26 <flo-retina> do we still need cryptography once we have regexps? ;) 14:54:49 <freaktechnik> but understanding someone else's regexp, especially when you don't know its intent it just looks crazy 14:55:03 <clokep_work> I have a comment above it. ;) 14:55:07 <clokep_work> That regex could probably uses tests. 14:55:30 <aleth> all regexes could use tests... 14:55:33 <clokep_work> Was there a bug in it or did you just come across it and go WTF? 14:56:17 <freaktechnik> I tried to request a capability, and didn't know the arguments had to be an array... So I looked through the code until I gave up and asked here ;) 15:00:44 <flo-retina> (I just read the log) hmm, I don't think we ever thought about removing prpls without restarting 15:01:08 <flo-retina> I guess we would need a way to temporarily reload the account using the unknown prpl 15:01:41 <clokep_work> And ensure the socket is closed. ;) 15:01:44 <freaktechnik> the much more complex case is when an extension is updated. 15:02:05 <freaktechnik> I think cleaning up the connection is the extension's problem, tbh 15:02:41 <clokep_work> aleth: What do you think of adding |renameParticipant| being in jsProtoHelper? 15:02:58 <-- afiksof has left #instantbird () 15:03:27 <flo-retina> clokep_work: I assume we could unInit the account before reloading it, so the socket should get closed without us even having to think about it 15:04:06 <clokep_work> flo-retina: Yeah. :) I assume so too. 15:08:02 <aleth> clokep_work: if the xmpp matches the irc one, it would be a good idea 15:08:11 <aleth> maybe it's also related to bug 954662 15:08:13 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=954662 nor, --, ---, nobody, NEW, Join/part messages should be handled by imConversations.js. 15:09:20 <clokep_work> aleth: I was thinking of doing it as part of that current bug which is going on... 15:09:45 <freaktechnik> So if I want to set the colour of a message I'd do that with the observer, of which I forgot the name? Or can I do that with the message handlers too? 15:09:46 <aleth> certainly the strings are duplicated 15:10:02 <clokep_work> Anyone know the iMessage protocol? I suspect it's jabber. 15:14:43 <aleth> http://imfreedom.org/wiki/IMessage ? 15:14:48 <clokep_work> Yeah we foudn that. :) 15:14:53 <clokep_work> Debate at work. ;) 15:14:59 <clokep_work> aleth: I commented on the bug, we'll see... 15:15:01 <aleth> Doesn't look like XMPP, just XML 15:16:05 <clokep_work> Yeah. 15:19:46 --> afiksof1 has joined #instantbird 15:31:37 <-- gerard-majax has quit (Ping timeout: 121 seconds) 15:36:03 --> mpmc has joined #instantbird 15:40:13 <-- aleth has quit (Ping timeout: 121 seconds) 15:42:11 --> aleth has joined #instantbird 15:42:12 * ChanServ sets mode +o aleth 15:53:21 --> iamjayakumars has joined #instantbird 15:54:47 <-- AlexanderSalas has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 15:58:37 <-- Bollebib has quit (Ping timeout: 121 seconds) 16:04:48 --> myk has joined #instantbird 16:11:57 <-- iamjayakumars has quit (Quit: ) 16:31:19 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 16:33:31 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 16:33:36 <-- aleth has quit (Ping timeout: 121 seconds) 16:40:05 <-- afiksof1 has quit (Ping timeout: 121 seconds) 16:42:06 --> afiksof has joined #instantbird 16:48:22 --> arlolra has joined #instantbird 17:06:45 --> Mook_as has joined #instantbird 17:46:19 --> nhnt11 has joined #instantbird 17:46:20 * ChanServ sets mode +h nhnt11 17:57:15 --> aleth has joined #instantbird 17:57:16 * ChanServ sets mode +o aleth 18:01:44 <clokep_work> nhnt11: WebSocket should be enabled. 18:02:01 <nhnt11> context: http://pastebin.mozilla.org/8838148 18:02:03 <clokep_work> Did you properly set the security stuff in the ontext? 18:02:14 <nhnt11> clokep_work: I think so. 18:02:16 <nhnt11> Not entirely sure 18:02:24 <nhnt11> (don't remember all the things I tried) 18:02:51 <clokep_work> :-\ 18:02:57 <clokep_work> I'd need to see code / the error. 18:03:04 <nhnt11> yeah 18:03:18 <nhnt11> The error appears for a split second 18:03:22 <-- afiksof has left #instantbird () 18:03:27 <nhnt11> Because there are a ton of JS/CSS warnings from loading the page 18:14:27 <nhnt11> aleth: you have a good point 18:14:38 <nhnt11> about people not restarting their Tb 18:14:58 <nhnt11> let me think... 18:15:44 <nhnt11> aleth: I think it would be ok to expose a new API to get the log file currently being written to, does that sound fine to you? 18:16:13 <aleth> Yes 18:16:20 --> Bollebib has joined #instantbird 18:16:28 <nhnt11> The problem is that currently the imILogger API doesn't provide any notification or whatever that there is a new file 18:16:31 <nhnt11> Ok, cool 18:16:33 <aleth> Or modify the return value of the existing API so the last entry in the array is the current file or something like that 18:17:02 <nhnt11> aleth: By the way, your point about queuing a write on file 1 while waiting for file 2 is valid even if we use Promise.all 18:17:06 <aleth> Look at the current consumers of that function, there may be none outside of gloda, then you can do as you like 18:17:23 <aleth> nhnt11: Yes, that's true 18:17:24 <nhnt11> I looked at the implementation of that yesterday and it basically has a count of the number of promises left and decrements it in the then() of each promise 18:17:50 <nhnt11> hmm 18:18:05 <nhnt11> I'll take a look later and give you a new patch 18:18:08 <aleth> nhnt11: The subtelty is to make sure the previous log file is fully indexed when starting to indec a new file 18:18:10 * nhnt11 is glad this is moving along again 18:18:31 <aleth> Yup! Should land on the next cycle or two I think :-) 18:18:57 <aleth> And then hopefully we can forget about gloda, at least ;) 18:19:58 <nhnt11> aleth: Good point about the previous log file thing. We should likely make the actual queuing of the indexing job synchronous to prevent that if we change the API to only return the current log file 18:20:20 <nhnt11> well, s/syncrhonous/work somehow/ :P 18:20:36 <aleth> I don't see a problem with returning all the files, if that helps, as long as you have a defined order 18:21:02 <nhnt11> Aren't we already returning all the files/ 18:21:04 <nhnt11> ? * 18:21:10 <aleth> Yes 18:21:15 <aleth> (in your current patch) 18:21:16 <nhnt11> I mean, the point of this exercise is to not do that, right? 18:21:31 <nhnt11> Or did you just want to avoid that loop 18:21:51 <aleth> The point is ultimately to avoid as many file system i/o calls as possible 18:22:02 <nhnt11> right... 18:22:03 <nhnt11> My bad 18:22:18 <aleth> e.g. in that loop to get the last modification time for each file 18:22:20 <nhnt11> I was under the impression that logger.js was doing a directory traversal to get all the paths 18:22:21 <-- myk has quit (Connection closed) 18:22:30 <nhnt11> Which is why I thought we wanted to do that 18:22:32 <nhnt11> Obviously, it's not. 18:22:33 <aleth> iirc it's an array in the log writer 18:22:36 <nhnt11> yeah 18:22:39 <aleth> or a map or something 18:22:44 <nhnt11> It's been a long time since I wrote that :] 18:22:56 <nhnt11> It's an array, and it's in order 18:23:04 <nhnt11> I guess we can just look at the last two paths in the array! 18:23:13 --> myk has joined #instantbird 18:23:18 <nhnt11> OK, I should get back to Fx work 18:23:26 <nhnt11> Glad we got this rolling 18:24:34 <aleth> do you have to land stuff before the merge? 18:25:56 <nhnt11> No 18:29:55 <freaktechnik> wow, mach bootstrap is some proper black magic. 18:30:25 <clokep_work> Just python. ;) 18:31:22 <nhnt11> python, black magic... tomayto, tomahto 18:48:40 --> chrisccoulson_ has joined #instantbird 18:51:12 <-- chrisccoulson has quit (Ping timeout: 121 seconds) 19:01:36 --> Mnyromyr has joined #instantbird 19:24:25 * nhnt11 is now known as Nhnt11 19:26:22 <freaktechnik> clokep_work: so... I'm thinking about that IRC tags thing... After considering the spec it'd be best to have a new property for the message which just exposes the tags in a key-value fashion (frozen object?). 19:26:34 <freaktechnik> I'm not yet sure how to parse the xn-- entities. 19:27:06 <freaktechnik> oh wait, that's only for domain names of vendor specific tags, so that shouldn't matter, I guess? 19:27:20 <freaktechnik> as in, just set the key of the tag to whatever it is in the raw message? 19:30:26 <clokep_work> freaktechnik: Using a Map or an object seems reasonable, yes. 19:30:42 <clokep_work> the ircMessage would have an extra field (tags) which is a mapping of key to value, yes. 19:30:47 * Fallen|away is now known as Fallen 19:31:16 <freaktechnik> per spec only the value is actually escaped and should not be exposed as-is, right? 19:31:51 <clokep_work> I'm not sure what that means. 19:31:53 <clokep_work> Also please link me. :-D 19:31:56 <clokep_work> I don't know that spec very well. 19:32:00 <freaktechnik> http://ircv3.net/specs/core/message-tags-3.2.html 19:32:19 <freaktechnik> well, in the value you escape things like spaces, semicolons and linebreaks 19:32:38 <freaktechnik> (not sure about unescaping linebreaks though, as we're still in js) 19:33:04 <aleth> yet another escaping scheme for irc? :-/ 19:33:33 <freaktechnik> from looking at it, the only unescaping that needs to be done is replacing \: with ; and \s with a space 19:33:34 <-- Bollebib has quit (Ping timeout: 121 seconds) 19:34:06 <clokep_work> And new lines... 19:34:28 <freaktechnik> but a newline is \n in a js string... 19:34:52 <clokep_work> freaktechnik: The "sequence in <escaped value>" is two physical characters, it isn't showing you an escaped string. 19:35:12 <clokep_work> So in that there's a \ character followed by an n charactter. 19:35:27 <clokep_work> Now a single character of octal 012 19:35:40 <clokep_work> *not 19:36:08 <freaktechnik> right, \n only works in literals? 19:36:23 <freaktechnik> (which would make sense, thinking about it) 19:40:38 <freaktechnik> hmm, is there any reason to use a map over an object? So there is no collision with the object prototype? 19:41:15 <freaktechnik> on the other hand there is no need for anything more than what Map provides. 19:41:25 <clokep_work> freaktechnik: I kind of like Maps... 19:41:41 <clokep_work> aleth might have an opinion 19:41:58 --> Bollebib has joined #instantbird 19:42:18 <clokep_work> freaktechnik: I'd be OK leaving a TODO for the punycode thing btw. ;) 19:42:34 <freaktechnik> punycode thing? 19:42:45 <clokep_work> "In cases if the domain name contains non-ASCII characters, punycode MUST be used, e.g. xn--e1afmkfd.org/foo." 19:42:54 <freaktechnik> oh, that's on the server side 19:42:58 <freaktechnik> so we don't have to handle that. 19:43:21 <freaktechnik> at least from how I understand the spec 19:43:36 <clokep_work> Umm....I guess, yeah. 19:43:44 <clokep_work> Unless we wanted to allow authors to use unicode to get them. 19:43:49 <clokep_work> So sure just ignore it. 19:44:50 <freaktechnik> I can leave a comment along the lines of // BTW unicode characters in domain names aren't escaped back to their original form in tags 19:44:59 <freaktechnik> since the code seems to be the documentation of instantbird ;) 19:45:55 <clokep_work> :-[ 19:46:03 <clokep_work> Writing documentation is hard and time consuming. 19:46:12 * freaktechnik appreciates doxygen 19:46:34 <freaktechnik> no need for more documentation, just not having to wade through code itself and having working cross references can be great sometimes 19:46:44 <clokep_work> Yeah. 19:46:51 <freaktechnik> plus custom documentation tags like @CID or @contractID can be magic 19:46:58 <clokep_work> I actually hate doxygen because it makes documentation that's essentially unreadable. 19:47:07 <clokep_work> But the concept is good. 19:47:13 <freaktechnik> I guess it's a question of what you're used to... 19:47:13 <clokep_work> I've never found a good way for JavaScript though. 19:47:20 <freaktechnik> it's like me not liking hg ;) 19:47:30 <clokep_work> All version control systems suck. 19:47:56 * Nhnt11 is now known as nhnt11 19:50:06 <freaktechnik> compiling on some intel pentium netbook sucks too. 19:57:23 <clokep_work> Sounds likely. :-D If it's just JS you can theoretically just unpack the jar, but I don't remember how to do that exactly. 19:57:41 <freaktechnik> yeah, I know that 19:57:56 <freaktechnik> but once it's built I can do incremental builds... 19:58:05 <freaktechnik> which is way less trouble 19:58:16 <freaktechnik> or I could have made a jarless build for even more convenience 20:02:20 <clokep_work> Builds are jarless by default. 20:02:23 <clokep_work> And symlinked on *nix. 20:03:57 <freaktechnik> wow, symlinks is an improvement over what we have with nightingale. But a nightingale build is way faster. I guess there's a lot of bloat in Gecko ;) 20:04:08 <clokep_work> Really? 20:04:17 <clokep_work> Firefox has gotten much faster to build recently... 20:04:22 <clokep_work> Although maybe you're before the peak. :) 20:05:00 <freaktechnik> 1.9.2 is way before the peak... 20:05:11 <Mook_as> I thought we got to Gecko 4 at some point? 20:05:51 <freaktechnik> well, not working. I mean, it builds, but the tabbrowser is still browser, and I seem to be the only one knowing how to fix it and I haven't had an motivation to do it in the last two years... 20:06:15 * Mook_as thought we copied the tabbrowser stuff over. Meh, offtopic. 20:06:15 <freaktechnik> *broken 20:07:03 <freaktechnik> there are like 3 or 4 branches with attempts, so it's possible there's one with a working tabbrowser... 20:11:22 <freaktechnik> 101 minutes. 20:16:20 <clokep_work> Ouch. 20:16:39 <clokep_work> freaktechnik: You should be able to |mach build chat/protocols/irc| and that should be "instant" 20:16:57 <freaktechnik> yeah, now I have a base build 20:17:00 <freaktechnik> which helps 20:17:27 <freaktechnik> I'm hoping I can just do mach build in 20:27:50 --> flo-retina has joined #instantbird 20:27:50 * ChanServ sets mode +qo flo-retina flo-retina 20:29:25 <clokep_work> Sure, I usually specify the path for fun though. 20:29:31 <clokep_work> (It's usually faster)_ 20:36:26 <instantbot> rkent@caspia.com set status-thunderbird to fixed on bug 1175462. 20:36:28 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1175462 nor, --, 1.6, aleth, RESO FIXED, Automatic MUC rejoins don't always work 20:50:57 <freaktechnik> Can I hide certain commands if the user doesn't fullfill certain prequisites? 20:51:21 <clokep_work> Do you mean slash commands (/join blah blah) 20:51:23 <clokep_work> ? 20:51:26 <freaktechnik> yep 20:51:33 <clokep_work> Hmm...I'm not sure. 20:51:40 <clokep_work> You mean like not showing /op unless yo're an operator, right? 20:51:41 --> EionRobb has joined #instantbird 20:51:42 <clokep_work> (As an example.) 20:51:43 <freaktechnik> at least irc doesn't do it... 20:51:47 <freaktechnik> yep 20:51:56 <clokep_work> flo-retina: Any opinion on that? 20:52:02 <clokep_work> I can't think of a straightforward way... 20:52:12 <clokep_work> (/ an opinion on *if* we'd want to support it.) 20:52:32 <freaktechnik> from what I can see, you can currently restrict commands to chatrooms? 20:52:35 <flo-retina> currently the only condition is chat vs im 20:53:06 <flo-retina> extending that could make sense, if the use case deserves it :) 20:54:30 <freaktechnik> it's not much more than hiding multiple levels of privileged commands 20:54:35 <freaktechnik> so I don't think it's an issue 20:54:42 <freaktechnik> I was just curious if it was possible 20:55:06 <flo-retina> freaktechnik: the kind of privileged states would vary from one protocol to another 20:55:12 <freaktechnik> yep 20:55:16 <flo-retina> some commands should possibly also be hidden when the account is offline 20:55:36 <clokep_work> freaktechnik: Also, for IRC, the privileges vary based on the channel you're in which is a pain. 20:56:14 <freaktechnik> so you'd have to do a callback based on the conversation the command comes from, from what I can see, since you can get the account from that. 20:56:19 <freaktechnik> :P 20:57:22 <clokep_work> Something like that. 21:10:13 <freaktechnik> clokep_work: oh, I just noticed the value for a tag is optional... null as value? 21:12:25 <clokep_work> freaktechnik: null or undefined, sure. 21:12:39 <clokep_work> It should match what we do for ISUPPORT. 21:13:30 <freaktechnik> okay 21:16:42 --> EionRobb1 has joined #instantbird 21:16:43 <-- EionRobb has quit (Ping timeout: 121 seconds) 21:27:39 <freaktechnik> hmm, hg diff is a mistake. 21:28:26 <clokep_work> ? 21:28:49 <freaktechnik> because it goes through all the files 21:29:02 <freaktechnik> hg diff chat/protocols/irc/irc.js is way better... 21:29:34 <clokep_work> Yes. 21:31:29 <freaktechnik> so, for incoming tags, everything that would have to be done is http://pastebin.com/JDzEGH0M from what I can tell. 21:34:42 <clokep_work> Meh that comment doesn't make much sense. :( 21:34:45 <clokep_work> My fault, not yours. ;) 21:35:15 <freaktechnik> I understood what the regexp does, so it can't be that bad... 21:35:24 <clokep_work> Just poor English. 21:36:22 <freaktechnik> I'm more curious of what I think of my de-escaping method. It's the only way I could think of, where \\n wouldn't be decoded as linebreak. 21:36:25 <clokep_work> freaktechnik: Could you add tests too? Also, some minor nits: put a space after "if" (before the "("), no { } around one line statements. 21:36:41 <freaktechnik> where would tests go? 21:37:00 <freaktechnik> even if the one line block is in an else to a multi line if? 21:37:14 <clokep_work> Yes. 21:37:24 <freaktechnik> interesting 21:37:28 <clokep_work> Assuming the scoping works appropriately, of course. 21:37:28 <freaktechnik> :) 21:37:48 <clokep_work> freaktechnik: There's a 'test' directory under the 'irc' one you're working in, in that there's a set of tests for messages. 21:37:59 <freaktechnik> okay, I think I'll find my way. 21:38:20 * clokep_work is on his way out... 21:38:27 <clokep_work> I think we somewhere do a weird cool mapping to escape things... 21:41:36 <clokep_work> Something like http://mxr.mozilla.org/comm-central/source/chat/protocols/irc/ircCTCP.jsm#31 is an interesting way to do it, but maybe doesn't scale well... 21:41:48 <freaktechnik> hm, the test for ircMessage is for outgoing messages, from what I can tell 21:41:57 <clokep_work> Why do you say that? 21:41:59 <clokep_work> They're tests for messages... 21:42:17 <clokep_work> The protocol inbound and outbound is the same. 21:42:45 <clokep_work> Especially look down at the other tests besides the RFC ones. 21:42:52 <clokep_work> You'll probably want to add a new section. 21:43:52 <clokep_work> Something like http://mxr.mozilla.org/comm-central/source/chat/protocols/irc/test/test_ircMessage.js#170 but for tags 21:44:00 <freaktechnik> oh, that dequoting in CTCP look sinteresting. 21:45:36 <clokep_work> Goodnight. 21:46:13 <clokep_work> freaktechnik: Btw that patch looks mostly good. :) 21:47:34 <clokep_work> I think it would be slightly clearer if you did: let value = null; if (tag.length > 1) { value = stuff... }; message.tags.set(tag[0], value); 21:47:44 <clokep_work> Also please two space indent everywhere. 21:48:02 <freaktechnik> ...I'm trying my best to keep it at two spaces 21:48:06 <clokep_work> And put a nice comment above the escaping part saying what it does. 21:48:43 <freaktechnik> hmm, looking at the unit tests, always setting the map will be trouble 21:49:42 <-- arlolra has quit (Connection closed) 21:50:19 <freaktechnik> on the other hand I'll have to extend isEqual either way 21:52:07 <-- clokep_work has quit (Ping timeout: 121 seconds) 21:52:23 <instantbot> aleth@instantbird.org changed the Resolution on bug 1171717 from --- to FIXED. 21:52:25 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1171717 nor, --, 1.6, aleth, RESO FIXED, Replace usage of NetUtil.asyncFetch2 in XMPP and Yahoo 22:01:09 --> sherief has joined #instantbird 22:02:48 --> mpmc has joined #instantbird 22:15:25 --> clokep_work has joined #instantbird 22:15:25 * ChanServ sets mode +o clokep_work 22:19:51 <aleth> Fallen: you might find this useful (it looks like znc supports it) http://ircv3.net/specs/extensions/server-time-3.2.html 22:21:25 <clokep_work> On my TODO list... 22:21:40 --> freaktechnik_ has joined #instantbird 22:21:48 <Fallen> nice, very useful :-) 22:22:06 <aleth> looks like freaktechnik might be taking care of the tag part already ;) 22:22:31 <freaktechnik_> yep 22:22:45 <freaktechnik_> just have to pass my own tests ;) 22:23:15 <-- freaktechnik has quit (Ping timeout: 121 seconds) 22:23:15 * freaktechnik_ is now known as freaktechnik 22:25:19 <freaktechnik> can I somehow get more info on what's failingby adding additional logging or similar in tests? 22:26:35 <clokep_work> aleth: ^ 22:27:29 <aleth> yes, with do_print 22:29:07 <aleth> also ok, equal, etc have an optional message parameter 22:30:43 <freaktechnik> okay, what's nice is mach advising to try with --sequential, which doesn't work... 22:32:35 <aleth> mach claims one can remote debug xpcshell tests 22:33:15 <freaktechnik> I see... 22:34:01 <clokep_work> (o_O) 22:34:07 <clokep_work> I usually just print stuff, yeah 22:36:03 <-- sherief has quit (A TLS packet with unexpected length was received.) 22:36:42 <nhnt11> you can also just dump() afaik 22:38:10 <clokep_work> I always forget if you can print() or dump(). :-D 22:49:42 <-- Mnyromyr has quit (Connection closed) 22:55:15 <-- clokep_work has quit (Ping timeout: 121 seconds) 23:05:49 * Fallen is now known as Fallen|away 23:12:57 <-- aleth has quit (Quit: :tiuQ) 23:31:26 --> BlueMaxima has joined #instantbird 23:35:00 <-- Bollebib has quit (Ping timeout: 121 seconds)