#instantbird log on 07 16 2014

All times are UTC.

00:04:48 <clokep> sawrubh: Is it clear what to try?
00:05:16 <sawrubh> yes, doing it, it's not outputting, trying to see what I'm doing wrong
00:05:26 <sawrubh> back in 2 minutes
00:05:30 <clokep> Make sure the level is also set properly to debug or whatever.
00:06:00 <sawrubh> in the meanwhile you can review/feedback my patch if you want to :P
00:06:12 <sawrubh> (the xmpp file transfer one)
00:06:23 <clokep> I need to shower first.
00:06:27 <clokep> But then I'll probably look at that, yes.
00:09:32 <-- mconley has quit (Input/output error)
00:18:10 <sawrubh> so Debug mode doesn't show me anything, trying the 'All' mode
00:18:49 <sawrubh> or let's try Trace
00:18:58 <sawrubh> should give me most detailed output
00:21:00 --> clokep_work has joined #instantbird
00:21:00 * ChanServ sets mode +o clokep_work 
00:21:45 <-- BillBinkley has quit (Ping timeout)
00:21:51 <clokep> It should, esy.
00:22:36 <sawrubh> and even Trace doesn't, weird. So all I've done is https://pastebin.mozilla.org/5560435
00:22:40 <sawrubh> that should work right?
00:24:14 <clokep> Have I mentioned before that I hate log4j?
00:24:20 <clokep> Umm..that looks correct, yes.
00:24:37 * sawrubh isn't even sure what to expect
00:24:43 <clokep> You should add a call right after that and see if it works?
00:24:50 <sawrubh> Since the login is something which happens in a browser-ish window
00:24:54 <clokep> Do a log.FATAL or whatever.
00:24:57 <sawrubh> and I'm not sure we can log it's errors
00:25:33 <sawrubh> so I added something like this.log.error("Yo") and this.log.debug("Debug") and they worked
00:26:03 <clokep> I'm not sure why you think it wouldn't work for the browser window?
00:27:05 <clokep> sawrubh: The interesting bits aren't the browser window, it's what's being sent to and from the window.
00:27:35 <clokep> sawrubh: You might need to add an appender in the oauth code too
00:34:04 <sawrubh> gah, what's going on here. So I added an appender to the oath code and it still doesn't output anything interesting
00:34:41 <sawrubh> do I need to manually need to log variables's values, I mean how do I tell the logger to log what's being sent to and from the window
00:38:30 <-- wnayes has quit (Ping timeout)
00:38:47 --> wnayes has joined #instantbird
00:39:06 <clokep> sawrubh: Did you look for calls to this.log?
00:40:22 <sawrubh> ah, I see, so the code is logging stuff
00:40:36 <sawrubh> hmm, so I *should* be getting something :/
00:42:21 <clokep> You could always throw in Cu.reportErrors if you really can't figure it out. :-D
00:45:02 <sawrubh> reportErrors' FTW
00:45:34 <sawrubh> just to give some context, in tonight's debugging spree we have this error: https://pastebin.mozilla.org/5553226
00:45:42 --> mconley has joined #instantbird
00:45:44 <sawrubh> for those of you sitting at home
00:45:54 * sawrubh gets back to debugging
00:46:10 <clokep> sawrubh: I'd think the "Error: s5.boxcdn.net : server does not support RFC 5746, see CVE-2009-3555" is harmless, but I don't know. :-S
00:46:21 <Mook_as> It is, yes
00:46:31 <sawrubh> yay, Mook_as is here
00:46:47 <-- Armada has quit (Connection reset by peer)
00:46:47 <Mook_as> it means it's vulnerable to some silly attack or other, but it should keep connecting
00:47:01 <sawrubh> ok, let's see what I want to reportError to be able to figure out this invalid_client thingy
00:47:17 <Mook_as> sawrubh: ... I've been here all day. being, you know, at work.
00:48:11 * sawrubh just reportError's every this.log call
00:48:30 <sawrubh> clokep: btw there should be an easy way to copy multiple entries in the error console
00:48:31 <sawrubh> :s
00:48:52 <clokep> sawrubh: Oh, I know. I wish there was. :(
00:48:59 <clokep> The browser consoel is better in that way
00:49:22 * sawrubh notes this down as something to talk to someone to get done
00:49:28 <sawrubh> probably the devtools team?
00:51:07 <clokep> Probably.
00:51:14 <clokep> I'd be surprised if there wasn't a bug filed about it.
00:55:00 <sawrubh> hmm, so reportError'ing stuff in nsBox.js doesn't make much sense since that's just uploading logic and stuff
00:55:19 <Mook_as> devtools team seems unlikely (firefox doesn't use the error console anymore, right?)
00:55:24 <sawrubh> stuff in OAuth2.jsm is what we want, inside the connect function...
00:55:27 <Mook_as> also, get console2? I think that allows for multiple selection
00:56:30 <sawrubh> clokep: so I have no idea about outputing what could help us debug this issue, any advice?
00:56:51 <sawrubh> I mean what should we see in connect function in OAuth2.jsm which will help
00:57:04 <sawrubh> or the other functions in OAuth2.jsm
00:58:13 <clokep> sawrubh: It'd be interesting to see what parameters are being passed when it's trying to auth.
00:58:41 <sawrubh> coming right up..
01:06:44 <sawrubh> so http://dxr.mozilla.org/comm-central/source/calendar/base/modules/OAuth2.jsm#87 is 'https://www.box.com/api/oauth2/authorize?response_type=code&client_id=exs8m0agj1fa5728lxvn288ymz01dnzn&redirect_uri=http%3A%2F%2Flocalhost'
01:06:48 <sawrubh> clokep: ^
01:07:40 <clokep> Why is that file out of date on dxr? :-S
01:07:58 <sawrubh> interesting
01:08:26 * sawrubh wonders who maintains DXR and if it's updates/indexed everyday
01:09:55 <clokep> sawrubh: I'm asking Joshua right now.
01:11:56 <sawrubh> anyhoo, so our original problem...
01:12:15 * sawrubh goes to print some additional things
01:12:30 <sawrubh> bah, there should be a step through debugger or something
01:12:47 <sawrubh> would have made life better for people like me who still use print-style debugging
01:13:04 * Mook_as wonders if the firefox one still works for remote debugging
01:13:10 <clokep> It should.
01:13:26 <sawrubh> I'm all ears!
01:14:24 <clokep> I don't know how easy it is to get working with Instantbird though, someone did it at some point...
01:14:43 <sawrubh> that someone needs to blog about it ;)
01:19:31 <sawrubh> clokep: so what do you think I should do?
01:19:36 * Mook_as wonders if http://pastebin.instantbird.com/750841 still works
01:20:15 <clokep> sawrubh: Compare that to the request that's made by TB?
01:23:08 <-- Mook_as has quit (Quit: Mook_as)
01:34:41 <sawrubh> For TB it's 'https://www.box.com/api/oauth2/authorize?response_type=code&client_id=exs8m0agj1fa5728lxvn288ymz01dnzn&redirect_uri=http%3A%2F%2Flocalhost'
01:34:57 <clokep> Are those the same?
01:35:12 <sawrubh> yep
01:36:48 <sawrubh> so the issue seems to be that Box detects that we're not Thunderbird
01:36:55 <sawrubh> and that the key was issued for TB
01:37:13 <clokep> I highly doubt that.
01:37:25 <clokep> I went in and made a key without doing anything special and used it for TB.
01:37:40 <sawrubh> hrm :/
01:40:14 <clokep> Does that screen pop up immediately or do you have to click through / log in first?
01:40:21 <clokep> Does the URL you end up with match in that case?
01:40:26 <clokep> Are the responses sent the same?
01:41:51 <sawrubh> a) I need to login first, then I'm taken to the screen to 'Allow access to Box to Thunderbird', I click Grant Access and that's when I get the error screen in IB and success (basically the windows closes and I'm signed into Box) in TB
01:42:55 <sawrubh> b) I think the url only changes in that it becomes app.box. something something, I'll try and output that (if possible)
01:43:14 <sawrubh> c) /me tries to output the response too
01:43:17 <clokep> Alright.
01:43:26 <clokep> Hm...yeah I guess that's mostly from the webpage though. :-S
01:43:30 <clokep> I don't see what could be different
01:43:35 <clokep> Is this patch uploaded somewhere?
01:44:01 <sawrubh> No, not right now. I can upload it, if you want.
01:46:25 <sawrubh> btw in the patch, I had only copied the linux browserRequest.css so the window won't look all fancy when you build it on your Mac
01:46:30 <sawrubh> but rest should work
01:46:41 * sawrubh removes the reportError's
01:47:50 <clokep> Alright.
01:47:57 <clokep> Yeah let's upload it somewhere or email it to me or somethin.
01:48:06 <clokep> I can't look at it right now, dealing with some personal things.
01:48:43 <sawrubh> I'll email (pastebin won't work since it's 180KB) and I don't wanna ruin the bug's history with transferring patch files :)
01:51:52 <clokep> Yeah, that's fine. :)
01:52:00 <clokep> Sorry I can't concentrate right now
01:52:57 <sawrubh> np
01:53:04 <sawrubh> I'll call it a day too with breakfast
01:53:13 <sawrubh> my parents have woke up and I shall go to sleep now
01:53:16 <clokep> Hah.
01:53:17 <sawrubh> *woken
02:01:46 <-- Hadi has quit (Connection reset by peer)
02:04:30 <sawrubh> Night!
02:21:32 --> rosonline has joined #instantbird
02:31:01 <-- wnayes has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:37:38 <-- clokep_work has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:38:54 <-- clokep has quit (Ping timeout)
02:49:39 <instant-buildbot> build #2261 of macosx-nightly-default is complete: Failure [4failed hg]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2261
02:59:47 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
03:51:55 <-- mconley has quit (Input/output error)
03:52:22 --> mconley has joined #instantbird
03:53:32 --> iamjayakumars has joined #instantbird
03:54:09 <-- mconley has quit (Ping timeout)
03:54:26 --> mconley has joined #instantbird
03:55:25 <-- mconley has quit (Input/output error)
03:55:53 --> mconley has joined #instantbird
03:57:37 <-- mconley has quit (Ping timeout)
03:57:56 <-- iamjayakumars has quit (Client exited)
04:00:41 --> iamjayakumars has joined #instantbird
04:03:12 <instant-buildbot> build #1446 of win32-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1446
04:07:54 <-- iamjayakumars has quit (Client exited)
04:18:08 --> iamjayakumars__ has joined #instantbird
04:19:03 <-- iamjayakumars__ has quit (Connection reset by peer)
04:19:23 --> iamjayakumars has joined #instantbird
04:44:19 <-- iamjayakumars has quit (Client exited)
04:56:37 --> CAKCy has joined #instantbird
05:14:45 --> iamjayakumars has joined #instantbird
05:15:02 <-- EionRobb has quit (Quit: Leaving.)
05:17:04 <-- iamjayakumars has quit (Ping timeout)
05:22:02 --> mayanktg-ph has joined #instantbird
05:23:44 --> mconley has joined #instantbird
05:47:29 <mayanktg-ph> aleth, flo-retina: Fell asleep yesterday when you reviewed user icon patch. Thanks for the r+ :] Hope it works good in nightlies! 
06:07:29 --> EionRobb has joined #instantbird
06:27:57 --> jb has joined #instantbird
06:58:28 --> Bollebib has joined #instantbird
07:15:14 <-- Fallen|away has quit (Ping timeout)
07:16:08 --> iamjayakumars has joined #instantbird
07:17:17 <-- iamjayakumars has quit (Connection reset by peer)
07:17:29 --> iamjayakumars has joined #instantbird
07:17:32 <-- iamjayakumars has quit (Client exited)
07:17:33 --> iamjayakumars has joined #instantbird
07:17:38 --> Fallen|away has joined #instantbird
07:26:06 --> Armada has joined #instantbird
07:32:57 * Fallen|away is now known as Fallen
07:35:45 <-- jb has quit (Ping timeout)
07:38:24 <-- iamjayakumars has quit (Client exited)
07:38:42 <-- mconley has quit (Input/output error)
07:38:46 --> iamjayakumars has joined #instantbird
07:39:10 --> mconley has joined #instantbird
07:40:27 <-- iamjayakumars has quit (Ping timeout)
07:40:55 <-- mconley has quit (Ping timeout)
07:40:56 --> iamjayakumars has joined #instantbird
07:43:51 --> jb has joined #instantbird
07:47:18 --> mconley has joined #instantbird
07:48:16 <-- mconley has quit (Input/output error)
07:48:44 --> mconley has joined #instantbird
07:49:47 <-- jb has quit (Quit: jb)
07:49:49 <instant-buildbot> build #2262 of macosx-nightly-default is complete: Failure [4failed hg]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2262
07:50:30 <-- mconley has quit (Ping timeout)
08:05:15 <-- iamjayakumars has quit (Client exited)
08:07:56 <instant-buildbot> build #2263 of macosx-nightly-default is complete: Failure [4failed hg]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2263
08:10:03 --> gerard-majax__ has joined #instantbird
08:11:52 <-- gerard-majax__ has quit (Ping timeout)
08:14:42 --> gerard-majax__ has joined #instantbird
08:16:30 <instant-buildbot> build #2264 of macosx-nightly-default is complete: Failure [4failed hg]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2264
08:26:11 --> chrisccoulson has joined #instantbird
08:29:38 --> jb has joined #instantbird
08:47:07 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
08:52:07 --> mpmc has joined #instantbird
09:08:53 <-- Suiseiseki has quit (Ping timeout)
09:09:58 --> flo-retina has joined #instantbird
09:09:58 * ChanServ sets mode +qo flo-retina flo-retina 
09:12:55 <-- jb has quit (Ping timeout)
09:26:46 --> Suiseiseki has joined #instantbird
09:32:54 <-- mayanktg-ph has quit (Quit: Connection closed for inactivity)
09:45:41 --> mayanktg-ph has joined #instantbird
09:59:16 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
10:00:06 <-- flo-retina has quit (Ping timeout)
10:02:07 --> flo-retina has joined #instantbird
10:02:07 * ChanServ sets mode +qo flo-retina flo-retina 
10:09:54 --> BWMerlin has joined #instantbird
10:19:05 <instant-buildbot> build #2267 of macosx-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2267
10:21:29 --> clokep has joined #instantbird
10:21:29 * ChanServ sets mode +o clokep 
10:22:06 <flo-retina> ah, finally! :)
10:30:17 <EionRobb> an hour to build?  damn
10:30:31 <flo-retina> EionRobb: is that too fast?
10:30:42 <EionRobb> lol
10:33:00 --> aleth has joined #instantbird
10:33:01 * ChanServ sets mode +o aleth 
10:33:11 <flo-retina> EionRobb: the actual compilation took 2299s
10:33:23 <flo-retina> that's 38 minutes
10:34:39 <EionRobb> so what's happing during the rest of the time?
10:34:45 <-- aleth has quit (Quit: exit stage left)
10:34:50 --> aleth has joined #instantbird
10:34:50 * ChanServ sets mode +o aleth 
10:36:34 <clokep> Magic.
10:36:39 <flo-retina> EionRobb: downloading and uploading stuff
10:37:42 <flo-retina> 38 is a quite decent build time for a Mac universal build.
10:38:22 <aleth> Connecting the build slave with a cable didn't help the connection failures?
10:38:30 <EionRobb> oic, zipping and signing and packaging for the other 40 mins
10:38:31 <flo-retina> I don't have the cable
10:39:08 <clokep> flo-retina: Want one? I have like thousands of ethernet cables in my apartment. :P
10:39:14 <clokep> I'll just run it over real quick. (o_O)
10:39:31 <flo-retina> clokep: yeah, I have at least a dozen unused ones in a locker at my parents' place
10:39:39 <flo-retina> I forgot to pick some last week-end :(
10:40:08 <aleth> I have some really long ones somewhere in a box too...
10:40:20 <flo-retina> I need all of 50cm...
10:40:35 <flo-retina> 20cm could do
10:42:46 <EionRobb> "38 is a quite decent build time for a Mac universal build." although it has to be pointed out that compiling adium takes..... 5 minutes? :P
10:43:01 <flo-retina> EionRobb: no it doesn't.
10:43:08 <flo-retina> that's completely irrelevant
10:43:50 <EionRobb> I still find it so weird that compiling the mozilla stuff is so slow  *shrug*
10:44:51 <flo-retina> EionRobb: if you build Instantbird above a xulrunner SDK, the Instantbird build likely takes less than a minute.
10:46:14 --> Hadi has joined #instantbird
10:46:16 <EionRobb> I spoke compiling the xulrunning stuff is akin to compiling a whole OS for all the features it gives.  I guess half an hour aint that bad :)
10:46:27 <EionRobb> s/spoke/spose/
10:46:58 <flo-retina> yeah, that's not a crazy way to think about it
10:48:01 <EionRobb> anyway, I'm done with provoking for the day, time for bed.  cya :)
10:48:05 <-- EionRobb has quit (Quit: Leaving.)
10:58:44 <-- clokep has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
11:30:08 <-- aleth has quit (Ping timeout)
11:30:51 --> aleth has joined #instantbird
11:30:51 * ChanServ sets mode +o aleth 
11:33:33 * Fallen is now known as Fallen|away
11:36:16 <sawrubh> Morning!
11:36:34 * sawrubh starts by taking a look at getting the Download Panel working
11:36:58 <sawrubh> right now, I'll just add an icon or something until mayanktg-ph's generic icon patch lands
11:44:49 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
11:44:54 --> nhnt11 has joined #instantbird
11:49:30 <nhnt11> Hmm, the user icon panel buttons are missing a border-top: http://puu.sh/adKZa/d96041b0a8.png
11:50:41 <aleth> That png is missing something too...
11:51:20 <nhnt11> :S
11:51:23 <nhnt11> That's weird
11:52:05 <nhnt11> Looks like something is wrong with puush :-(
11:52:58 <nhnt11> The image works fine after saving it somewhere (so I'm guessing it's a http mime type issue?)
11:53:18 <sawrubh> nhnt11: wow, that's some gibberish :P
11:53:43 <nhnt11> Yeah, page info says content type is text/plain
11:57:27 <aleth> I hope they fix it...
11:57:59 <sawrubh> file a bug? tweet? facebook post on their page? ;)
11:59:14 <nhnt11> They usually fix issues pretty fast.. I'll tweet them
11:59:33 <nhnt11> Seems to be affecting new uploads only
11:59:36 <nhnt11> this is offtopic
12:05:37 <flo-retina> just load: data:text/html,<img src="http://puu.sh/adKZa/d96041b0a8.png">
12:07:25 <nhnt11> flo-retina: Neat trick, thanks!
12:07:32 <flo-retina> np
12:08:02 --> clokep_work has joined #instantbird
12:08:02 * ChanServ sets mode +o clokep_work 
12:09:00 <-- BWMerlin has quit (Quit: BWMerlin)
12:14:50 <-- clokep_work has quit (Ping timeout)
12:15:06 <flo-retina> There's a nice "How to use jquery in xul files of thunderbird" thread in dev-platform :-D
12:15:22 <flo-retina> (the answer was "Generally, using jQuery in XUL files is not supported." :))
12:15:26 <aleth> I'm afraid to look
12:17:03 --> clokep_work has joined #instantbird
12:17:03 * ChanServ sets mode +o clokep_work 
12:18:25 <flo-retina> aleth: don't worry, it's sane. I think it's even ready for someone to reply to reply "let's remove the jquery files, as they are misleading" ;)
12:21:17 <clokep_work> flo-retina: I was tempted to reply with "Don't."
12:26:24 --> mayanktg has joined #instantbird
12:34:44 <-- mayanktg-ph has quit (Quit: )
12:35:25 <clokep_work> sawrubh: Bah I just found your email in my spam. :(
12:36:33 <sawrubh> to your email client: y u hate meh emailz
12:38:09 <clokep_work> Gmail did it.
12:38:13 <clokep_work> Not thunderbird.
12:38:41 <sawrubh> flo-retina: just a noob question, how do you load that, simply put in your awesomebar?
12:38:49 <flo-retina> yes
12:39:16 <sawrubh> hrm, that triggers a DDG search for me :/
12:39:17 <clokep_work> sawrubh: I'm just gonna clear the flag on the purplexpcom part of bug 1024023 for now.
12:39:20 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1024023 nor, --, ---, saurabhanandiit, ASSI, Add File Transfer Support for JS-XMPP
12:39:27 <clokep_work> Once we're positive the API is stable we'll review that, OK?
12:39:40 <sawrubh> clokep_work: ok
12:39:59 <clokep_work> I'm pretty sure it is, but Bugzilla has started to whine at me. ;)
12:40:15 * clokep_work will be reviewing your patch at some point today.
12:40:15 <aleth> mayanktg: http://log.bezut.info/instantbird/140715#m405 Jitsi claims "support for DTLS/SRTP (and WebRTC compatibility in libjitsi)" so maybe there's some DTLS or ICE config options you need to set.
12:40:16 <sawrubh> 'we're positive the API is stable' that'll happen once we get the Downloads Panel working with js-xmpp file transfer implementation right?
12:40:36 <aleth> mayanktg: but don't let this distract you too much from getting your current patches landed ;)
12:41:06 <sawrubh> and mayanktg and I are gonna bitrot each other I guess, whoever gets his patches landed first :/
12:41:20 <aleth> sawrubh: That's trivial.
12:41:50 <sawrubh> yeah...but it's not so much fun
12:41:51 <aleth> The sooner you land, the less bitrot for everyone.
12:42:31 <aleth> If the bitrot is only in the changed context, hg rebase takes care of it usually anyway
12:42:39 <mayanktg> aleth: Ok. Thanks a lot for referring this. I will try to see if I can add DTLS fingerprint in the JItsi's SDP offer. :)
12:42:48 <sawrubh> ah, yeah, I'll use hg rebase this time :)
12:43:52 <clokep_work> sawrubh: It'll be stable once you get an r+ on the backend patch. :)
12:44:01 * clokep_work likes this interface a lot better so far!
12:45:50 * sawrubh smiles stealthly
12:47:02 --> Hadi1 has joined #instantbird
12:47:23 <-- Hadi has quit (Ping timeout)
12:47:40 <-- Hadi1 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
12:48:16 * clokep_work wishes splinter let you collapse chunks of diffs.
12:49:26 <mayanktg> aleth: How do I get to see my user icon patch in latest nightly? There's no Linux nightly available. :'(
12:49:54 <aleth> mayanktg: Unfortunately you have to wait for Linux nightlies to come back...
12:50:17 <aleth> On the other hand, a python client.py checkout will fetch your patch and then you can build your own ;)
12:51:15 <mayanktg> I already have it anyways. ;)
12:51:22 <aleth> :D
12:51:37 <aleth> The problem is someone has to set up and configure the new Linux buildslave.
12:51:59 <aleth> mayanktg: All your Mac and Windows friends can try it though ;)
12:52:06 <-- nhnt11 has quit (Client exited)
12:53:06 <mayanktg> aleth: Yes. Installing nightly on friend's laptop. Will try to write a short blog for it too. :)
12:53:20 <aleth> Make sure to include a screenshot :)
12:54:56 --> nhnt11 has joined #instantbird
12:55:36 <-- mayanktg has quit (Ping timeout)
12:56:43 --> mayanktg has joined #instantbird
12:57:40 <-- clokep_work has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
12:57:41 --> clokep_work has joined #instantbird
12:57:41 * ChanServ sets mode +o clokep_work 
12:58:11 <flo-retina> mayanktg: would be nice if we could get the generic icon patch landed today
12:58:13 <flo-retina> have you seen my review comments?
12:59:04 <clokep_work> Do we normally use "fileName" or filename?
12:59:54 <aleth> fileName looks weird imho unless there is also fileDate, fileSize or whatever
13:00:59 <mayanktg> flo-retina: Yes. I will make the changes. The .convToolbarbutton class has been added so that when a new button is created we just add this class to it and it will have the CSS for the firefox  toolbarbutton.
13:01:27 <mayanktg> That's why it hasn'e been used anywhere else in the patch.
13:01:31 <aleth> Sounds like there was a missing comment! ;)
13:02:18 <mayanktg> I did add a comment in the initConversationUI method, I will add in the CSS too. :)
13:06:41 <sawrubh> land that generic icon patch today!
13:07:13 <sawrubh> mayanktg: also can you give me the link to that bug where you were trying to figure out the issue with starting a video call with someone with whom you've not conversed before
13:07:30 --> rosonline has joined #instantbird
13:07:38 <sawrubh> I had a similar problem with sending a file, I require them both to send a Hi or something before they can send each other files
13:07:41 <mayanktg> Bug 1027779
13:07:44 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1027779 nor, --, ---, mayanktg, NEW, Inability to send call request if no messages have been exchanged before.
13:07:48 <aleth> It's exactly the same problem
13:07:56 <aleth> You need the target resource.
13:08:00 * sawrubh reads teh buz
13:08:17 <aleth> Maybe you can get it off the presence stanza?
13:08:41 <sawrubh> aleth: yes the this._targetResource is null which is the problemz
13:08:55 <sawrubh> get it off the presence stanza, hmm....lemme check
13:09:18 <aleth> Or from the service discovery response.
13:09:48 <sawrubh> well entity capabilities (service discovery came just now). mayanktg ^
13:10:35 <aleth> I don't think this is the most urgent bug right now though, until entity capability support has landed.
13:10:41 <mayanktg> sawrubh: Yes. I'm following it. :)
13:17:58 <flo-retina> mayanktg: why is the target switcher not using it then?
13:17:59 <flo-retina> clokep_work: I suspect we already have a mix of the two
13:18:00 <flo-retina> mayanktg: you haven't answered my question.
13:18:01 <flo-retina> aleth: there's already a (not really clear) comment in the code
13:19:25 <mayanktg> flo-retina: Sorry. I will add the convToolbarButton class to the target switcher then.
13:20:03 <mayanktg> I will improve the comments and update the patch.
13:21:40 <clokep_work> sawrubh: So can you briefly explain to me what the SI does?
13:40:38 <mayanktg> flo-retina: I have two problems. 1. How to add the class to the targetSwitcher button only when its activated? (On adding the class its always behaving like a button :-/ )
13:40:38 <mayanktg>  2. The button moves a pixel left on hovering, when targetSwticher contains the class convToolbarbutton :-/
13:41:18 <sawrubh> clokep_work: sorry my internet started sucking, I just saw your ping now
13:41:20 <flo-retina> I hope you have two solutions then :)
13:41:53 <flo-retina> For 1., isn't the target switcher disabled when it's not supposed to behave as a button?
13:43:14 <mayanktg> It is. I mean I cannot click on it when there are no multiple targets present.
13:44:34 <sawrubh> clokep_work: so when one wants to send a file, you send a initiator request (an IQ stanza with the 'si' element like mentioned in the spec), the receiver gets it in onIQStanza, sends the notification bar to the UI of the receiver, which then accepts it (lets say), clicking on accept sends a IQ stanza with a result element (again like the spec) with the same,
13:44:34 <sawrubh> I added a callback to the initiator stanza I send
13:45:32 <clokep_work> sawrubh: OK, so is this SI used for ANY type of file transfer?
13:46:33 <sawrubh> SI is just used for negotiating things, it's not used for any File Transfer, actually file transfer (bytes) happens using IBB (also I don't fully understand your question)
13:47:30 <sawrubh> clokep_work: so that gets triggered when I get the result IQ stanza with the same ID, then the sender sends an In Band Bytestream Initiatorwhich then the receiver can accept/reject, right now I don't provide the user any way to reject/accept it (since it doesn't make sense to ask user twice for permission) so I start the IBB transfer
13:47:48 <sawrubh> IBB transfer is basically sending data elements and getting acks for it and that's it
13:48:36 <clokep_work> sawrubh: I'm not asking about IBB right now, just about SI.
13:48:57 <clokep_work> I don't understand how you say "it's not used for any File Transfer", you just said it's used to negotiate a file transfer. :-S
13:49:41 <sawrubh> *actual* file transfer by which I meant actual transport of bytes is done by IBB, SI is just the negotiator
13:50:06 <sawrubh> sorry for confusing you, SI is used and is the starting point of EVERY file transfer
13:52:39 <sawrubh> clokep_work: am I making sense ? (I'm not still clear what you need me to explain/what's confusing you about SI)
13:55:42 <clokep_work> sawrubh: That makes sense and fits with what I was expecting it to be.
13:57:05 <sawrubh> :)
13:57:35 <-- aleth has quit (Ping timeout)
13:57:48 <clokep_work> sawrubh: What's mostly confusing me is where the split between code being in xmpp-file-transfer and xmpp.jsm is.
13:58:18 <sawrubh> ok, let me clear that
13:59:03 --> aleth has joined #instantbird
13:59:03 * ChanServ sets mode +o aleth 
13:59:35 <sawrubh> so all the implementation of SI and IBB is in xmpp-file-transfer.jsm, besides that the only area where I need to make calls to those are in xmpp.jsm (onIQStanza specifically and the implementation of sendfile (which I defined in prplIConvIM)
14:00:40 <aleth> mayanktg: Don't you have different CSS depending on the state of the button? (disabled, on hover, on click...)
14:01:33 --> zen_monkey has joined #instantbird
14:02:22 <mayanktg> aleth: Yes. I have different CSS for each state but the problem is that if I set disabled="true" for targetSwitcher how would I enable it when there are multiple targets present?
14:02:44 <mayanktg> * I mean remove disabled attribute.
14:02:50 <aleth> removeAttribute?
14:03:12 <mayanktg> Yes. but where?
14:03:22 <aleth> https://developer.mozilla.org/en-US/docs/Web/API/Element.removeAttribute
14:03:30 <clokep_work> sawrubh: I guess I find it a bit frustrating how this code is organized.
14:03:43 <flo-retina> mayanktg: have you really tried, or are you asking us to figure it out for you?
14:03:51 <clokep_work> Not your code, just the way the XMPP code is written.
14:05:40 <mayanktg> aleth: I have used removeAttribute before. But I'm unable to figure out how the menu items are added to the targetSwitcher. 
14:05:40 <mayanktg> flo-retina: I'm trying. But I don't see the menuitems in the DOMi. I'll find this out.
14:05:46 <aleth> mayanktg: Do you really need me to say "you remove it when you know there are multiple targets present"?
14:06:16 <aleth> mayanktg: So you have to read the code around that until you do...
14:09:34 <mayanktg> aleth: All that needed was a tiny little digging. Done :)
14:16:16 --> arlolra has joined #instantbird
14:26:34 --> mconley has joined #instantbird
14:27:25 <-- aleth has quit (Ping timeout)
14:34:48 <-- mayanktg has quit (Ping timeout)
14:35:07 --> mayanktg has joined #instantbird
14:39:39 --> mayanktg-ph has joined #instantbird
14:45:15 <sawrubh> clokep_work: thanks for the feedback
14:45:25 * sawrubh starts taking a look and responding
14:47:28 <clokep_work> sawrubh: Btw generally why I'm asking for clarification it means "Make this comment better"
14:49:37 <sawrubh> OK :)
14:49:45 <sawrubh> bbiab
15:03:53 <-- Armada has quit (Ping timeout)
15:04:05 --> Armada has joined #instantbird
15:11:17 <-- mayanktg-ph has quit (Quit: )
15:12:56 --> aleth has joined #instantbird
15:12:56 * ChanServ sets mode +o aleth 
15:33:02 <-- zen_monkey has left #instantbird (Saliendo)
15:33:57 <-- mayanktg has quit (Ping timeout)
15:33:57 <-- gerard-majax__ has quit (Ping timeout)
15:34:40 --> mayanktg has joined #instantbird
15:35:38 <-- rosonline has quit (Connection reset by peer)
15:36:50 --> rosonline has joined #instantbird
15:39:41 <-- arlolra has quit (Ping timeout)
15:41:03 --> arlolra has joined #instantbird
15:43:34 <instantbot> New Instantbird - Conversation bug 1039566 filed by q9alpha@gmail.com.
15:43:37 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1039566 nor, --, ---, nobody, UNCO, Lag when interacting with chat history in Instantbird for OS X.
15:45:52 <sawrubh> nhnt11: ^ related to async logs?
15:46:27 <-- arlolra has quit (Quit: arlolra)
15:46:49 --> arlolra has joined #instantbird
15:48:17 <nhnt11> sawrubh: nope, it's voiceover related
15:48:26 <nhnt11> at least, I hghly doubt it
15:48:44 <aleth> It doesn't seem to be about logs at all.
15:49:12 <aleth> Also the user is probably on 1.5
15:49:23 <nhnt11> Yeah, the problem is /after/ the log is loaded
15:50:03 <nhnt11> oh, nvm
15:50:24 <nhnt11> Not log related
15:50:53 <nhnt11> the user is talking about scrollback
15:58:33 <-- nhnt11 has quit (Ping timeout)
15:59:50 --> nhnt11 has joined #instantbird
16:09:41 <-- arlolra has quit (Quit: arlolra)
16:21:14 --> BillBinkley has joined #instantbird
16:33:04 <-- mayanktg has quit (Ping timeout)
16:33:10 <-- BillBinkley has quit (Ping timeout)
16:33:21 --> mayanktg has joined #instantbird
16:57:05 <aleth> mayanktg: Can you f? jamie again on the webcam bug now it has landed in nightlies and ask for accessibility feedback?
16:57:27 <mayanktg> aleth: Yes. I'm adding him again.
16:57:41 <aleth> mayanktg: Sorry, I meant "needinfo" not feedback.
16:58:26 <aleth> (at the bottom under the comments box)
17:06:10 <clokep_work> sawrubh: So does that feedback make sense?
17:08:52 <sawrubh> I've two things , a) I'm not able to find a good way to abstract that code between xmpp-file-transfer.jsm and xmpp.jsm you talked about (the one where I was creating an IQ stanza) b) I wasn't able to call `systemMessage` from either of the .jsm's since that seems to be an imI-something method
17:09:16 <sawrubh> also that typo in "In Band Byestreams", is that intentioal?
17:09:25 <sawrubh> I mean I don't see myself using different spellings
17:13:20 <sawrubh> more about a) above, the actual construction of the iq stanza is quite specific, (for example with mime field when I do it in xmpp-file-transfer.jsm and without mime in xmpp.jsm) so it'll have more overhead to abstract it
17:15:21 <aleth> re b) how about using writeMessage?
17:16:32 * sawrubh checks up writeMessage to ensure it's visually differentiable from a chat message
17:16:48 <aleth> You have to set the appropriate flags of course
17:17:34 <sawrubh> ah
17:20:29 <sawrubh> aleth: just confirming, fat arrows seemed to be an issue with Task
17:20:30 <sawrubh> I tried using them and it complained
17:21:39 <aleth> Well, they can't be generators.
17:22:37 --> arlolra has joined #instantbird
17:27:37 <sawrubh> aleth: https://pastebin.mozilla.org/5563598 is my code snippet, it's a generator, any way I could avoid using `that`
17:27:56 <aleth> that?
17:28:06 <sawrubh> L3
17:28:44 <sawrubh> the `that` on L3, I mean use fat arrow to avoid using `that`
17:29:09 <aleth> You need to use function* (i.e. a generator function). Functions with "yield" in them are generators, read up about it on mdn ;)
17:29:51 <aleth> Instead of 'that' you can use .bind(this)
17:30:05 <aleth> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
17:30:23 <sawrubh> aleth: so the Task example on https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread#Example.3A_copy_a_file_by_chunks doesn't use function*
17:30:56 * Fallen|away is now known as Fallen
17:30:58 <sawrubh> and even with using function* I won't be able to use fat arrow functions right?
17:31:00 <aleth> You used to be able to do that, now it causes an error.
17:31:10 <aleth> Right, like I said, fat arrow functions can't be generators.
17:32:10 <sawrubh> hrm, I successfully sent files using `function` only (and not `function*`), just saying. So is that 'now it causes an error' very recent?
17:32:19 <aleth> Someone should update the example.
17:32:23 * sawrubh wonders how not using function* worked for him
17:32:57 <aleth> It's quite recent, yes
17:33:18 <sawrubh> aleth: link to the bug?
17:33:22 <aleth> Look at all the function* here https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Task.jsm
17:33:36 <aleth> I have no idea what the bug is, look it up yourself if you are interested :P
17:33:57 <sawrubh> :)
17:34:25 <aleth> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*
17:34:56 <aleth> Do you have the js-strict about:config pref set? It may be a warning at the moment and you're not seeing it.
17:35:16 <sawrubh> I'll check that pref
17:36:21 <aleth> Btw it's OK to be confused, part of the problem is that there are a lot of mdn pages, of differing age, and lots of different Task and Promise implementations. So not everything on mdn is 100% consistent ;)
17:36:22 * sawrubh needs to brush up his BugZilla searching foo
17:38:52 <clokep_work> sawrubh: You say "InBandBytestreams" sometimes and "In Band Bytestreams" and I think "In-Band Bytestreams", which is it?!
17:38:59 <clokep_work> Use whatever the XEP uses, and use it everywhere.
17:39:27 <clokep_work> sawrubh: I don't understand your comment about abstracting.
17:39:37 <clokep_work> I think I just asked you to move some stuff inside of a method?
17:41:47 <sawrubh> one sec
17:42:22 <mayanktg> aleth: When the targetSwitcher button is enabled does the button shifts 2px to the left from its actual position? I see this regression in the latest Linux Nightly I'm using.
17:42:46 <aleth> mayanktg: You mean, it happens without your patch too?
17:42:55 <mayanktg> Yes.
17:43:00 <aleth> Sounds like a bug.
17:43:15 <aleth> Maybe nobody noticed it before as the task switcher wasn't properly styled as a button.
17:43:30 <aleth> Just fix it.
17:43:51 <aleth> Your new generic buttons shouldn't shift around after all ;)
17:45:04 <mayanktg> Moreover the border-bottom also leaves a whitespace at the corner. :-/ I have fixed the border problem, trying to fix the shifting too.
17:47:03 <aleth> One of the immediate benefits of your patch will be that the switcher will become much more discoverable (I bet so far very few users discovered it was clickable)
17:48:59 <mayanktg> I know. It took flo-retina ages to explain me how it actually works. ;)
17:49:56 <clokep_work> :)
17:52:17 <sawrubh> clokep_work: "This looks very similar to some code I saw in xmpp.jsm...can they be combined in someway?" aiui you mean https://pastebin.mozilla.org/5563638 in xmpp-file-transfer.jsm which is similar to https://pastebin.mozilla.org/5563652 (that's the most similar code snippet in xmpp.jsm which I could find)
17:53:27 <-- rosonline has quit (Connection reset by peer)
17:53:41 <sawrubh> Do I understand what you meant correctly? I don't see how very easily I could abstract these two (very little wins in my opinion, readability wise), your opinions?
17:55:08 --> rosonline has joined #instantbird
17:56:14 <aleth> mayanktg: At least now you've discovered the problem is not caused by your patch, that means you have learnt the problem is in one of the existing CSS rules, not in your new one ;)
17:59:49 --> mpmc has joined #instantbird
18:01:36 <clokep_work> sawrubh: Yeah so they're not as similar as I initially thought.
18:01:41 <clokep_work> That XMPP API is hard to read. :(
18:02:19 <sawrubh> ok, I'll ignore that then.
18:03:17 <aleth> mayanktg: Can't you simply delete most of the existing CSS rules for the target switcher icon, and let your new works-for-all-buttons rule do the job?
18:03:47 <mayanktg> aleth: Ok. I'll do that. :)
18:04:02 <aleth> Worth a try.
18:05:01 <clokep_work> sawrubh: I'm MORE interested in ensuring that everything that deals with IBB is in the file transfer file.
18:07:52 --> BillBinkley has joined #instantbird
18:10:51 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:11:14 <-- BillBinkley has quit (Ping timeout)
18:14:35 --> BillBinkley has joined #instantbird
18:28:40 * mconley is now known as mconley|lunch
18:31:10 <-- BillBinkley has quit (Ping timeout)
18:32:13 <-- arlolra has quit (Quit: arlolra)
18:32:33 --> flo-retina has joined #instantbird
18:32:33 * ChanServ sets mode +qo flo-retina flo-retina 
18:32:54 <-- flo-retina has quit (Input/output error)
18:33:01 --> flo-retina has joined #instantbird
18:33:01 * ChanServ sets mode +qo flo-retina flo-retina 
18:33:15 <sawrubh> clokep_work: also I'll just stick with using that, the other option is to use .bind(this), which one do you prefer?
18:33:43 <clokep_work> sawrubh: Your choice.
18:34:18 <sawrubh> using `that` then :)
18:34:29 <aleth> Well if you use 'that' at least store the conv instead of 'that'
18:34:37 <aleth> 'that' is just weird ;)
18:35:03 <sawrubh> ^ that line is so deep :P
18:47:41 --> zen_monkey has joined #instantbird
18:51:14 * clokep_work dislikes callbacks.
18:51:38 <-- zen_monkey has left #instantbird (Saliendo)
18:51:55 * mconley|lunch is now known as mconley
18:52:23 <sawrubh> apparently no one responded on #mdn about that article needing to be changed and I'm not confident to change it myself and there's no way to file a bug about it or somethin
18:52:34 * sawrubh adds that to his things to be reported list
18:53:16 --> BillBinkley has joined #instantbird
18:54:09 <mayanktg> The problem is with the targetSwitcher button only as only this shifts position by 2px when active. Just a few more min and I will find the solution.
18:54:50 <aleth> Maybe it only happens to the rightmost button or something?
18:55:39 <mayanktg> No. Its not happening to the rightmost button. I have kept the video call button to the right at the moment and the error still persists.
18:55:58 <mayanktg> i.e. Only the targetSwitcher button is effected.
18:56:18 <sawrubh> hrm, I need a way to get to the XMPPFileTransfer object when inside InBandBytestream object :/
18:57:58 * sawrubh adds a property for now
18:59:45 * sawrubh calls it xmppft for now
19:00:24 <mayanktg> Adding |padding-left: 2px; | to targetSwitcher when button is active fixes it ...but its weird to use such a solution. :S
19:01:14 <aleth> Does the icon have the same size as the others?
19:01:16 <clokep_work> sawrubh: Why not just fileTransfer?
19:01:28 <clokep_work> sawrubh: Btw if you do that, please reference it's properties for the file and filesize. ;)
19:01:39 <sawrubh> yeah :)
19:01:42 <-- BillBinkley has quit (Ping timeout)
19:02:48 * clokep_work was going to suggest that earlier.
19:02:54 <-- aleth has quit (Ping timeout)
19:03:00 <-- mayanktg has quit (Ping timeout)
19:04:14 <sawrubh> how did I overlook that myself!
19:04:43 <clokep_work> It's always good to read back over your code and ensure it makes sense. :)
19:04:45 <clokep_work> I don't do that enough.
19:06:54 --> mayanktg has joined #instantbird
19:22:02 <-- mayanktg has quit (Ping timeout)
19:22:23 --> mayanktg has joined #instantbird
19:29:18 <-- mayanktg has quit (Ping timeout)
19:29:40 --> mayanktg has joined #instantbird
19:30:35 <-- rosonline has quit (Client exited)
19:38:03 <mayanktg> The space was added when setting the type="menu" of the toolbarbutton. Reseting the toolbarbuton-icon margin did the trick. :) 
19:43:07 <-- mayanktg has quit (Ping timeout)
19:43:29 --> mayanktg has joined #instantbird
19:51:00 <-- mayanktg has quit (Ping timeout)
19:51:19 --> mayanktg has joined #instantbird
19:57:10 --> BillBinkley has joined #instantbird
20:02:48 <nhnt11> Bah!
20:03:13 <nhnt11> I'd assumed that doing OS.Path.join("", "foo", "bar") would result in a relative path "foo/bar"
20:03:20 <nhnt11> Turns out it results in "/foo/bar"
20:03:49 <nhnt11> This would be okay if OS.Path.join("foo", "/foo/bar") resulted in "/foo/foo/bar"
20:04:03 <nhnt11> But if any of the arguments to join is absolute, the previous arguments are simply ignored
20:04:05 <nhnt11> :'(
20:07:23 * nhnt11 works around it
20:09:02 <clokep_work> nhnt11: That seems like it should just throw an exception.
20:09:15 <clokep_work> "", "foo", "bar" -> /foo/bar makes perfect sense to me.
20:09:20 <nhnt11> aleth: Indeed it looks like the whole complicated getRelativeLogPath function I cooked up is redundant and doesn't differ from just stripping off the logs dir path from the beginning of the string
20:09:38 <nhnt11> clokep_work: Yeah, but there's no way at all to construct a relative path
20:10:04 <nhnt11> though I agree in most cases it would make sense to construct the absolute path..
20:10:53 <nhnt11> clokep_work: Btw, what would you expect from joining "foo", "bar" without the leading ""?
20:11:15 * nhnt11 smacks himself in the head
20:11:35 <nhnt11> join("foo", "bar") results in "foo/bar" which is what I want :-S
20:11:41 <-- BillBinkley has quit (Ping timeout)
20:11:44 <nhnt11> For some reason I thought that would result in "/foo/bar" too
20:12:00 * nhnt11 thought he tried all cases but looks like he didn't
20:17:25 <clokep_work> nhnt11: It does what I'd expect. :P
20:28:25 <-- mayanktg has quit (Ping timeout)
20:28:46 --> mayanktg has joined #instantbird
20:31:03 <-- clokep_work has quit (Ping timeout)
20:32:22 --> jb has joined #instantbird
20:33:09 --> EionRobb has joined #instantbird
20:34:55 <-- jb has quit (Ping timeout)
20:35:47 --> jb has joined #instantbird
20:40:57 <-- mayanktg has quit (Ping timeout)
20:41:24 --> mayanktg has joined #instantbird
20:42:17 <mayanktg> flo-retina: I have uploaded the patch for generic buttons just now. Take a look over it whenever you are free. :)
20:48:26 <-- mayanktg has quit (Ping timeout)
20:48:44 --> mayanktg has joined #instantbird
20:49:49 --> Mook_as has joined #instantbird
20:52:04 --> aleth has joined #instantbird
20:52:04 * ChanServ sets mode +o aleth 
20:52:10 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
20:59:53 <sawrubh> nhnt11: hey, what if there is a failure on L11 of https://pastebin.mozilla.org/5563598? How do I handle that?
21:00:28 <nhnt11> sawrubh: So a basic flaw with that is that you've used yield outside of a generator function
21:00:37 <nhnt11> And more importantly, outside of a task.
21:00:47 <nhnt11> 1 sec
21:01:32 <nhnt11> sawrubh: https://pastebin.mozilla.org/5564207
21:01:41 <nhnt11> Just use a normal try  catch block :)
21:01:54 <nhnt11> Though I think you want that catch to be a finally ;)
21:03:22 <sawrubh> but what if I want to handle the error in L7 of https://pastebin.mozilla.org/5564207 differently from L10
21:03:36 <sawrubh> if I use a finally, it'll catch 'em all
21:03:57 <nhnt11> sawrubh: Wrap L10 in another try catch?
21:04:07 <sawrubh> :)
21:04:25 <aleth> Or chain a .catch() on the Task to catch any errors on close.
21:04:30 <nhnt11> sawrubh: There may be a better solution depending on the context
21:04:39 <nhnt11> Yeah, I was going to suggest what aleth just said
21:05:03 <sawrubh> aleth: yeah that combines Promise and Task goodness
21:05:21 <sawrubh> ta everyone
21:10:45 * Fallen is now known as Fallen|away
21:14:14 <-- CAKCy has quit (Quit: Have a great day everyone!)
21:22:06 <nhnt11> aleth: Oh yeah, wanted to ask you for comment help. https://pastebin.mozilla.org/5564287
21:22:46 <aleth> Should it throw instead of return if the if clause fails?
21:23:07 <aleth> Comment seems fine.
21:23:46 <-- jb has quit (Ping timeout)
21:23:55 <nhnt11> I think it may be useful as a "make it relative if it's not already" kind of thing. Not sure.
21:24:31 <aleth> The useful part is the bit about the separator.
21:24:47 <aleth> Because that's always the questionable detail about relative paths...
21:25:20 <aleth> nhnt11: It depends on how/where you call it
21:26:20 <nhnt11> Right, I wanted to know if the "along with the separator" part was clear enough :) And yeah, if it throws, it'll serve as a check to ensure the input path is absolute
21:26:21 <aleth> If you feel a disturbance in the code when it doesn't have that leading bit, throw.
21:42:53 * Fallen|away is now known as Fallen
21:47:17 <-- Bollebib has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
21:50:09 <aleth> mayanktg: That toolbar button CSS you copied from FX, is it really the same for all OS?
21:51:25 <aleth> You've taken it from the Windows browser.css - have you checked it is the same for Linux and OSX?
21:52:06 * aleth wonders why you took the Windows version and not the Linux version, since you are on Linux ;)
21:54:58 <mayanktg> Just a min. I'm checking it. I used it because I only included the background, transition, border and box shadow property.
21:55:25 <mayanktg> I should have checked it for different OS's 
21:55:27 <mayanktg> :-/
22:03:56 <nhnt11> aleth: What do you think of this method of removing duplicates from an array? https://pastebin.mozilla.org/5564413
22:04:01 <nhnt11> It probably needs a comment..
22:04:28 <aleth> How can a set have duplicate values?
22:04:29 * nhnt11 keeps finding little things like this (dupes in the array)...
22:04:51 <aleth> Oh wait.
22:05:05 <nhnt11> aleth: _dayIDsByRelativePath is a Map, and I meant to use keys there. These can't be dupes, yes, but the thing is the keys are paths with filename
22:05:21 <nhnt11> So once I do dirname, there can be dupes
22:05:40 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
22:06:53 <aleth> I don't understand that let paths of dayIds...values Shouldn't it be let day of dayids..valueas?
22:07:24 <nhnt11> aleth: _dayIDsByRelativePath is a Map of relative path -> dayID
22:07:38 <aleth> So the values are dayIDs
22:07:41 <nhnt11> dayID of that relative path I mean
22:07:42 <aleth> Not paths
22:07:46 <nhnt11> Yes, I meant to use keys there like I said
22:07:55 <aleth> Oh, that's what you meant. Sorry
22:09:11 <nhnt11> (This was a way of getting rid of the _relativePaths Set, and hence eliminating confusion because of one data structure including filenames and one not including them)
22:09:32 <aleth> It smells overly complicated somehow
22:09:35 <nhnt11> Also since you said "This was already complicated enough" :]
22:09:38 <nhnt11> :(
22:10:10 <nhnt11> I'm using these Maps/Sets to avoid computing dayID and stuff for several strings at search-time
22:10:28 <nhnt11> If you think that's premature optimization, I'll just use a paths array and do filtering
22:10:40 <nhnt11> The thing is it's possible for a log set to have a ton of files
22:13:16 <aleth> Is it expensive to compute dayID from filename?
22:14:25 <nhnt11> aleth: Not very, but since we're already computing them in the constructor, I didn't like computing them again later.
22:15:00 <nhnt11> But it may be slightly expensive for >1k strings (it involves constructing a Date and setting the hours/mins/seconds to 0, and then toISOString())
22:15:51 <aleth> Hmm, you could filter it by let paths = new Set([OS.Path.dirname(path) for path of this._dayIdsBYRelativePath.values()]);
22:16:14 <nhnt11> aleth: I'd have to construct the array again from the Set to pass to the search function
22:16:52 * ivan is now known as ivan`
22:17:26 <aleth> It seems easier to keep the this._relativepaths set from the constructor
22:17:45 <aleth> That's probably quite a small set, right?
22:17:49 <nhnt11> With the filenames confusion?
22:17:58 <nhnt11> Yes, since it's only log folders and not files
22:18:22 <aleth> It seems much more expensive to traverse and filter the complete list of files to build it every time.
22:18:30 <nhnt11> Yeah.
22:18:57 <aleth> Just call it relativeDirnames or something 
22:19:00 <nhnt11> I'll rename the set to relativeLogFolderPaths or something like that to avoid the filenames confusion if you think that's a good idea
22:19:03 <nhnt11> Ah :)
22:19:04 <nhnt11> okay
22:19:48 <mayanktg> aleth: Will the buttons look different/weird when seen on Mac and Windows? I have only tried that on Linux and they look ok.
22:20:22 <aleth> mayanktg: I have no idea - certainly the FX toolbar differs between OS
22:21:03 <aleth> Does it look better on Linux when you use the Linux rules rather than the WIndows rules? ;)
22:21:09 <aleth> Have you tried?
22:21:28 * nhnt11 wonders if he's overthinking a lot of this stuff and wasting time
22:21:34 <-- mayanktg has quit (Ping timeout)
22:21:40 --> mayanktg has joined #instantbird
22:23:30 <sawrubh> if I want to handle L6 separately in https://pastebin.mozilla.org/5564445, is there anything better than a nested try catch?
22:23:31 <aleth> nhnt11: Idk, but you have to expect at least one review cycle of rethinking after writing a big patch like that. After everything works for the first time, it's a good idea to take a deep breath and then look at the code that resulted from the WIPs and see if one can simplify it.
22:24:22 <nhnt11> aleth: I'd be very surprised if there weren't a few review cycles, that's not what I meant :)
22:24:48 <nhnt11> (I wasted quite some time with the OS.Path.join stuff earlier, and am annoyed at myself for that)
22:24:58 <sawrubh> I've exhausted chaining and a single try catch block
22:25:38 <mayanktg> aleth: No. I'm searching for the rules and seeing how it looks...Hope we don't need to write OS specific CSS for the buttons too. ;)
22:26:20 <aleth> mayanktg: I only asked since you're copying the CSS anyway so you don't have to write it.
22:27:22 <nhnt11> sawrubh: "Handle L6 separately" do you want to still execute the rest of the try block even if it fails?
22:28:09 <sawrubh> no I want to a show a different error when I know the error is from L6 instead of L8
22:28:12 <nhnt11> sawrubh: Or did you want to avoid closing if you failed to open the file?
22:28:14 <nhnt11> Oh
22:28:53 <sawrubh> also just curious, what does on do if one gets an error while closing itself, does the file remain open :/
22:29:12 * nhnt11 would just have one error type for all I/O errors, and have a different message for the specific cases
22:29:34 <nhnt11> (I'm assuming there's some error message string that you can set?)
22:29:46 <aleth> aError should contain some suitable string
22:30:15 <aleth> You should probably test it's an actual OS.File error you're catching
22:30:23 <sawrubh> I mean if there's an error during write, we close it, if there's one during open it, we just exit, what happens where there's one during close?
22:31:18 <-- mayanktg has quit (Ping timeout)
22:31:19 <sawrubh> aleth: you mean right now I might not be catching an OS.File error correctly?
22:31:29 --> mayanktg has joined #instantbird
22:31:40 <aleth> Look at "exception handling" here for an example https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Task.jsm
22:32:09 <nhnt11> sawrubh: I don't think close() throws unless the file isn't open or something.
22:32:25 <sawrubh> nhnt11: 'would just have one error type for all I/O errors, and have a different message for the specific cases' how is that different from what I'm doing. What I plan to do is get the string from the properties file in the UI and different message is what I'm trying to do
22:32:27 <aleth> If there's an error during close, what exactly happens depends on what exactly caused the error
22:32:36 --> gerard-majax__ has joined #instantbird
22:33:22 <aleth> sawrubh: Ask clokep, but I suspect having all these different error types for what are basically "error writing file to disk" may be premature optimization
22:33:49 <-- nhnt11 has quit (Ping timeout)
22:33:53 --> nhnt11 has joined #instantbird
22:33:55 <sawrubh> yeah, I'll move on for now
22:34:12 <sawrubh> I've spent enough time trying to clean this up
22:34:21 <aleth> The important thing is your code doesn't completely break.
22:37:58 <nhnt11> sawrubh: I saw ERROR_WRITE and ERROR_CLOSE, that's why I said that.
22:38:04 <nhnt11> But never mind.
22:40:01 <mayanktg> aleth: The CSS looks similar to me when I try the linux code (maybe 'cos I'm only borrowing selected properties). I guess it would be better to include the different OS CSS's too for the hover and active state of the buttons.
22:40:23 <aleth> mayanktg: Sure, if you make it OS specific then you have to do it for all states
22:41:43 <-- mayanktg has quit (Ping timeout)
22:41:49 --> mayanktg has joined #instantbird
22:42:49 <flo-retina> mayanktg: I'm testing the generic icon patch.
22:42:56 <flo-retina> Is there anything I should look at in particular?
22:43:46 * Fallen is now known as Fallen|away
22:43:50 <aleth> flo-retina: He took the CSS from the Windows browser.css, so check it looks OK on OSX.
22:44:06 <mayanktg> flo-retina: 1. Check whether the targetSwitcher is working the way it should or not. 2. Please look if the buttons look decent on Mac.
22:44:25 <aleth> mayanktg says it looks OK on Linux so if it's alright on all OS he doesn't have to add ifdef'd variants.
22:46:53 <-- gerard-majax__ has quit (Ping timeout)
22:47:03 <-- mayanktg has quit (Ping timeout)
22:48:01 --> mayanktg has joined #instantbird
22:48:31 <-- mconley has quit (Input/output error)
22:48:59 --> mconley has joined #instantbird
22:50:44 <-- mconley has quit (Ping timeout)
22:51:21 --> chrisccoulson has joined #instantbird
22:54:15 <mayanktg> Did the patch work?
22:56:09 <flo-retina> got distracted, sorry
23:00:03 <flo-retina> mayanktg: here is how it looks: http://i5.minus.com/ib0LWumgJx2kvc.png
23:01:58 * aleth suspects the OSX rules would look better (at least the FX toolbar does ;) )
23:03:02 <mayanktg> Ok. The icon appears to be blurry. Shouldn't the button remain in its active state? :-o
23:03:49 <mayanktg> I'm liking this too :P
23:03:49 <mayanktg> Haven't seen the latest OSX Firefox version :(
23:04:00 <aleth> The icon isn't blurry, it's just scaled up because it's a retina screen.
23:04:27 --> gerard-majax__ has joined #instantbird
23:06:22 <mayanktg> Ok. So now what should we change/add in the patch?
23:07:49 <-- gerard-majax__ has quit (Ping timeout)
23:08:37 --> Tonnes has joined #instantbird
23:11:42 <aleth> mayanktg: This is what a clicked button looks like on OSX http://puu.sh/aexnw/9d3c09c105.png
23:12:52 --> wnayes has joined #instantbird
23:14:55 <mayanktg> aleth: It looks the same on my Linux machine. I did a upload a screnshot though about how it looked. https://bug1004930.bugzilla.mozilla.org/attachment.cgi?id=8430288 
23:14:58 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1004930 enh, --, ---, mayanktg, ASSI, Generic way to add buttons for actions to a conversation
23:17:47 <mayanktg> Shall we go for common icons for all OS's? I have no idea what should I do. :-|
23:21:14 <aleth> mayanktg: Wait for the review comments ;)
23:24:46 <flo-retina> mayanktg: do you have some code I can paste in the error console to easily add another button to my conversation?
23:25:46 --> zen_monkey has joined #instantbird
23:26:13 --> Hadi has joined #instantbird
23:27:09 <mayanktg> flo-retina: I used to to add http://pastebin.instantbird.com/751307 at the initConversationUI method in conversation binding. 
23:27:40 <mayanktg> Add a line to include the image too. 
23:28:06 --> Rym has joined #instantbird
23:29:53 <-- Rym has quit (Ping timeout)
23:37:43 <-- aleth has quit (Quit: exit stage left)
23:38:09 <-- mayanktg has quit (Ping timeout)
23:38:32 --> mayanktg has joined #instantbird
23:38:47 <flo-retina> wow, someone fixed the outlines on DOMi on Mac!
23:38:54 <flo-retina> that's the first time I see them working on Mac
23:40:27 --> Rym has joined #instantbird
23:40:48 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
23:40:58 --> nhnt11 has joined #instantbird
23:46:25 <-- Rym has quit (Ping timeout)
23:46:53 --> Rym has joined #instantbird
23:52:00 <-- Rym has quit (Ping timeout)
23:55:21 --> Rym has joined #instantbird