All times are UTC.
00:09:44 <-- pWnnn has quit (Ping timeout: 121 seconds) 00:11:19 <instantbot> rkent@caspia.com set status-thunderbird to wontfix on bug 1236133. 00:11:20 <instantbot> rkent@caspia.com set status-thunderbird to fixed on bug 1236133. 00:38:13 <clokep_work> nhnt11, aleth: So |Task.async| propagates |this|, but |Task.spawn| doesn't... 00:38:16 <clokep_work> That's really confusing. 00:38:20 <clokep_work> And getting in the way of what I want to do. :P 00:38:30 <aleth> true 00:39:23 <nhnt11> clokep_work: The way I interpret Task.async in my head is a shortcut for |function(params) { return new Task(function* (params) {}.bind(this)); }| 00:39:35 <nhnt11> I found that once I treated it as syntactic sugar, it was less confusing 00:39:45 <clokep_work> I find that more confusing. 00:39:45 <aleth> nhnt11: well, that's in fact basically the code ;) 00:39:56 <clokep_work> I also hate the phrase "syntactic sugar" :P 00:39:58 <nhnt11> aleth: yeah :P 00:40:06 <nhnt11> clokep_work: I find the phrase kinda hilarious 00:40:07 <clokep_work> nhnt11: What's just Task without calling async OR spawn? 00:40:12 <nhnt11> It's one of those things professors say... 00:40:17 <clokep_work> Or is that a typo? 00:40:18 <aleth> clokep_work: an object 00:40:24 <nhnt11> clokep_work: Task is an object with all these functions, exported by Task.jsm 00:40:39 <nhnt11> Task isn't a class, it's a factory :P 00:40:42 <aleth> you can't do "new Task" (also a pain) 00:40:43 <clokep_work> You're using it as a constructor there... 00:41:00 <clokep_work> That's exactly what that code above is doing. :-S 00:41:09 <clokep_work> So how the hell do I call Task.spawn with 'this'? 00:41:12 <nhnt11> sorry sorry 00:41:14 <clokep_work> Do I need to bind? 00:41:15 <nhnt11> That was my bad 00:41:19 <clokep_work> That's ridiculous. 00:41:20 <nhnt11> I meant return Task.spawn() 00:41:24 <nhnt11> clokep_work: yes 00:41:25 <aleth> Yes, you need to bind. 00:41:26 <nhnt11> you need to bind 00:41:37 <clokep_work> I don't want to bind. 00:41:46 <nhnt11> clokep_work: That's why Task.async exists, kinda 00:41:50 <clokep_work> No. 00:41:54 <clokep_work> They return completely different things. 00:41:59 <nhnt11> But yeah, it's annoying that there's no lexically scoped generator function syntax 00:42:00 <clokep_work> One makes code run async, one returns a promise. 00:42:07 <aleth> clokep_work: write your own wrapper for Task.spawn? 00:42:12 <clokep_work> :P 00:42:21 <nhnt11> clokep_work: "One makes code run async" 00:42:24 <nhnt11> That's not true 00:42:33 <nhnt11> Task.async simply creates a function around Task.spawn 00:42:40 <nhnt11> So that you can call it multiple times 00:43:00 <clokep_work> I don't understand what that means. 00:43:03 <nhnt11> The name of the function is really misleading 00:43:14 <clokep_work> FWIW I know it's not really 'async' 00:43:26 <nhnt11> Ignore the name of the function, i.e. pretend that Task.async is actually called Task.foo 00:43:27 <clokep_work> It lets you yield on promises though, which is all I care about. 00:44:02 <nhnt11> Hmm, at this point I'm not sure whether you get what Task.async does, so I'm not sure what I can say that will clear your confusion 00:44:44 <clokep_work> I'm fairly certain I understand exactly what it does. 00:45:17 <nhnt11> OK 00:47:11 <clokep_work> Ugh. Task.spawn is useless. 00:47:25 <aleth> clokep_work: but when you call the function produced by Task.async, you get a promise back. Can't you use that? 00:47:29 * aleth has never used Task.spawn 00:48:11 <nhnt11> aleth: Interesting, I've never considered that you can do something like |Task.async(function* () { ... })()| 00:48:16 <nhnt11> i.e. you can call it immediately 00:48:39 <nhnt11> I think using spawn and bind is more readable though 00:48:40 <clokep_work> aleth: Yeah, that's my plan now. 00:48:57 <clokep_work> nhnt11: I'm using everythig as methods though. 00:49:01 <clokep_work> So binding doesn't really work well. 00:49:25 <nhnt11> clokep_work: yeah, Task.async is MADE for that use case 00:49:32 <clokep_work> Wee my oauth key worked. :) 00:49:36 <aleth> :-) 00:53:06 <abdelrhman> aleth: Yes, I'm on Linux, I will work on it, but I don't know this code well. Is there a documentation / guidance for where to start? 00:56:03 <aleth> abdelrhman: The regression was caused by bug 1241764, see also bug 1243760 comment 5 and comment 6. 00:56:06 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1241764 nor, --, mozilla47, khuey, RESO FIXED, Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer 00:56:07 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1243760 nor, --, Thunderbird 47.0, philip.chee, RESO FIXED, Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer in C-C due to bug 1241764 00:56:52 <aleth> Basically you have to do similar things to the patches in those bugs to replace nsPIDOMWindow which no longer exists. You can also ask khuey if you get stuck. 00:58:17 <abdelrhman> OK, I'm going to work on it. Thanks aleth :) 00:58:21 <aleth> thank you 00:58:42 <aleth> it's the code that handles the system tray 01:03:37 <-- Bollebib has quit (Ping timeout: 121 seconds) 01:21:14 <-- EionRobb has quit (Ping timeout: 121 seconds) 01:22:40 --> EionRobb has joined #instantbird 01:27:13 <instantbot> aleth@instantbird.org changed the Resolution on bug 1245325 from --- to FIXED. 01:27:14 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1245325 nor, --, Instantbird 47, aleth, RESO FIXED, Better error reporting when outgoing messages fail 01:38:10 <clokep_work> Our socket.jsm code is a little...crusty. 01:39:15 <aleth> is it reaching its "refactor by" date? ;) 01:40:54 <aleth> I remember having some WIP for taskifying the oldschool queues in there 01:46:24 <clokep_work> Oh? That'd be nice. 01:46:40 <clokep_work> I want to make a BaseSocket object, a BinarySocket object and a Socket object. 01:46:47 <clokep_work> I think it'd clean up some of the logic in there. :) 01:46:48 <-- abdelrhman has quit (Ping timeout: 121 seconds) 01:46:50 --> abdelrhman has joined #instantbird 01:47:52 <clokep_work> There's some other weird things, like why does the constructor take a aProxy? 01:47:58 <clokep_work> We never use that and always just get it from inside. 01:48:04 <clokep_work> *from other APIs. 01:48:17 <-- abdelrhman has quit (RecvQ exceeded) 01:48:40 --> abdelrhman has joined #instantbird 01:48:51 <aleth> It was probably there "just in case"... 01:49:00 <aleth> That split would make sense :-) 01:49:09 <aleth> the WIP was https://bugzilla.mozilla.org/page.cgi?id=splinter.html&bug=1068234&attachment=8498120 01:50:39 <clokep_work> Oh wow. 01:50:43 <clokep_work> That got stuck in review hell? 01:50:56 <aleth> No, I just never got around to finishing it :-S 01:51:11 <aleth> I mean, it works, but it needed some more work... 01:51:20 <aleth> (to get it into toolkit) 01:51:32 <clokep_work> Right. :( 01:52:23 <clokep_work> OK...I get to implement MQTT now. 01:52:25 <clokep_work> Woot woot. 01:52:33 <EionRobb> I am sorry for your loss 01:52:34 <clokep_work> I should probably read their spec. 01:52:53 <clokep_work> EionRobb: Can't be *that* bad. 01:53:09 * clokep_work has dealt with some crazy protocols. 01:53:16 <aleth> Isn't it just json? 01:53:19 <EionRobb> lolno 01:53:29 <EionRobb> mqtt is the devil 01:54:11 * clokep_work grabs his holy water. 01:56:57 <EionRobb> oh, clokep, don't bother reading the official mqtt spec, because that's not what facebook uses 01:57:04 <EionRobb> save yourself some time now 01:58:37 <clokep_work> EionRobb: I just want to look briefly at how things are framed and stuff. 01:58:40 <clokep_work> Is that of any use? 01:58:49 <EionRobb> fair enough 02:03:13 * clokep_work really wishes libpurple used an evented style of code. 02:03:17 <clokep_work> It works so much nicer for networking... 02:03:54 <EionRobb> other than the read/write events, you mean? 02:05:29 <-- abdelrhman has quit (Ping timeout: 121 seconds) 02:06:00 <clokep_work> Maybe... 02:07:20 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 02:09:13 <clokep_work> Although it could just be the general lack of comments in this code. ;) 02:11:30 <-- GeekShadow has quit (Ping timeout: 121 seconds) 02:14:19 <EionRobb> self-documenting code? :D 02:22:09 <clokep_work> EionRobb: Are those thrift.h/c files auto-generated or did he write his own thrift parser? 02:22:21 * clokep_work guesses the second. 02:22:31 <EionRobb> I think he wrote his own, the apache one didn't work in C 02:23:22 <clokep_work> Ah is it C++ only? Fun. 02:23:23 <instantbot> c++ is evil 02:24:04 <EionRobb> there's lots of language bindings, but the C/glib one was incomplete 02:24:39 <EionRobb> there's c++, java, c#, python, php, ruby, erlang, perl, go, delphi bindings 02:25:12 <EionRobb> oh, there's a js one too https://github.com/apache/thrift/tree/master/lib/js 02:25:26 <EionRobb> oh, its node. sucks. 02:25:31 <-- aleth has quit (Ping timeout: 121 seconds) 02:25:42 <EionRobb> no, there's a separate nodejs binding 02:29:46 <clokep_work> There's nodejs, jquery, etc. 02:32:33 <clokep_work> Of course this might all be useless without a thrift file. ;) 02:39:28 --> GeekShadow has joined #instantbird 03:11:13 --> Bollebib has joined #instantbird 03:36:24 --> pWnnn has joined #instantbird 04:10:14 --> nhnt11 has joined #instantbird 04:10:14 * ChanServ sets mode +h nhnt11 04:19:14 <-- EionRobb has quit (Quit: Leaving.) 04:29:10 <-- nhnt11 has quit (Ping timeout: 121 seconds) 04:34:36 --> nhnt11 has joined #instantbird 04:34:36 * ChanServ sets mode +h nhnt11 04:34:42 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 04:38:38 --> nhnt11 has joined #instantbird 04:38:39 * ChanServ sets mode +h nhnt11 04:48:13 <-- clokep_work has quit (Ping timeout: 121 seconds) 04:50:41 --> micahg has joined #instantbird 04:54:15 <instant-buildbot> build #599 of linux64-nightly-default is complete: Failure [4failed compile] Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/599 04:55:49 <instant-buildbot> build #3068 of macosx-nightly-default is complete: Success [3build successful] Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/3068 04:58:43 <-- nhnt11 has quit (Ping timeout: 121 seconds) 05:01:10 --> EionRobb has joined #instantbird 05:03:51 --> Mook has joined #instantbird 05:05:10 --> mpmc has joined #instantbird 05:07:00 --> nhnt11 has joined #instantbird 05:07:00 * ChanServ sets mode +h nhnt11 05:30:07 <-- nhnt11 has quit (Ping timeout: 121 seconds) 05:52:19 --> nhnt11 has joined #instantbird 05:52:19 * ChanServ sets mode +h nhnt11 06:27:39 <-- Mook has quit (Client exited) 06:29:29 --> Mook has joined #instantbird 06:45:14 --> EionRobb1 has joined #instantbird 06:46:31 <-- EionRobb has quit (Ping timeout: 121 seconds) 06:48:10 <-- Bollebib has quit (Ping timeout: 121 seconds) 06:49:31 --> CuriousLearner has joined #instantbird 07:04:15 <-- CuriousLearner has quit (Ping timeout: 121 seconds) 07:38:01 --> MikkCZ has joined #instantbird 07:38:10 <-- MikkCZ has quit (Connection closed) 08:05:39 <-- nhnt11 has quit (Ping timeout: 121 seconds) 08:40:03 --> nhnt11 has joined #instantbird 08:40:03 * ChanServ sets mode +h nhnt11 09:06:09 --> gerard-majax has joined #instantbird 09:09:54 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 09:14:23 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 09:23:05 --> aleth has joined #instantbird 09:23:06 * ChanServ sets mode +o aleth 09:23:21 --> Bollebib has joined #instantbird 09:25:41 <-- chrisccoulson has quit (Connection closed) 09:25:51 <-- mpmc has quit (Connection closed) 09:25:53 --> mpmc has joined #instantbird 09:26:20 --> chrisccoulson has joined #instantbird 09:41:21 --> flo-retina has joined #instantbird 09:41:21 * ChanServ sets mode +qo flo-retina flo-retina 09:46:51 <-- aleth has quit (Quit: Instantbird 47) 09:47:01 --> aleth has joined #instantbird 09:47:02 * ChanServ sets mode +o aleth 10:25:11 <-- pWnnn has quit (Ping timeout: 121 seconds) 10:27:34 <-- bittin- has quit (Ping timeout: 121 seconds) 10:28:36 --> bittin- has joined #instantbird 10:31:36 --> pWnnn has joined #instantbird 10:32:48 <-- pWnnn has quit (Client exited) 10:34:37 --> pWnnn has joined #instantbird 10:34:42 --> BWMerlin has joined #instantbird 11:11:49 <-- aleth has quit (Ping timeout: 121 seconds) 11:23:57 <flo-retina> the Linux build is broken on mintrayr _again_ :-S 11:49:53 <-- BWMerlin has quit (Client exited) 12:08:29 --> aleth has joined #instantbird 12:08:29 * ChanServ sets mode +o aleth 12:24:31 <-- aleth has quit (Ping timeout: 121 seconds) 12:25:08 --> aleth has joined #instantbird 12:25:09 * ChanServ sets mode +o aleth 12:25:58 --> aleth1 has joined #instantbird 12:25:59 * ChanServ sets mode +o aleth1 12:29:11 <-- aleth has quit (Ping timeout: 121 seconds) 12:29:11 * aleth1 is now known as aleth 12:35:59 --> clokep_work has joined #instantbird 12:36:00 * ChanServ sets mode +o clokep_work 12:36:36 <clokep_work> flo-retina: I think we discussed that yesterday? Any ideas? 12:37:14 <clokep_work> aleth: Soo....I know we discussed this recently so sorry! :) What's the current state of modules in m-c? Is there a way to emulate a |require| statement? 12:38:48 <aleth> There's some bits of m-c that actually use require 12:39:16 <aleth> Personally I think the current state of modules is painful once you go beyond jsm 12:40:13 <clokep_work> ...but if I wanted to use some node code that uses require how badly will it explode? :-D 12:43:17 <-- aleth has quit (Ping timeout: 121 seconds) 12:45:51 --> aleth has joined #instantbird 12:45:52 * ChanServ sets mode +o aleth 12:48:04 <aleth> clokep_work: require.js exists in toolkit/components/workerloader, maybe you can use that 12:48:39 <clokep_work> Hm. Interesting. I guess I'll just need to try it. 12:48:58 <aleth> that's what osfile.jsm uses, so it won't explode ;) 12:50:00 <clokep_work> aleth: https://dxr.mozilla.org/mozilla-central/source/devtools/client/shared/browser-loader.js#10 looks promising! 12:50:02 <clokep_work> :-D 12:50:07 <clokep_work> Loks like you just include a JSM first, yeah. 12:50:09 <clokep_work> Cool. 12:51:49 <aleth> I was thinking of https://dxr.mozilla.org/mozilla-central/source/toolkit/components/osfile/osfile.jsm#31 12:52:28 <aleth> devtools uses all kinds of stuff (react etc) 12:57:57 <clokep_work> aleth: Ah that's an interesting idea! I assume importScripts is done in the preprocessor? 12:58:13 <clokep_work> We should do that for the Twitter parsing too. ;) 12:58:23 <clokep_work> That twitter string parsing library we have. 12:59:23 <aleth> importScripts may be worker-specific 12:59:25 <aleth> idk 12:59:40 <aleth> but anyway, you know how to import scripts already ;) 13:00:09 * clokep_work wonders how hard it would be to render Markdwn. 13:00:41 <aleth> probably not that hard if you find the right library 13:00:49 <clokep_work> Looks like it's part of worker stuff yeah 13:04:30 <flo-retina> I think importScripts is worker specific, yes 13:05:10 <flo-retina> and IIRC the require stuff in osfile is the B2G code path 13:05:36 <clokep_work> IIRC jcranmer had written *something* to combine a bunch of files before including them. 13:05:40 <clokep_work> I can always do that if need be. 13:06:11 <aleth> What's the problem with just including them? require is basically a shim to include commonJS modules 13:06:29 <aleth> (one of the many JS module "standards") 13:07:13 <clokep_work> What do you mean "just including them"? 13:07:24 <clokep_work> The problem is figuring out how to load them in such a way that they can all find each other. 13:07:33 <flo-retina> what are you trying to do? Organizing in several different files your new code, or re-using existing node stuff? 13:07:59 <clokep_work> Re-use. 13:10:20 <-- Tonnes has quit (Connection closed) 13:11:13 <aleth> If they are all included into a common scope, they will find each other 13:12:00 <-- clokep_work has quit (Ping timeout: 121 seconds) 13:17:15 <-- aleth has quit (Ping timeout: 121 seconds) 13:18:03 --> aleth has joined #instantbird 13:18:03 * ChanServ sets mode +o aleth 13:19:45 --> Tonnes has joined #instantbird 13:49:44 --> clokep_work has joined #instantbird 13:49:44 * ChanServ sets mode +o clokep_work 13:57:09 <clokep_work> aleth: But they don't EXPORt anything so you can't just include them as modules. 14:14:08 <-- clokep_work has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 14:14:11 --> clokep_work has joined #instantbird 14:14:12 * ChanServ sets mode +o clokep_work 14:23:23 <-- Tonnes has quit (Quit: ChatZilla 0.9.92 [Firefox 44.0.1/20160205155049]) 14:24:26 <-- aleth has quit (Ping timeout: 121 seconds) 15:31:49 --> Tonnes has joined #instantbird 16:21:23 --> MikkCZ has joined #instantbird 16:23:13 <-- MikkCZ has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 16:38:08 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died) 16:38:19 --> chrisccoulson has joined #instantbird 17:13:12 <-- flo-retina has quit (Ping timeout: 121 seconds) 17:14:08 --> flo-retina has joined #instantbird 17:14:09 * ChanServ sets mode +qo flo-retina flo-retina 17:38:38 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 17:39:36 --> mconley|livehacking has joined #instantbird 17:48:34 <-- pWnnn has quit (Ping timeout: 121 seconds) 17:55:29 --> aleth has joined #instantbird 17:55:30 * ChanServ sets mode +o aleth 17:58:34 <aleth> clokep_work: that's what's so painful about JS modules: multiple conflicting standards for how to specify what a module exports 17:59:38 <aleth> so you end up with "compilers" for an interpreted language simply to piece libraries together :-/ 18:02:38 <aleth> https://medium.freecodecamp.com/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#.12ltzucds 18:03:35 --> bogdan_maris has joined #instantbird 18:06:15 --> flo-retina has joined #instantbird 18:06:15 * ChanServ sets mode +qo flo-retina flo-retina 18:12:15 <clokep_work> Fun! 18:12:22 <clokep_work> aleth: Yeah it's annoying, I'm not sure of the solution. :( 18:12:29 <clokep_work> Luckily the node packages are all really contained! :-D 18:14:07 <aleth> maybe you can just add something like EXPORTED_SYMBOLS = module.exports at the bottom 18:18:25 <clokep_work> Oh sure. 18:18:28 <clokep_work> I can modify the files. 18:18:42 <clokep_work> It's annoying to modify upstream files though! Was just trying to figure out the deal. :) 18:19:37 <aleth> yeah, maybe using the require shim is easier 18:28:19 <clokep_work> Maybe, but then you have to inject the shim into the things you require? 18:28:23 <clokep_work> That's what's hurting my head! :-D 18:28:27 <clokep_work> Or maybe once it's required it's not an issue. 18:30:19 <-- mpmc has quit (A TLS packet with unexpected length was received.) 18:32:41 --> arlolra has joined #instantbird 18:51:28 <-- EionRobb1 has quit (Quit: Leaving.) 18:53:22 <-- gerard-majax has quit (Ping timeout: 121 seconds) 19:28:36 --> Mnyromyr has joined #instantbird 19:32:28 --> unghost has joined #instantbird 19:36:33 <-- unghost has quit (Ping timeout: 121 seconds) 19:40:39 --> unghost has joined #instantbird 19:52:09 <Fallen> I'm beginning to be a channel maniac, I need tab groups for instantbird 19:52:22 --> EionRobb has joined #instantbird 19:57:08 <flo-retina> putting the channels on hold is no longer enough? 20:03:45 <Fallen> nope, too many of those 20:05:22 <-- mconley|livehacking has quit (Quit: NO CARRIER) 20:06:21 --> nhnt11 has joined #instantbird 20:06:21 * ChanServ sets mode +h nhnt11 20:07:02 <Fallen> ok, closed a bunch. Better now :) 20:07:59 <Fallen> 6 channels alone for amo now 20:08:47 <Fallen> splitters in the tabs would be nice, then I could split channels based on general topic 20:08:55 <Fallen> that shouldn't be too hard to do either 20:16:53 <flo-retina> :) 21:19:39 --> myk has joined #instantbird 21:31:19 --> myk_ has joined #instantbird 21:31:28 <-- myk has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 21:31:28 * myk_ is now known as myk 22:02:55 <-- freaktechnik has quit (Ping timeout: 121 seconds) 22:04:04 --> freaktechnik has joined #instantbird 22:09:32 <-- arlolra has quit (Client exited) 22:37:24 <-- unghost has quit (Ping timeout: 121 seconds) 22:37:58 --> unghost has joined #instantbird 22:51:40 <-- Mnyromyr has quit (Connection closed) 23:00:26 --> abdelrhman has joined #instantbird 23:05:37 --> EionRobb1 has joined #instantbird 23:07:05 <-- Bollebib has quit (Ping timeout: 121 seconds) 23:07:39 <-- EionRobb has quit (Ping timeout: 121 seconds) 23:09:15 <-- abdelrhman has quit (A TLS packet with unexpected length was received.) 23:10:10 <-- unghost has quit (A TLS packet with unexpected length was received.) 23:37:00 <-- clokep_work has quit (Ping timeout: 121 seconds) 23:44:12 <-- bogdan_maris has quit (Ping timeout: 121 seconds) 23:55:04 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com) 23:55:08 --> nhnt11 has joined #instantbird 23:55:08 * ChanServ sets mode +h nhnt11