#instantbird log on 07 17 2014

All times are UTC.

00:04:37 <-- zen_monkey has quit (Connection reset by peer)
00:20:24 --> zen_monkey has joined #instantbird
00:20:57 <-- Rym has quit (Ping timeout)
00:29:11 * sawrubh wonders where clokep is
00:34:53 <sawrubh> gah, ch3kr.de is acting weird again
00:35:11 * sawrubh wonders how to get a reliable jabber account
00:35:50 <mayanktg> wait for a few minutes. It will be able to connect soon.
00:39:45 <sawrubh> yay
00:39:49 <sawrubh> it works now
00:51:37 <EionRobb> "how to get a reliable jabber account" run your own server
00:52:37 <-- wnayes has quit (Ping timeout)
00:53:33 <sawrubh> :)
00:53:39 --> wnayes has joined #instantbird
00:54:29 <EionRobb> is there an @instantbird.im xmpp server? :)
01:04:09 <sawrubh> I don't think so, flo might know.
01:07:38 <-- mayanktg has quit (Client exited)
01:10:50 <-- Armada has quit (Connection reset by peer)
01:15:02 <-- Mook_as has quit (Quit: Mook_as)
01:22:44 --> clokep has joined #instantbird
01:22:44 * ChanServ sets mode +o clokep 
01:28:55 <sawrubh> clokep: o/
01:29:03 <sawrubh> ready for giving some r+'es :P
01:29:08 * sawrubh uploads the patches
01:30:01 <clokep> sawrubh: We'll see. ;)
01:30:08 <sawrubh> clokep: I'm using `remoteName` instead of `other` for now
01:30:30 <clokep> That seems better.
01:30:35 <clokep> And no, we don't have an XMPP server.
01:31:04 <sawrubh> clokep: "Any reason for changing the order here?" what's the current order?
01:31:39 <sawrubh> "This code seems to me like it should be organized inside of the IBB code." Done, moved it all inside writeChunk :)
01:32:19 <clokep> sawrubh: I hope it looks cleaner there! :)
01:32:25 <clokep> Umm...I need context.
01:32:26 <clokep> One second.
01:33:39 <clokep> sawrubh: file_transfer_profile vs profile/file-transfer
01:33:41 <clokep> The order of the words.
01:34:02 <sawrubh> didn't give it a thought
01:34:06 <sawrubh> will not reorder then
01:34:22 <clokep> OK! :) That was the question. ;)
01:34:31 <clokep> I know there isn't a "real" way that those are all renamed.
01:34:37 <clokep> But just trying to follow the general trend, ya know?
01:35:37 <sawrubh> "I'm a bit confused by this method in general.......Am I totally misunderstanding what is happening here?" I need to read things of aStanza (because things like id of the iq stanza are in it and not in the object that has already been created, that object has the id of the si element inside the iq stanza)
01:36:04 <clokep> sawrubh: OK, but a lot of the stuff has already been read out of it.
01:36:14 <clokep> And reading it again is redundent.
01:36:21 <sawrubh> yes, I improved the code now :)
01:36:36 <sawrubh> thanks for pointing that out, you'll fine the latest patch a lot slimmer ;)
01:36:43 <sawrubh> *find
01:37:08 <clokep> :) I hope so!
01:37:26 * clokep always likes shorter code.
01:37:40 <sawrubh> "When did the file transfer get added to the map?" when I created the object while sending the notification to the UI
01:37:48 <clokep> It looks good overall! You can tell by looking it at that a few things weren't thought through initially, but now that it's all there we can go back and improve. :)
01:37:56 <clokep> sawrubh: Really? Did I miss that line.
01:37:59 <clokep> Which notification?
01:38:07 <clokep> Can you give me a file/line numbre?
01:39:02 <sawrubh> so inside onIQStanza when I am preparing the XMPPFileTransfer object (with the information to pass to the UI), it gets added to the _fileTransfers map (this actually happens inside the initialization in XMPPFileTransfer)
01:39:19 <sawrubh> and I reuse that entry where you've commented "When did the file transfer get added to the map?"
01:40:03 * clokep can't find onIQStanza.
01:40:12 <sawrubh> it's inside xmpp.jsm
01:40:24 * sawrubh finds the line in the patch and a link to it
01:40:31 <clokep> Thanks.
01:40:36 <sawrubh> err you won't be able to Ctrl+F it
01:40:37 <clokep> Just the line # will do.
01:40:43 <clokep> Hah, that's what I was trying!
01:40:52 <sawrubh> it's not in the context of the patch
01:42:05 --> clokep_work has joined #instantbird
01:42:05 * ChanServ sets mode +o clokep_work 
01:44:10 <clokep> OK, can you give me a line number or something to search for?
01:44:29 <sawrubh> L853 of https://bugzilla.mozilla.org/attachment.cgi?id=8456417&action=diff#a/chat/protocols/xmpp/xmpp.jsm_sec5"the sender wants to send a file"? This is confusing, I think you mean..." I've reworded that comment to "This is received when the buddy wants to send a file." couldn't find a more technical word for 'guy you're talking to'
01:44:41 --> Rym has joined #instantbird
01:45:25 <sawrubh> sorry for the mixup there ^ (the second message starts after the link)
01:45:59 <clokep> sawrubh: That just seems to create the file transfer, but not put it in the map.
01:46:20 <sawrubh> inside XMPPFileTransfer's initialization code, it's automatically inserted
01:46:25 <sawrubh> ..linking...wait a sec
01:47:01 <sawrubh> L66 and L78 of https://bugzilla.mozilla.org/attachment.cgi?id=8456417&action=diff#a/chat/protocols/xmpp/xmpp-file-transfer.jsm_sec2
01:47:38 <clokep> Hmm...interesting.
01:47:38 <sawrubh> as soon as you initialize, it's being tracked in the transfers you've got going on
01:47:47 <clokep> OK. So when you create it, it adds itself.
01:47:51 <clokep> That's fine.
01:47:54 <sawrubh> yep
01:48:09 <sawrubh> just to keep it uniform, pending, ongoing, all in one place :)
01:48:15 <sawrubh> key'ed by sessionId
01:48:21 <clokep> Yes.
01:48:24 <clokep> Combine those lines. :P
01:48:29 <-- Rym has quit (Ping timeout)
01:48:35 <sawrubh> done, you commented about it :)
01:48:48 <clokep> I know. ;)
01:48:51 --> Rym has joined #instantbird
01:48:52 <clokep> Just re-iterating.
01:49:05 <sawrubh> ok, so seems all's addressed then...
01:49:16 <sawrubh> "the sender wants to send a file"? This is confusing, I think you mean..." I've reworded that comment to "This is received when the buddy wants to send a file." couldn't find a more technical word for 'guy you're talking to'
01:49:23 <sawrubh> ^resending the mixup message
01:50:55 <clokep> Yeah that's fine.
01:51:13 <clokep> (It's confusing to me btw cause obviously the "sender" is the one to "send a file" :))
01:51:51 <sawrubh> and not offer it (and have the possibility of being rejected) :)
01:52:22 <-- Rym has quit (Ping timeout)
01:52:39 <clokep> Hah
01:52:45 --> Rym has joined #instantbird
01:54:06 --> mconley has joined #instantbird
01:54:48 * sawrubh just adds that final bit of writeMessage to signal file transfer completion
01:55:18 <sawrubh> woah DXR, y u 404'ing me :( http://dxr.mozilla.org/comm-central/source/
01:55:45 --> qheaden has joined #instantbird
01:55:58 <-- qheaden has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
01:56:05 <sawrubh> and it's back online...
01:56:20 <clokep> Hah.
01:58:34 <-- Rym has quit (Ping timeout)
01:58:56 --> Rym has joined #instantbird
01:59:36 <-- Rym has quit (Quit: WeeChat 0.4.3)
02:02:09 <sawrubh> clokep: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/appendNotification which one of the CRITICAL priorities do you like?
02:02:41 <clokep> sawrubh: What do they do? :)
02:02:54 <clokep> What difference do they make?
02:03:04 <-- zen_monkey has left #instantbird (Saliendo)
02:03:22 <sawrubh> the page doesn't say much :)
02:03:32 <sawrubh> I guess....probably....dunno :)
02:03:52 <clokep> Try it?!
02:04:21 * sawrubh does
02:04:48 <sawrubh> expects a raging gorilla to come out of PRIORITY_CRITICAL_HIGH
02:04:55 <clokep> Haha!
02:04:57 <clokep> that would be fun!
02:28:25 <-- clokep_work has quit (Ping timeout)
02:29:45 <-- Hadi has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:29:53 --> clokep_work has joined #instantbird
02:29:53 * ChanServ sets mode +o clokep_work 
02:31:45 <sawrubh> ok, so writeMessage done, priorities checked, all CRITICAL ones are red in color, the WARNING ones are white and the INFO ones are in the color of the application (so in this case IB's grey-ish color)
02:32:45 <sawrubh> clokep: I guess I'll use the CRITICAL ones for all of them, except the transfer declines one, in which case do you want me to use white (WARNING) or IB's color (INFO)?
02:33:54 <clokep> sawrubh: INFO, I think.
02:34:07 <sawrubh> coolio
02:34:55 <clokep> :)
02:34:59 <clokep> I need to try this patch "soon".
02:35:06 <clokep> I'm busy tomorrow night thouhg. :-\
02:35:08 <clokep> maybe during lunch
02:35:37 <sawrubh> btw I assume you couldn't take a look at that FileLink patch I emailed you yesterday
02:36:14 <clokep> No, we have a test going on at work right now. :-\
02:37:10 <sawrubh> like an exam :)
02:37:37 <clokep> But less fun. ;)
02:38:07 * sawrubh couldn't notice any visual difference between the LOW, MEDIUM, HIGH and BLOCK versions of CRITICAL
02:38:16 <sawrubh> guess I'll go with MEDIUM for now
02:39:09 <clokep> Alright.
02:50:06 <sawrubh> clokep: there ya go!
02:50:35 <clokep> sawrubh: I'm about to go to bed. ;P
02:50:46 <clokep> I'l look in the morning
02:51:01 <sawrubh> Ok, I'll go to bed too then.
02:53:24 <-- wnayes has quit (Ping timeout)
02:53:42 --> wnayes has joined #instantbird
02:54:13 <-- EionRobb has quit (Quit: Leaving.)
02:54:39 <-- wnayes has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:57:09 <-- clokep_work has quit (Ping timeout)
03:00:12 <-- clokep has quit (Ping timeout)
03:28:07 --> EionRobb has joined #instantbird
03:47:13 <-- mconley has quit (Input/output error)
03:47:41 --> mconley has joined #instantbird
03:49:25 <-- mconley has quit (Ping timeout)
04:07:03 <instant-buildbot> build #1447 of win32-nightly-default is complete: Success [3build successful]  Build details are at http://buildbot.instantbird.org/builders/win32-nightly-default/builds/1447
05:04:47 --> Bollebib has joined #instantbird
05:18:11 <-- EionRobb has quit (Ping timeout)
05:29:46 --> CAKCy has joined #instantbird
05:31:36 <instant-buildbot> build #2273 of macosx-nightly-default is complete: Failure [4failed shell_5]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2273
05:33:30 --> EionRobb has joined #instantbird
05:46:07 <-- EionRobb has quit (Quit: Leaving.)
05:54:55 <-- Bollebib has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
06:44:39 * Fallen|away is now known as Fallen
07:41:10 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
07:41:23 --> chrisccoulson has joined #instantbird
08:04:59 --> gerard-majax__ has joined #instantbird
08:06:43 <-- gerard-majax__ has quit (Ping timeout)
08:06:58 --> gerard-majax__ has joined #instantbird
08:34:12 <-- flo-retina has quit (Ping timeout)
08:34:24 --> flo-retina has joined #instantbird
08:34:25 * ChanServ sets mode +qo flo-retina flo-retina 
09:23:36 --> aleth has joined #instantbird
09:23:36 * ChanServ sets mode +o aleth 
09:24:54 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:48:12 --> mayanktg-ph has joined #instantbird
09:49:10 --> flo-retina has joined #instantbird
09:49:10 * ChanServ sets mode +qo flo-retina flo-retina 
09:54:19 --> Bollebib has joined #instantbird
10:03:35 <-- aleth has quit (Ping timeout)
10:03:38 --> aleth has joined #instantbird
10:03:38 * ChanServ sets mode +o aleth 
10:05:31 <-- aleth has quit (Ping timeout)
10:16:19 --> aleth has joined #instantbird
10:16:19 * ChanServ sets mode +o aleth 
10:18:03 --> clokep has joined #instantbird
10:18:04 * ChanServ sets mode +o clokep 
10:29:47 --> BWMerlin has joined #instantbird
10:32:58 <aleth> nhnt11: In my previous review comments like e.g. |searchDatabase(aQuery, [...this._relativePaths])|, the ... is a spread operator, not an "I can't be bothered to type this" ellipsis ;)
10:34:31 <aleth> It's a convenient way to convert Sets (or anything iterable) to arrays.
10:37:38 --> Armada has joined #instantbird
10:53:36 --> nhnt11-ph has joined #instantbird
10:53:59 <nhnt11-ph> aleth: That's awesome, thanks! Never seen it before.
10:54:37 <nhnt11-ph> I'll be home in an hour
10:54:44 <-- nhnt11-ph has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com ))
11:15:01 <nhnt11> re
11:22:03 <-- clokep has quit (Ping timeout)
12:02:49 <-- aleth has quit (Ping timeout)
12:03:42 * nhnt11 now sees uses for ... everywhere.
12:08:13 --> aleth has joined #instantbird
12:08:13 * ChanServ sets mode +o aleth 
12:08:35 --> clokep_work has joined #instantbird
12:08:36 * ChanServ sets mode +o clokep_work 
12:11:15 --> rosonline has joined #instantbird
12:11:53 <-- BWMerlin has quit (Quit: BWMerlin)
12:39:22 <sawrubh> let's check you out...Download Panel
13:00:15 <flo-retina> mayanktg-ph: is that generic icon patch updated?
13:04:13 --> mayanktg has joined #instantbird
13:08:45 <mayanktg> flo-retina: I made the changes yesterday.  ".convToolbarbuttonBox > toolbarbutton" didn't recognize the toolbarbuttons. And the border-bottom is there for displayName and the convToolbarbuttonBox, so we will need to create a new hbox and include these two elements inside it. I'm changing it and updating the patch.
13:09:16 <mayanktg> I'm trying ".convToolbarbuttonBox > toolbarbutton" again.
13:09:43 <flo-retina> "so we will need to create a new hbox" I thought you already had one?
13:09:51 <flo-retina> (it didn't have a class though)
13:10:26 <clokep_work> sawrubh: It looks like a lot of my review comments were ignored.
13:10:41 <sawrubh> clokep_work: which ones :o
13:10:46 * sawrubh rechecks
13:10:46 <clokep_work> I don't really have time to go back through and re-do them, can you please upload a new patch with them met?
13:11:44 <clokep_work> sawrubh: At least the last two of https://bugzilla.mozilla.org/show_bug.cgi?id=1024023#c27
13:11:47 <instantbot> Bug 1024023 nor, --, ---, saurabhanandiit, ASSI, Add File Transfer Support for JS-XMPP
13:14:36 <mayanktg> flo-retina: Yes you're right. What should I name the class of that hbox?
13:14:51 <flo-retina> doesn't seem like an interesting question.
13:15:04 <mayanktg> sorry
13:16:29 <sawrubh> clokep_work: "So don't mention SOCKS5 Bytestreams until we support that." I've reworded the comment to "// Currently supported methods: In Band Bytestreams." it ends in a period, doesn't mention SOCKS5, uses the language you suggested. I don't see it not being addressed.
13:16:50 <sawrubh> the last comment about spacing, I've aligned the S of Stanza with the apostrophe above it
13:16:57 <sawrubh> which I understand is what you meant by spacing
13:17:29 <clokep_work> sawrubh: Did you upload the right patch?
13:17:38 <sawrubh> I'm checking what else is there I haven't addressed but I'm pretty sure I addressed everything
13:17:42 <clokep_work>  // Available streaming methods, possible values can be
13:17:42 <clokep_work>  // In Band Bytestreams, SOCKS5 Bytestreams
13:17:47 <clokep_work> Is the comment I'm looking at.
13:17:59 <clokep_work> Which is both formatting wrong and one I asked ot be updated.
13:18:26 <clokep_work> sawrubh: Btw you have a lot of comments with the wrong spacing in them.
13:18:37 <clokep_work> YOu seem to have trimmed them at significantly less charactesr than the code lines.
13:18:41 <sawrubh> clokep_work: are you looking at https://bug1024023.bugzilla.mozilla.org/attachment.cgi?id=8457731 ? can you give me the link to the patch you're looking at
13:18:44 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1024023 nor, --, ---, saurabhanandiit, ASSI, Add File Transfer Support for JS-XMPP
13:21:55 <clokep_work> https://bugzilla.mozilla.org/page.cgi?id=splinter.html&bug=1024023&attachment=8457731
13:22:01 <clokep_work> sawrubh: 
13:22:02 <clokep_work> ^
13:22:05 * clokep_work can't type today
13:24:53 <sawrubh> ah I missed one of "// Available streaming methods.." comments in xmpp-file-transfer.jsm, didn't see that
13:24:58 <sawrubh> sorry, I'll upload the patch again
13:25:42 * sawrubh also checks what's meant by wrong spacing
13:25:50 <sawrubh> do you mean I break the line at the wrong place?
13:26:58 <clokep_work> sawrubh: Yes.
13:27:05 <-- mayanktg has quit (Ping timeout)
13:27:13 --> mayanktg has joined #instantbird
13:27:24 <clokep_work> sawrubh: The other thing you missed was the word ordering of file_transfer_profile.
13:28:33 * sawrubh checks up what's the right place to break a comment into multiple lines
13:29:10 <sawrubh> I kept that as file_transfer_profile intentionally since that's more sensible English wise
13:29:46 <sawrubh> saying `profile file transfer` makes less sense to me than saying 'file transfer profile' since the latter implies it's the profile of a file transfer
13:31:21 <aleth> mayanktg: border-top doesn't look the same as the border between the buttons after clicking "take picture" http://puu.sh/afiwn/36c9bc2fdd.png, please fix this
13:31:55 <flo-retina> but finish that generic icon patch first! ;)
13:31:57 <sawrubh> aleth: I think you shared a link to come code-style guidelines some days/weeks back, do you have it right now?
13:32:11 <sawrubh> I want to check when to break a multi line comment
13:32:27 <mayanktg> aleth: Ok I'll fix this after finishing the generic icon patch. :)
13:32:29 <aleth> They're on the wiki, but it's simple, 80 character limit
13:34:06 <clokep_work> sawrubh: But...we had a converesation about this last night and you agreed it should be changed.
13:34:13 <clokep_work> So please don't do that and then just upload a new patch w/o changing it.
13:34:18 <clokep_work> If you disagree, we can have a discussion about it.
13:34:29 <clokep_work> But it's extremely frustrating to THINK something was agreed upon and then find out it isn't.
13:34:44 <clokep_work> sawrubh: Comments should go the full limit, just like code.
13:35:08 <sawrubh> clokep_work: sorry about not discussing it with you
13:36:17 --> mpmc has joined #instantbird
13:36:49 <nhnt11> Bah, it appears the problem with the wrong number of sessions is because one file isn't getting logged :-/
13:37:11 <nhnt11> (context -  the logger tests are failing, wrong number of session messages :S)
13:38:50 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:40:08 <-- rosonline has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
13:41:14 <nhnt11> Ugh
13:41:14 <nhnt11> Duh
13:41:25 <nhnt11> I changed closeLogWriter to accept a convId rather than a conv
13:41:30 <nhnt11> -_-'
13:42:30 <clokep_work> sawrubh: And it isn't supposed to be English, it's supposed to represent that other string.
13:42:33 <clokep_work> So please change it.
13:43:01 <sawrubh> willco
13:47:20 --> mpmc has joined #instantbird
13:54:59 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:57:53 --> rosonline has joined #instantbird
14:02:02 --> mikk_s has joined #instantbird
14:02:42 --> mconley has joined #instantbird
14:08:00 <sawrubh> methinks everything is addressed
14:08:00 * sawrubh does a whole sweep again
14:10:55 <clokep_work> sawrubh: Don't bother with a new patch yet.
14:10:58 <clokep_work> I'm mostly done reviewing this one.
14:11:17 <-- mayanktg has quit (Ping timeout)
14:11:34 <sawrubh> ok
14:11:35 --> mayanktg has joined #instantbird
14:11:56 * sawrubh wonders what's coming in the review comments
14:12:54 <-- mayanktg-ph has quit (Quit: Connection closed for inactivity)
14:13:16 <clokep_work> I still dislike that xmpp.jsm touches fileTransfer.ibb. :-\
14:13:21 <clokep_work> I'm just not sure what to do about it.
14:14:08 <-- mayanktg has quit (Ping timeout)
14:14:57 --> mayanktg has joined #instantbird
14:18:57 <-- mayanktg has quit (Ping timeout)
14:19:28 --> mayanktg has joined #instantbird
14:20:49 <-- mikk_s has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
14:22:02 <mayanktg> bah, even after adding border-bottom to the hbox containing "displayName" and toolbarbuttons, the border is still added below the statusMessage :S trying to fix this...
14:41:26 --> iamjayakumars has joined #instantbird
14:46:54 <-- mayanktg has quit (Ping timeout)
14:47:36 --> mayanktg has joined #instantbird
14:47:54 <nhnt11> This is weird
14:48:02 <nhnt11> the stats service is working, but I don't see statsservicecache.json
14:48:06 <nhnt11> In my testing profile
14:48:15 <nhnt11> :S
14:50:28 <nhnt11> So it /is/ there (ls shows it) but Finder isn't showing it
14:50:30 <nhnt11> :S
14:52:45 <aleth> mayanktg: What's taking so long?
14:53:56 <mayanktg> Just a sec. Adding margin-bottom fixes the issue when I use in the DOMi but it isn't reflecting when I place in the CSS file.
14:55:47 <aleth> DOM Inspector can *tell* you which rules are getting applied to a particular element
14:56:56 <aleth> You can see there whether the rules you add show up like you expect
14:57:54 <mayanktg> Done :)
14:59:49 <mayanktg> Using ".convToolbarbuttonBox > toolbarbutton" instead of ".convToolbarbutton" isn't reflecting the changes in the button. I'm checking that and uploading the patch asap.
15:00:20 --> mpmc has joined #instantbird
15:00:52 <aleth> mayanktg: Are you sure you understood what flo was asking there?
15:01:03 <clokep_work> That's im only, right?
15:01:16 <aleth> Yes
15:01:48 <-- mayanktg has quit (Client exited)
15:01:49 --> mayanktg has joined #instantbird
15:02:01 <-- aleth has quit (Quit: exit stage left)
15:04:45 <clokep_work> Coo'!
15:05:46 <nhnt11> aleth: Any ideas to simplify this (particularly the two bind calls)? https://pastebin.mozilla.org/5567775
15:05:50 <nhnt11> Ah, missed him...
15:06:43 <clokep_work> Tasks spawning Tasks?! OH MY.
15:07:56 <nhnt11> If I avoid using Tasks (and thereby generator functions), I can use fat arrows and avoid bind. 
15:08:04 <nhnt11> But that increases indent by two blocks.
15:08:44 <sawrubh> clokep_work: done with the review :) ?
15:21:39 <clokep_work> sawrubh: There. :P
15:24:30 <sawrubh> clokep_work: thanks
15:24:45 <clokep_work> sawrubh: I'm busy for the next couple hours, unfortunately.
15:25:28 <sawrubh> OK
15:27:13 <sawrubh> I'll ignore the comment about referencing ibb directly and we'll do the needful in the SOCKS5 bug
15:28:34 <sawrubh> flo-retina: aleth: what do you guys think about having separate flags for I/O error at the granularity of whether it's an error during write or read or open or close
15:28:53 <flo-retina> flags where?
15:29:12 <mayanktg> flo-retina: Using |.convToolbarbuttonBox > toolbarbutton| isn't working at all. :( Should I use the .convToolbarbutton class instead?
15:29:16 <sawrubh> For a bit more context can you check the last review comment by clokep on the js-prpl file transfer implementation
15:29:23 <sawrubh> flo-retina: ^
15:29:28 <flo-retina> mayanktg: you should first explain why it doesn't work
15:29:52 <flo-retina> sawrubh: no
15:30:01 <flo-retina> sawrubh: I've got to run, and I have 2 meetings just after that
15:30:26 <sawrubh> OK, we'll discuss later then?
15:30:27 <nhnt11> flo-retina: Gentle review ping for bug 1025522 when you've got time.
15:30:29 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1025522 nor, --, ---, nhnt11, ASSI, Split log files to prevent them from growing too large
15:30:59 <flo-retina> nhnt11: you see you just picked the worst time, right? :-P
15:31:34 <nhnt11> flo-retina: I know, but I just remembered and wanted to say it before I forgot again
15:33:16 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
15:48:20 <-- mayanktg has quit (Ping timeout)
15:48:47 --> mayanktg has joined #instantbird
15:53:46 <-- mayanktg has quit (Ping timeout)
15:54:09 --> mayanktg has joined #instantbird
15:56:11 --> aleth has joined #instantbird
15:56:11 * ChanServ sets mode +o aleth 
15:57:12 <aleth> sawrubh: Isn't this worrying about IO errors in the UI slightly premature? What happens in FX when a download fails? What level of detail does the user actually get to see?
15:57:26 <aleth> For the backend what matters is that the error is caught and reportErrored.
15:58:17 <-- nhnt11 has quit (Ping timeout)
15:58:41 --> flo-retina has joined #instantbird
15:58:41 * ChanServ sets mode +qo flo-retina flo-retina 
15:59:45 --> nhnt11 has joined #instantbird
16:07:44 <-- gerard-majax__ has quit (Ping timeout)
16:08:26 <-- iamjayakumars has quit (Client exited)
16:14:57 --> iamjayakumars has joined #instantbird
16:22:36 <mayanktg> If I add a child element to convToolbarbuttonBox and then try to use |.covTolbarbuttonBox > .className| the change is getting reflected, but not for the toolbarbutton. :(
16:23:02 <aleth> mayanktg: What are you trying to do, exactly? What is the goal?
16:24:25 <mayanktg> I don't want to use a class for every toolbarbutton. Instead use |.convTolbarbuttonBox > toolbarbutton| for the CSS of the toolbarbuttons
16:25:32 <aleth> Are the child elements toolbarbuttons?
16:25:56 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
16:26:12 <mayanktg> Yes. The child elements added to the "convtoolbarbuttonBox" are toolbarbuttons. 
16:26:55 <aleth> And if you give them a class, then the rule works?
16:28:59 <aleth> That's strange.
16:29:15 <aleth> Can you pastebin your code?
16:29:29 <mayanktg> No it doesn't work. I mean if I add a class to the toolbarbutton say "abc" and then use |.convTolbarbuttonBox > .abc| the changes are not reflected
16:29:31 <mayanktg> yes.
16:29:34 <mayanktg> Just a sec
16:30:38 <aleth> How about ".convToolbarbuttonBox toolbarbutton" ?
16:30:56 <mayanktg> http://pastebin.instantbird.com/751712
16:31:10 <mayanktg> I have tried that too. 
16:32:23 <mayanktg> L225
16:33:11 <aleth> It's strange that it doesn't work :-S
16:34:31 <aleth> Can you show me a screenshot of DOM inspector of the nodes around and below the convToolbarButtonBux?
16:34:54 <mayanktg> yes.
16:37:26 <-- mayanktg has quit (Ping timeout)
16:38:18 --> mayanktg has joined #instantbird
16:38:30 <mayanktg> If I'm adding a |<xul:label class="abc" label"hello"/>| just after the <children/> (178) and then try using that code. I'm able to see the change in the label. But not for the toolbarbuttons :-/
16:39:47 <aleth> If you add the label element the same way you are adding toolbarbuttons, does it still work?
16:40:08 --> Mook_as has joined #instantbird
16:40:33 --> arlolra has joined #instantbird
16:41:00 <mayanktg> Yes. even including <xul:toolbarbutton label="hello"/> and then using |.convToolbarbuttonBox > toolbarbutton {| reflects the changes 
16:41:35 <aleth> I meant adding them from code, via document.createElement("label") etc
16:41:35 <mayanktg> I guess the problem is in using the <children/>
16:41:36 <aleth> I suspect something is going wrong for the dynamically inserted elements.
16:41:49 <mayanktg> Yes.
16:41:55 <aleth> Looks like it.
16:44:23 <mayanktg> aleth: What can be done then. I'm unable to understand why dynamically inserted element won't inherit the CSS. :-|
16:44:48 <aleth> This is clearly a tricky XBL issue.
16:45:07 <aleth> No wonder you had trouble fixing it ;)
16:45:53 <aleth> Do you have that screenshot for me?
16:45:59 <mayanktg> Its not an issue..but I should make it work.
16:46:10 <mayanktg> Which screenshot? DOMi? I already posted here?
16:46:22 <aleth> DOMi
16:46:46 <mayanktg> http://i.imgur.com/OxuWCNil.jpg
16:46:53 <aleth> You got disconnected earlier...
16:46:57 --> mpmc has joined #instantbird
16:48:25 <-- mayanktg has quit (Ping timeout)
16:49:05 --> mayanktg has joined #instantbird
16:49:22 <aleth> Aha.
16:49:26 <aleth> Let's try this.
16:49:29 <mayanktg> ?
16:50:08 <nhnt11> mayanktg: I have a weird hunch you should use document.createElementNS using the XUL namespace
16:50:09 <aleth> I have a suspicion
16:50:23 <aleth> mayanktg: try ".conv-top-info toolbarbutton"
16:51:28 <mayanktg> aleth++ genius!
16:51:36 <nhnt11> aleth: Why does that work?
16:51:49 <mayanktg> But why?
16:51:53 <nhnt11> rather
16:51:56 <aleth> It's a case of XBL being super confusing.
16:52:00 <nhnt11> Why does mayanktg's solution /not/ work?
16:52:10 <aleth> Basically the binding is conv-top-info.
16:52:39 <aleth> When the toolbarbuttons are added in mayanktg's code, they are added *as children of this binding element*
16:53:01 <aleth> But because of the XBL magic, they actually appear where the <children> tag is placed.
16:53:26 <nhnt11> :D
16:53:27 <nhnt11> nice
16:53:54 <mayanktg> Oh my goodness :)
16:53:55 <aleth> mayanktg: Look at line 39 of your pastebin, you're appending the buttons as children of conv-top-info.
16:54:34 <mayanktg> aleth: Yes. Isn't it correct?
16:54:55 <nhnt11> mayanktg: He means, that's a hint that the toolbarbuttons are children of conv-top-info and not the hbox ;)
16:55:10 <aleth> mayanktg: It's correct, I'm just explaining to you why ".conv-top-info > toolbarbutton" works
16:55:17 * mayanktg should have guessed that! 
16:55:18 <aleth> nhnt11: exactly!
16:55:51 <aleth> mayanktg: It's pretty hard to "guess", I figured it out by thinking about how XBL works ;)
16:57:46 <aleth> mayanktg: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Tutorial/Anonymous_Content#Using_the_Children_Element if you want more details
16:58:48 <mayanktg> aleth: Thanks. I'm updating the patch and giving this a read in the meantime. :)
16:59:09 <nhnt11> Ah, my TB build is done
16:59:30 --> nhnt11-tb has joined #instantbird
17:00:31 <nhnt11-tb> Awesome
17:00:36 <nhnt11-tb> My TB patch works "out of the box"
17:00:51 <aleth> InstantPatch!
17:00:56 <mayanktg> nhnt11-tb: Woot!
17:01:09 <-- iamjayakumars has quit (Client exited)
17:01:18 * nhnt11-tb doesn't see any errors anywhere, and logs are being displayed correctly.
17:01:21 <nhnt11-tb> "My job here is done" :P
17:01:32 <nhnt11-tb> Interestingly gloda didn't need any modifications to work :)
17:01:42 --> iamjayakumars has joined #instantbird
17:03:23 <-- iamjayakumars has quit (Ping timeout)
17:03:41 <nhnt11> aleth: Want to review the tb patch? Or should I r? flo on that?
17:04:05 <nhnt11> It's pretty straightforward
17:04:08 <aleth> r? flo for anything gloda ;)
17:04:13 <nhnt11> Nothing gloda :)
17:04:26 <aleth> Then I don't mind.
17:04:35 <nhnt11> cool
17:05:42 <aleth> The new patch looks much better already at first glance :) but I'm not sure I'll have time to review it today.
17:06:20 <nhnt11> Np
17:09:11 <-- nhnt11-tb has quit (Quit: nhnt11-tb)
17:27:11 * clokep_work laughs at "r? flo for anything gloda ;)" 
17:52:24 <-- rosonline has quit (Connection reset by peer)
17:53:48 --> rosonline has joined #instantbird
18:00:54 <flo-retina> well, that's not an excellent idea for fast reviews ;)
18:02:13 <-- aleth has quit (Ping timeout)
18:04:33 <sawrubh> so as aleth pointed out, the user (probably) won't really care about as fine grained as error as whether it failed during open, close, read or write
18:05:00 <sawrubh> and as far as the backend is concerned, we're handling it (once and things don't completely fall apart) is good enough for now
18:05:59 <sawrubh> if clokep and flo agree on this, then I'll remove the open, close, read, write error cases as separate and make them one, ioError or something
18:06:13 <-- mayanktg has quit (Ping timeout)
18:07:05 --> mayanktg has joined #instantbird
18:10:15 * sawrubh goes to download pidgin and test if file transfer interoperates
18:10:24 * sawrubh wouldn't be surprised if it doesn't
18:11:19 <-- mayanktg has quit (Ping timeout)
18:12:36 --> mayanktg has joined #instantbird
18:18:54 <clokep_work> sawrubh: It's something to test. ;)
18:19:06 <clokep_work> I'm not totally against landing it preff'ed off if it only works with Instantbird.
18:29:47 <-- mayanktg has quit (Ping timeout)
18:30:08 --> mayanktg has joined #instantbird
18:36:06 <-- mayanktg has quit (Ping timeout)
18:36:26 --> mayanktg has joined #instantbird
18:38:08 <-- mayanktg has quit (Ping timeout)
18:38:34 --> mayanktg has joined #instantbird
18:44:15 <-- mayanktg has quit (Ping timeout)
18:44:35 --> mayanktg has joined #instantbird
18:47:08 <-- mayanktg has quit (Ping timeout)
18:47:30 --> mayanktg has joined #instantbird
18:49:11 <-- mayanktg has quit (Ping timeout)
18:49:39 --> mayanktg has joined #instantbird
18:59:30 --> aleth has joined #instantbird
18:59:30 * ChanServ sets mode +o aleth 
19:00:08 <-- mayanktg has quit (Ping timeout)
19:00:42 --> mayanktg has joined #instantbird
19:01:21 <aleth> mayanktg: Can you make sure your XMPP videochat patch is ready for review? It's the next one to land after generic icons, isn't it?
19:02:13 <mayanktg> aleth: Yes. I was working on that only.
19:05:45 <-- mayanktg has quit (Ping timeout)
19:06:05 --> mayanktg has joined #instantbird
19:07:29 <-- arlolra has quit (Quit: arlolra)
19:10:28 <-- mayanktg has quit (Ping timeout)
19:11:20 --> mayanktg has joined #instantbird
19:18:26 <-- aleth has quit (Ping timeout)
19:26:26 <-- CAKCy has quit (Quit: Have a great day everyone!)
19:42:12 <-- mayanktg has quit (Ping timeout)
19:42:34 --> mayanktg has joined #instantbird
19:55:34 <-- mayanktg has quit (Ping timeout)
19:55:54 --> mayanktg has joined #instantbird
20:14:37 <-- mayanktg has quit (Ping timeout)
20:15:13 --> mayanktg has joined #instantbird
20:19:35 <-- mayanktg has quit (Ping timeout)
20:19:58 --> mayanktg has joined #instantbird
20:24:46 <-- clokep_work has quit (Ping timeout)
20:28:46 <-- mayanktg has quit (Ping timeout)
20:29:09 --> mayanktg has joined #instantbird
20:33:08 <-- mayanktg has quit (Ping timeout)
20:33:30 --> mayanktg has joined #instantbird
20:42:46 --> aleth has joined #instantbird
20:42:46 * ChanServ sets mode +o aleth 
20:46:12 <nhnt11> aleth: '"while yielding another"? Is sqlite.jsm off-main-thread?' I meant if a second insert is called, and completes before the first one or something. Come to think of it I guess it's not an issue if Sqlite.jsm is single threaded, but I like your idea of chaining the select on the insert.
20:46:17 * nhnt11 revisits that code
20:47:35 <nhnt11> Also, "I ask again whether e.g. syntax errors in job() or other rejections are
20:47:35 <nhnt11> correctly reported." the promise is returned so the caller can handle it.
20:48:17 <aleth> What I mean is "have you intentionally broken this once to test if it works the way you expect" ;)
20:48:35 <nhnt11> I had plenty of SQL syntax errors, don't worry :]
20:48:41 <aleth> If I thought it wouldn't work I would have said so ;)
20:48:54 <nhnt11> Anyway, those statements are hard coded, so I don't think it's an issue..
20:49:12 <nhnt11> (also since we use bound parameters, all should be good)
20:49:44 <nhnt11> And I had to read that line three times to see the typo, :(
20:50:41 <aleth> Btw have you seen the shrinkMemoryOnConnectionIdleMS feature of sqlite.jsm?
20:51:22 <nhnt11> Yeah I've seen it.
20:51:31 <nhnt11> Didn't want to fiddle with it until the rest of the patch was solid
20:51:41 <aleth> OK
20:52:18 <aleth> I guess the question is whether it's better to just close the DB.
20:53:22 <nhnt11> Yeah. The problem currently is to find out whether a transaction is in progress. I'd have to queue /everything/ in a promise, and have a rather non-trivial timer system to close the connection if the promise stayed resolved for some amount of time...
20:53:33 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
20:53:37 <nhnt11> ^If we want to close the connection periodically that is
20:54:02 <nhnt11> Btw, does the forever option not work anymore on pastebin.ib.com?
20:54:03 <aleth> Ah right, you can't call close otherwise.
20:54:19 <aleth> I don't know, I've never used it.
20:54:51 <nhnt11> Right, and the close itself would have to be queued (which is already done I guess, opens are queued on closes)
20:55:10 <nhnt11> Hmm. I pastebin'd a WIP I had ages ago for prepending messages and it has disappeared :(
20:55:23 <nhnt11> I'm sure I mark all pastes forever, particularly if I link them anywhere
20:55:47 <aleth> It's more that you have to queue the close on any existing operations.
20:55:58 <nhnt11> yeah, exactly.
20:56:05 <aleth> But this is also the case already during shutdown.
20:56:33 <nhnt11> Is it?
20:56:54 <nhnt11> Ah...
20:57:15 <aleth> https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Sqlite.jsm#close%28%29
20:57:33 <nhnt11> Yeah, right.
20:57:34 <aleth> I didn't realize it would cancel statements in progress.
20:57:45 <nhnt11> I have read that before and forgot about it :(
20:57:51 <aleth> it's a shame it doesn't have a force=true/false parameter...
20:57:58 <nhnt11> I should be queuing aConn.close on the existing queue or something...
20:58:10 <aleth> Hmm, there's also https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Sqlite.jsm#transactionInProgress
20:58:36 <aleth> Would be more useful if it returned a promise
20:58:38 <nhnt11> Is that useful?
20:58:40 <nhnt11> Exactly
20:58:52 <nhnt11> I'd have to do something like |while (conn.transactionInProgress) yield|
20:58:55 <nhnt11> which is a bit gross
20:59:24 <nhnt11> Looks like I indeed need a promise queue for all db operations...
20:59:53 <aleth> Purely for the close(). That's a bit annoying.
21:00:29 <aleth> It might be worth asking one of the authors of sqlite.jsm about this.
21:01:25 <nhnt11> Possibly, yeah
21:01:38 <aleth> If only in case it's worth filing a bug about it ;)
21:02:58 <aleth> Btw it looks like executeTransaction might be the right way to chain the SELECT lastrow thingy (which seems worth doing anyway)?
21:03:15 <nhnt11> aleth: bug 1024525 :D
21:03:18 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1024525 nor, --, ---, allamsetty.anup, NEW, Add OS.File.appendAtomic() API
21:03:31 <nhnt11> Yeah, seems like a good way.
21:03:32 <aleth> Haha
21:04:08 <nhnt11> Looks like I may be rewriting some logger.js stuff yet again when that lands..
21:05:44 <aleth> Maybe... I doubt it would actually add anything, but it will be interesting to see their implementation ;)
21:06:03 <nhnt11> It makes it cleaner, avoiding that whole open->append->close thing
21:06:12 <nhnt11> There's a patch up for review already
21:07:17 <aleth> Yup, it pretty much does what you did ;)
21:07:45 <aleth> I.e. it open->append->closes 
21:08:06 * flo-retina wonders if mayanktg has ideas for using screen sharing in Instantbird
21:08:09 <nhnt11> Yeah. with a temp file though. Anyway, makes it more readable in logger.js ;)
21:08:16 * nhnt11 cc's himself and moves on
21:09:41 <nhnt11> flo-retina: Does toolkit provide a way to get the screen buffer in a stream or something?
21:09:58 <flo-retina> no(t yet).
21:09:58 * nhnt11 would be impressed if it did
21:10:06 <flo-retina> But I expect that to land tonight or tomorrow.
21:10:08 <aleth> It will soon though ;)
21:10:14 <nhnt11> :D
21:10:18 <nhnt11> Nice.
21:10:20 <mayanktg> flo-retina: You mean implementing screen sharing for Instantbird. Right?
21:10:22 * nhnt11 searches bugzilla
21:10:26 <flo-retina> nhnt11: it's the project I've been working on for the past 10 days or so
21:10:35 <flo-retina> nhnt11: I mean, the UI in Firefox for that feature
21:10:49 <nhnt11> So we could just copy it over?
21:11:14 <flo-retina> nhnt11: our UI would be different/simpler
21:11:22 <-- rosonline has quit (Ping timeout)
21:11:29 <flo-retina> mayanktg: I mean having a way to share your screen through webrtc with the person you are talking to.
21:12:11 --> rosonline has joined #instantbird
21:12:22 --> EionRobb has joined #instantbird
21:12:26 * aleth was hoping sawrubh will get to the point where we could transfer files via webrtc too...
21:14:42 <-- mayanktg has quit (Ping timeout)
21:15:07 --> mayanktg has joined #instantbird
21:15:45 <mayanktg> flo-retina: I don't have an idea how screen sharing works at present. I'm searching for implementation of screen sharing using webrtc on Firefox.
21:16:39 <aleth> mayanktg: we were just talking about that ;)
21:17:23 <mayanktg> Maybe I should file a bug for it or make a note of it somewhere. :)
21:18:18 <aleth> Something to think about when videocalling is all done.
21:18:19 <flo-retina> mayanktg: I don't expect any documentation to exist for it
21:18:21 <flo-retina> it hasn't landed yet
21:18:24 <flo-retina> but it's trivial
21:18:50 <flo-retina> mayanktg: You usually do getUserMedia({video:true, audio: true}) to get the camera and microphone
21:18:53 <mayanktg> Bug 923225
21:18:55 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=923225 nor, --, ---, nobody, NEW, [meta] Add screen/app/window sharing support
21:19:15 <flo-retina> to get the screen instance, you just do getUserMedia({video: {mediaSource: "screen"}}); and that's it
21:19:35 <nhnt11> Clean API :)
21:20:03 <flo-retina> nhnt11: lol
21:20:14 <mayanktg> Yeah! I read it somewhere just now. 
21:20:52 * nhnt11 is bummed by the close issue
21:20:58 <mayanktg> Umm..Chrome uses chromeMediaSource: "screen" for this purpose. http://bloggeek.me/implement-screen-sharing-webrtc/
21:21:03 <aleth> nhnt11: Find out who to ping and ping them
21:21:05 <nhnt11> Time to visit #perf again I think
21:21:06 <nhnt11> yeah
21:21:26 <aleth> nhnt11: Second question to ask is what's the upside/downside to shrinkmemory vs close
21:21:46 <flo-retina> mayanktg: but I'm talking about Firefox ;)
21:22:25 <flo-retina> mayanktg: anyway, just wanted to mention that the feature will be there very soon, and that it could be cool to use it
21:22:42 <mayanktg> Yep! :)
21:23:26 <nhnt11> Looks like Yoric is a decent choice to ping again
21:34:54 * Fallen is now known as Fallen|away
21:44:02 * Fallen|away is now known as Fallen
21:44:44 <nhnt11> aleth: This covers everything right? http://pastebin.instantbird.com/751831
21:45:18 <-- mayanktg has quit (Ping timeout)
21:45:29 <aleth> nhnt11: Looks good, thanks
21:46:05 --> mayanktg has joined #instantbird
21:48:37 <nhnt11> aleth: I'm very tempted to say that there's no race condition with INSERTS and we don't need the queue that currently exists at all.
21:49:04 <nhnt11> The only way we'd need that is an Sqlite.jsm connection is not single-threaded
21:49:07 <aleth> Yes, if it wasn't for the close issue, I agree.
21:49:24 <nhnt11> Which is extremely unlikely but I'll chec
21:49:25 <nhnt11> yeah
21:49:34 <aleth> The right thing to do is to group related statements into transactions where possible.
21:49:54 <aleth> At least that's my reading of the documentation...
21:51:09 <nhnt11> I don't think we want to group the insert and select on a single transaction
21:51:18 <nhnt11> If the select fails, we don't want to rollback the insert, do we?
21:52:12 <nhnt11> We may want to put everything in indexLogFile in a transaction though
21:52:43 <aleth> It depends on the circumstances in which you could see the select failing
21:52:48 <aleth> But yeah.
21:54:26 <aleth> The last example on the sqlite.jsm page is basically the insert/select case though.
21:55:06 <nhnt11> It's not really /my/ case though
21:55:17 <aleth> Not quite, of course
21:55:18 <nhnt11> I don't expect a number of rows or anything, technically the only thing that can go wrong is the insert
21:55:41 <nhnt11> But if one insert fails, we likely want to rollback the other insert
21:55:43 <aleth> If it goes wrong, then the select lastrow... makes no sense
21:55:44 <nhnt11> so yeah, a transaction
21:56:00 <nhnt11> If it goes wrong, it'll throw :S
21:56:04 <aleth> Right.
21:56:10 <nhnt11> So the select isn't really relevant in that case
21:56:24 <aleth> I guess there's many equivalent ways to get the behaviour we want in this case, so just pick one.
21:57:55 <nhnt11> Interesting, the example on MDN uses a normal function with yields
21:58:16 <aleth> That's just because the page is from a time when that was still possible ;)
21:58:39 <-- mayanktg has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
21:58:42 <aleth> The dark ages of 2013, before function* ...
21:58:47 <nhnt11> I meant, it seems to automatically create a task out of it
21:59:23 <aleth> It's just a generator function
21:59:49 <aleth> Not a task.
21:59:58 <nhnt11> Yeah, it creates a task out of it: http://mxr.mozilla.org/mozilla-central/source/toolkit/modules/Sqlite.jsm#417
22:00:06 <nhnt11> Yeah, I was just musing I guess. nvm :)
22:00:21 <aleth> Oh, I see what you mean.
22:08:15 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
22:09:48 <nhnt11> aleth: http://mxr.mozilla.org/mozilla-central/source/toolkit/modules/Sqlite.jsm#869
22:10:15 <EionRobb> why not use websql?
22:11:49 <aleth> nhnt11: heh, also http://mxr.mozilla.org/mozilla-central/source/toolkit/modules/Sqlite.jsm#957
22:12:28 * Fallen is now known as Fallen|away
22:12:45 <nhnt11> EionRobb: Sqlite.jsm is shiny?
22:12:51 <nhnt11> aleth: Looks like I may want my queue after all..
22:13:04 <aleth> nhnt11: almost certainly :(
22:13:08 <EionRobb> sounds like NIH syndrome to me ;)
22:14:15 * nhnt11 wonders if websql has a promise based api in gecko
22:14:23 <aleth> EionRobb: I don't think it's doing the same thing. Websql is closer to IndexDB
22:15:26 <aleth> But I don't know the history.
22:15:35 <nhnt11> aleth: Anyway, my current queue is likely "enough" for closing.
22:15:46 <EionRobb> wat websql is nothing like indexeddb :)
22:15:49 <nhnt11> We can probably force selects to rollback without any consequences
22:15:58 <nhnt11> And all inserts are queued already
22:16:09 <nhnt11> (I'm talking about the shutdown case)
22:16:30 <EionRobb> nhnt11: yeah, there are promise wrappers for websql around
22:16:33 <nhnt11> I just need a |yield gDatabase._dbQueue| before closing the connection in AsyncShutdown
22:17:41 <aleth> EionRobb: isn't websql an API for webpages? Sqlite.jsm is not that.
22:18:27 <EionRobb> "yes" as in, its an async api to sqlite
22:18:38 <EionRobb> but not just for webpages, no
22:19:13 <EionRobb> all I can see is that sqlite.jsm looks similar to websql, but slightly more complicated
22:21:18 <aleth> I don't know the history, but I suspect sqlite.jsm is newer than the 2010 date the websql standard died
22:21:45 <nhnt11> aleth: So I think that if I put all the db operations for indexing a file in a transaction, and queue the whole transaction on gDatabase._dbQueue, we're set
22:21:51 <aleth> Probably an interesting story here.
22:21:55 <EionRobb> so funny that mozilla opposed websql, then go ahead and make their own api which is practically the same
22:22:15 <nhnt11> i.e. no race conditions, and we can yield on _dbQueue before closing and all will be good
22:22:51 <aleth> nhnt11: yes, in which case you don't need an indexqueue, right?
22:23:40 <nhnt11> aleth: I'd still have an indexing queue, since indexLogFile does file I/o
22:24:07 <-- mconley has quit (Input/output error)
22:24:14 <nhnt11> I mean, I think  I should have one.
22:24:41 <aleth> I guess I'll see in your next patch, but you already have a file operations queue ;)
22:25:16 * nhnt11 just feels better knowing that the whole process of indexing (file I/O + database stuff) is queued.
22:33:26 <nhnt11> So the whole AsyncShutdown code in the current patch is flawed
22:33:47 <nhnt11> Before closing/yielding the queue, I need to first ensure that nothing more can be added to the queue
22:34:14 <nhnt11> It would suck if something was queued while yielding db.close()
22:34:17 <aleth> That's why I suggested overriding "database.queue" ;)
22:34:51 <nhnt11> Right, I was (kinda) doing that /after/ yield db.close rather than before.
22:35:26 <aleth> Yes, which would be OK under the assumption that close didn't cancel transactions
22:35:59 <aleth> but as it turns out...
22:36:07 <nhnt11> I was more worried about the case where close() is called, and the promise is resolving, and something else tries to queue something before it resolves
22:36:13 <nhnt11> Anyway
22:36:57 <aleth> It's getting there :)
22:38:38 * nhnt11 thinks it should be fine now.. time to test stuff
22:39:47 <-- aleth has quit (Quit: exit stage left)
22:54:49 <nhnt11> Good night
23:00:01 --> Rym has joined #instantbird
23:05:51 <-- Bollebib has quit (Client exited)
23:07:51 --> wnayes has joined #instantbird
23:26:33 <-- Rym has quit (Ping timeout)
23:27:49 --> Rym has joined #instantbird
23:34:40 --> clokep has joined #instantbird
23:34:40 * ChanServ sets mode +o clokep 
23:36:27 --> mconley has joined #instantbird
23:59:04 <-- Rym has quit (Connection reset by peer)
23:59:40 --> Rym has joined #instantbird