#instantbird log on 02 02 2016

All times are UTC.

00:02:02 <-- aleth has quit (Quit: :tiuQ)
00:06:26 <-- chrisccoulson has quit (Connection closed)
00:18:36 --> chrisccoulson has joined #instantbird
00:26:57 <-- chrisccoulson has quit (Quit: OSError: [Errno 130] Owner died)
00:35:05 <-- clokep has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
00:40:44 <-- bogdan_maris has quit (Ping timeout: 121 seconds)
00:46:13 <-- arlolra has quit (Client exited)
00:46:54 --> clokep has joined #instantbird
00:46:54 * ChanServ sets mode +o clokep 
01:29:11 <-- myk has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
01:31:59 <-- clokep has quit (Ping timeout: 121 seconds)
01:33:29 --> clokep_work has joined #instantbird
01:33:29 * ChanServ sets mode +o clokep_work 
01:46:50 --> bogdan_maris has joined #instantbird
02:14:49 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
02:58:42 <-- flo-retina has quit (Connection closed)
02:59:02 --> flo-retina has joined #instantbird
02:59:03 * ChanServ sets mode +qo flo-retina flo-retina 
03:17:58 * clokep_work mumbles about our hacked up glib.
03:29:51 <instant-buildbot> build #3059 of macosx-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/3059
03:31:24 <-- Bollebib has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
03:35:13 <clokep_work> So I have Pidgin's Facebook stuff like half compiling.
03:35:24 <clokep_work> But it requires json-glib, which isn't terrible...but that requires gio.
03:35:37 <clokep_work> I feel like there's some reason I 'can't' include that.
03:35:40 <clokep_work> Any idea flo-retina?
03:39:41 <-- clokep_work has quit (Ping timeout: 121 seconds)
03:49:05 <EionRobb> since when does json-glib require gio?
03:49:12 <EionRobb> what version of json-glib are you using?
04:07:32 <instant-buildbot> build #591 of linux64-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/591
04:25:42 <-- flo-retina has quit (Connection closed)
04:26:33 --> flo-retina has joined #instantbird
04:26:34 * ChanServ sets mode +qo flo-retina flo-retina 
04:49:23 <-- bogdan_maris has quit (Ping timeout: 121 seconds)
05:01:29 <-- EionRobb has quit (Quit: Leaving.)
05:27:43 --> EionRobb has joined #instantbird
06:12:42 --> Alex2 has joined #instantbird
08:04:59 --> myk has joined #instantbird
08:29:11 <-- myk has quit (Ping timeout: 121 seconds)
08:55:38 --> chrisccoulson has joined #instantbird
09:47:18 --> BWMerlin has joined #instantbird
09:47:53 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:49:49 --> bogdan_maris has joined #instantbird
09:52:58 --> Bollebib has joined #instantbird
09:57:46 <-- chrisccoulson has quit (Connection closed)
10:10:26 <-- bogdan_maris has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
10:14:07 <-- Alex2 has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
10:22:27 --> bogdan_maris has joined #instantbird
10:29:37 --> mpmc has joined #instantbird
10:31:11 --> flo-retina has joined #instantbird
10:31:12 * ChanServ sets mode +qo flo-retina flo-retina 
10:45:53 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
10:45:56 --> flo-retina has joined #instantbird
10:45:56 * ChanServ sets mode +qo flo-retina flo-retina 
10:48:39 --> chrisccoulson has joined #instantbird
11:09:17 --> gerard-majax has joined #instantbird
11:10:44 <-- pWnnn has quit (Client exited)
11:12:07 --> pWnnn has joined #instantbird
11:18:07 <-- gerard-majax has quit (Quit: Leaving)
11:18:11 --> gerard-majax has joined #instantbird
11:41:53 <-- gerard-majax has quit (Ping timeout: 121 seconds)
11:43:33 --> gerard-majax has joined #instantbird
12:03:06 <-- gerard-majax has quit (Ping timeout: 121 seconds)
12:03:56 --> gerard-majax has joined #instantbird
12:09:26 <-- gerard-majax has quit (Ping timeout: 121 seconds)
12:16:13 --> aleth has joined #instantbird
12:16:13 * ChanServ sets mode +o aleth 
12:22:59 <-- BWMerlin has quit (Client exited)
12:34:44 <-- Tonnes has quit (Ping timeout: 121 seconds)
12:35:43 --> Tonnes has joined #instantbird
12:46:25 --> clokep has joined #instantbird
12:46:25 * ChanServ sets mode +o clokep 
12:51:06 <clokep> EionRobb: What're pblite/protobuf-json/jsprotobuf? Are those libraries to do the same thing or...?
12:51:15 <clokep> I'm familiar with protobuf, but never seen those terms before. :)
12:52:10 <clokep> EionRobb: And I was using json-glib 0.14.
12:52:28 <clokep> And it's possible I got confused and it's actually the facebook code that requires gio.
12:52:30 <clokep> I was pretty tired. ;)
12:53:16 <aleth> clokep: pretty sure gio is enabled by default on Linux
12:53:39 * aleth search
12:53:52 <aleth> bug 713802
12:53:55 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=713802 nor, P3, mozilla18, karlt, RESO FIXED, Build with GIO support (and drop GnomeVFS)
12:54:01 <clokep> aleth: But it's not compiled AT ALL for Windows or Mac.
12:54:05 <clokep> So...not sure how that helps us. ;)
12:54:28 <aleth> hmm, I thought it was a Linux-only thing anyway
12:54:56 <clokep> I'm not sure.
12:55:05 <clokep> I odn't remember enough at the moment of whta was happening.
12:55:08 <clokep> I'll be back in an hour
12:56:45 --> gerard-majax has joined #instantbird
12:59:10 <-- clokep has quit (Ping timeout: 121 seconds)
13:11:46 <-- Fallen has quit (Ping timeout: 121 seconds)
13:11:53 --> Fallen has joined #instantbird
13:37:06 --> clokep_work has joined #instantbird
13:37:06 * ChanServ sets mode +o clokep_work 
13:40:13 <clokep_work> EionRobb: https://github.com/GNOME/json-glib/blob/0.14.2/json-glib/json-generator.h#L32
13:41:05 <clokep_work> I'm using that version due to https://github.com/jgeboski/purple-facebook/blob/master/Makefile.mingw#L16
13:41:28 <clokep_work> flo-retina: Ping
13:41:58 <aleth> iirc the 'g' in gio stands for 'gnome' and it depends on gtk
13:42:17 <clokep_work> Then why is that including gio? :P That would seem silly.
13:42:19 <aleth> hard to see how it could work on osx/win
13:42:42 <aleth> well, that json-glib seems to be in gnome repo
13:42:47 <aleth> according to your link
13:43:00 <clokep_work> Sure, but the Pidgin plugin is compiled for windows.
13:43:03 <clokep_work> So it *must* work.
13:43:08 <aleth> something is very weird there
13:45:36 <freaktechnik> the g in glib is also for gnome...
13:46:40 --> mpmc1 has joined #instantbird
13:46:58 <flo-retina> clokep_work: Hello?
13:47:10 <aleth> The json-glib changelog does mention supporting building on windows
13:48:38 <-- mpmc has quit (Ping timeout: 121 seconds)
13:48:38 * mpmc1 is now known as mpmc 
13:49:00 <aleth> freaktechnik: yeah, but I thought gio was Linux file system specific. might be wrong though
13:50:42 <clokep_work> flo-retina: Have you followed this conversation at all? Maybe you could bring some light to it. :)
13:51:20 <flo-retina> clokep_work: I've read quickly, and the take away from it seems to be that json-glib is a PITA ;).
13:51:22 <-- Tonnes has quit (Quit: ChatZilla 0.9.92 [Firefox 44.0/20160123151951])
13:52:11 * aleth wonders how hard it would be to shim
13:52:42 <aleth> probably harder than rewriting the prpl in js...
13:53:16 <flo-retina> I guess it depends how big the API is
13:54:15 <clokep_work> I was hoping it would be a couple of evenings to get it compiled vs. a few weeks of work to rewrite it in JS.
13:54:17 --> Tonnes has joined #instantbird
13:54:41 <flo-retina> clokep_work: I would be surprised if it took more than one evening
13:54:50 <flo-retina> but I haven't really looked at the problem
13:54:52 <clokep_work> flo-retina: I already spent one evening on it.
13:55:11 <clokep_work> So that's not really helpful. ;)
13:55:17 <flo-retina> clokep_work: I meant an evening of team work
13:55:50 <flo-retina> but my estimates have been dramatically off in the past for libotr :(
13:57:26 <clokep_work> I've pulled in the Facebook code and set up the build system.
13:57:33 <clokep_work> But then got to this gio thing and stopped...
13:59:20 <clokep_work> Of course it'd be easier to make a JS prpl out of it if things were actually documented. :)
14:01:04 <flo-retina> you mean C code isn't a valid form of documentation?
14:03:42 <clokep_work> No.
14:03:53 <flo-retina> and when I said "an evening" I meant for the json-glib thing, not for the whole "build the facebook prpl" proejct
14:05:15 <Fallen> I need a SlackerView tab: one tab that shows new messages from all channels I am in, prefixed by the channel in addition to time and nickname
14:06:05 <Fallen> that would stop me from spending so much time pointlessly switching between chat tabs when I need a break but won't admit it to myself
14:06:22 <clokep_work> I think...someone else asked for that at some point.
14:06:24 <aleth> Fallen: Yoric asked for the same thing. I think it would be a good idea
14:06:45 <aleth> someone just has to write it ;)
14:07:14 <clokep_work> That's who it was! :)
14:07:24 <Fallen> I'm busy switching between chat tabs
14:07:59 <flo-retina> I want that too (fwiw)
14:08:12 <aleth> The UI challenge is to implement that in a way that means you are not swamped by #developers stuff
14:08:16 <aleth> (e.g.)
14:08:35 <flo-retina> and it's even the very first idea in https://wiki.instantbird.org/Instantbird:extension_wish_list
14:08:48 <Fallen> "mute channel until things quiet down"
14:08:54 <flo-retina> aleth: right, we would need to throttle messages from busy channels
14:10:08 <Fallen> how hard can it be? There is surely an API to add a new tab and observer events when new messages are received?
14:10:33 <flo-retina> for an experienced developer like you or me, probably an afternoon of a rainy week-end ;)
14:10:42 <Fallen> I shouldn't get too excited about this, otherwise I know what I'm doing this evening instead of work
14:10:56 <flo-retina> it could keep a newcomer busy for a week though if the person has to discover everything
14:11:08 <flo-retina> Fallen: your evening plan seems exciting
14:11:10 <aleth> Fallen: yes, it's just a matter of writing a conversation binding that listens to all open conversation notifications
14:11:15 <flo-retina> evenings aren't to work anyway ;)
14:11:39 <Fallen> exam prep work :)
14:11:43 <flo-retina> :-/
14:11:57 <clokep_work> flo-retina, aleth: Looks like https://hg.pidgin.im/pidgin/main/file/0fc4638f51ef/libpurple/protocols/facebook/json.h and https://hg.pidgin.im/pidgin/main/file/0fc4638f51ef/libpurple/protocols/facebook/api.c :(
14:12:06 <clokep_work> If it was just json.h that would have been sane...
14:14:06 <aleth> clokep_work: if you want to experiment with building gio on Windows, maybe https://dxr.mozilla.org/mozilla-central/source/toolkit/toolkit.mozbuild#150
14:14:30 <flo-retina> aleth: won't that depend on a glib event loop?
14:14:41 <aleth> that's why I said "experiment"
14:15:16 * clokep_work is very confused about the relationship between gio and glib.
14:15:54 <Fallen> how much of gio is it using? Maybe it makes sense to just write a shim for the functions needed?
14:16:43 <flo-retina> hmm, that's a possible approach yes, just built it with the gio headers
14:16:48 <flo-retina> and see what fails at link time
14:17:02 <clokep_work> Yeah I could possibly try that.
14:17:41 <aleth> good idea
14:18:22 <flo-retina> I've probably used that approach for glib/xml2 at the time
14:28:21 <clokep_work> flo-retina: Although I did have another question...how do I tell the build system to build json-glib after glib?
14:30:01 <flo-retina> does it really have to be "after"?
14:30:10 <flo-retina> I would be tempted to have both statically linked together
14:30:45 <flo-retina> assuming you really want to build it "after glib", I think you would do that by having json-glib depend on glib
14:33:13 <clokep_work> Oh duh, you're right! :0
14:33:37 <clokep_work> They only depend at link time, assuming they can find the proper headers, but those are all exported first.
14:33:50 <clokep_work> So I'm doing something wrong that it can't find glib.h. :)
14:35:57 <clokep_work> Great it's using a method we don't export apparently: g_object_class_install_properties
14:37:30 <flo-retina> do we even build gobject?
14:41:55 <clokep_work> I think so.
14:46:08 <flo-retina> I thought I had hacked something so that we have the headers but don't build/ship it
14:46:15 <flo-retina> I may be misremembering though :)
14:58:49 <clokep_work> We might only have *some* of the headers too?
15:00:19 <flo-retina> could be an outdated version
15:00:23 <flo-retina> (very likely)
15:04:05 <clokep_work> We're using a super old glib yeah. :-\
15:05:00 <flo-retina> it was the oldest/lightest I could get away with, back in 2008
15:05:17 <flo-retina> I don't think I care as much about binary size now as I did back then.
15:07:01 <clokep_work> Yeah.
16:43:10 --> myk has joined #instantbird
16:55:17 <-- myk has quit (Ping timeout: 121 seconds)
16:56:22 <-- gerard-majax has quit (Ping timeout: 121 seconds)
16:57:09 --> myk has joined #instantbird
16:57:14 --> nhnt11 has joined #instantbird
16:57:14 * ChanServ sets mode +h nhnt11 
16:57:20 <-- aleth has quit (Quit: :tiuQ)
16:58:50 --> myk1 has joined #instantbird
16:58:52 <-- myk has quit (Connection closed)
16:58:52 * myk1 is now known as myk 
17:22:32 --> gerard-majax has joined #instantbird
17:49:01 --> MikkCZ has joined #instantbird
17:52:17 <-- gerard-majax has quit (Ping timeout: 121 seconds)
17:57:46 --> gerard-majax has joined #instantbird
17:57:53 <-- mpmc has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:16:21 --> arlolra has joined #instantbird
18:17:42 --> abdelrhman has joined #instantbird
18:18:56 <-- nhnt11 has quit (Ping timeout: 121 seconds)
18:21:39 --> sawrubh_ has joined #instantbird
18:24:37 <-- gerard-majax has quit (Ping timeout: 121 seconds)
18:25:33 --> gerard-majax has joined #instantbird
18:28:40 <-- abdelrhman has quit (Ping timeout: 121 seconds)
18:40:50 <-- gerard-majax has quit (Ping timeout: 121 seconds)
18:48:52 <-- flo-retina has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
18:55:56 <-- MikkCZ has quit (Quit: Instantbird 1.5 -- http://www.instantbird.com)
19:13:45 <EionRobb> clokep_work: "pblite/protobuf-json/jsprotobuf" is all one thing, it doesn't have a real name, hangups calls it pblite but other things call it other things.  it's protobuf encoded as json.  its dumb.
19:14:41 <clokep_work> EionRobb: Sounds fun! :-D Isn't that an actual supported encoding of protobuf3?
19:15:18 <clokep_work> But cool, thanks. :)
19:16:56 <EionRobb> clokep_work: nope, protobuf3 has sane json output, pblite is just the protobuf encoded as arrays that depend on the position of the property in the protobuf
19:17:32 <EionRobb> so {foo:bar, wibble:blarg} might end up as [1,null,null,"bar"]
19:17:56 <clokep_work> (o_O)...
19:18:08 <clokep_work> I'm going to put that back in a box and look back over here.
19:18:51 <EionRobb> unless foo was really really far towards the end of the protobuf object, in which case there's a 'shortcut' to use an object with numeric keys like [1,{45:"bar"}] as long as the object is the last element in the aray
19:19:06 <EionRobb> I just can't find anyone who has been brave enough to document it to link to :)
19:19:31 <EionRobb> also, if it helps, I compiled the json-glib 0.14 dll for jgeboski for the facebook prpl
19:30:44 --> nhnt11 has joined #instantbird
19:30:44 * ChanServ sets mode +h nhnt11 
19:30:51 <-- EionRobb has quit (Quit: Leaving.)
19:33:16 --> flo-retina has joined #instantbird
19:33:16 * ChanServ sets mode +qo flo-retina flo-retina 
19:36:25 <clokep_work> EionRobb: That could be helpful then! :P Does it really require gio? ;)
19:38:23 <clokep_work> And of course he's gone now. :P
19:42:30 --> gerard-majax has joined #instantbird
19:53:20 --> unghost has joined #instantbird
19:56:03 <-- nhnt11 has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
19:56:06 --> nhnt11 has joined #instantbird
19:56:06 * ChanServ sets mode +h nhnt11 
20:09:28 <-- Tonnes has quit (Quit: ChatZilla 0.9.92 [Firefox 44.0/20160123151951])
20:10:56 <freaktechnik> minitrayr is broken again? :(
20:15:43 --> Tonnes has joined #instantbird
20:17:09 --> EionRobb has joined #instantbird
20:20:21 --> Mnyromyr has joined #instantbird
20:28:09 --> aleth has joined #instantbird
20:28:09 * ChanServ sets mode +o aleth 
20:37:49 --> spiffytech has joined #instantbird
20:40:39 <-- gerard-majax has quit (Ping timeout: 121 seconds)
20:59:30 <-- sawrubh_ has quit (Quit: Connection closed for inactivity)
21:05:32 <aleth> freaktechnik: you have to follow bug 1241764. patches welcome ;)
21:05:34 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1241764 nor, --, mozilla47, khuey, RESO FIXED, Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer
21:06:32 <freaktechnik> I'd rather just make a local patch to disable building minitrayr and always apply that...
21:07:15 <aleth> lol
21:07:34 <aleth> sadly people really seem to care about tray icons...
21:07:49 <freaktechnik> which is weird, I'd rather have instantbird in my messaging indicator.
21:07:58 <freaktechnik> But I don't feel like messing with gnome libs ;)
21:15:03 <clokep_work> People *really* like the system tray.
21:15:09 <clokep_work> I really hope Microsoft kills it on Windows one day. :-D
21:15:18 <clokep_work> EionRobb: Well...does it really require gio? :P
21:15:28 <aleth> It'll be like trying to kill the start button. That went well ;)
21:15:29 <clokep_work> (it being json-glib)
21:17:01 <nhnt11> Is the fix for the OS X bustage checked in?
21:17:06 <nhnt11> aleth: did you say it landed on inbound?
21:17:19 <aleth> should be on central by now
21:17:25 <aleth> I pushed it yesterday
21:17:29 <nhnt11> cool, thanks!
21:17:35 <nhnt11> Just refreshing my memory
21:17:40 * nhnt11 wants the emoji panel :]
21:17:44 <nhnt11> (thanks for that too!)
21:21:14 <aleth> Someone with a Linux box has to fix mintrayr, it's not really enough to guess
21:21:47 <aleth> well, Linux or Windows
21:22:04 <freaktechnik> was the fix for nsIDOMEvent confirmed working?
21:22:15 <freaktechnik> because I remember it just fixing the build...
21:22:35 <aleth> no confirmations or complaints
21:22:48 <freaktechnik> so it probably works ;)
21:52:43 <-- arlolra has quit (Client exited)
21:55:41 --> abdelrhman has joined #instantbird
21:59:07 <EionRobb> clokep: I can see it linked in.... http://i.imgur.com/hBAFh41.png
22:00:25 <EionRobb> but if the question is "does the facebook/hangouts prpl use the parts of json-glib that use gio" then I'm not sure :)
22:00:52 <EionRobb> you chaps and chapettes should look at including gio though, since purple3 is moving towards it
22:03:20 <EionRobb> looking at how json-glib uses gio though (for reading and writing from gio streams) I wouldn't think its likely that facebook is using those parts, it'll be doing its own networking
22:03:43 <-- freaktechnik has quit (Ping timeout: 121 seconds)
22:04:52 --> freaktechnik has joined #instantbird
22:12:20 <clokep_work> EionRobb: Thanks.
22:17:28 <-- abdelrhman has quit (Quit: Leaving.)
22:20:59 <EionRobb> from memory, the only reason json-glib 0.14 was needed instead of 0.8 was to take advantage of the JsonPath functions, which makes working with json in C slightly more bearable, but none of that uses gio streams either, from the looks of it
22:21:39 <clokep_work> Neat, maybe I'll just include a dummy header than. ;)
22:21:51 <clokep_work> That was my plan anyway... I have other path issues at the moment.
22:22:19 <aleth> EionRobb: really you'd need c-jstypes to work with json from C ;)
22:22:46 <flo-retina> EionRobb: what is gio used for in libpurple3? How much work would it be to shim these use cases?
22:22:58 <clokep_work> I think it's used for sockets.
22:23:10 <EionRobb> flo-retina: as in, all of the purple networking code being dropped in favour of it
22:23:20 <EionRobb> there's a massive de-duplication going on
22:23:46 <flo-retina> how big is the gio API surface? Can we just reimplement that API using mozilla networking instead?
22:23:52 <EionRobb> :D
22:24:30 <EionRobb> libgio-2.0-0.dll exports 1,555 functions
22:24:52 <flo-retina> that's insane :(
22:25:19 * clokep_work isn't sure that's even reasonable to WANT to do with the changes going on the XUl/GEcko, etc...
22:26:16 <EionRobb> its all the bits of glib that you seem to dislike - file access, networking, proxying, dns
22:26:18 --> abdelrhman has joined #instantbird
22:27:08 <flo-retina> EionRobb: file access isn't desirable for a library focused on implementing network protocols.
22:27:57 <EionRobb> it is if its sending and receiving files over a network protocol :P
22:28:10 <EionRobb> although, that said, the xfer/ft api's allow the UI to handle that itself
22:29:23 <flo-retina> EionRobb: right, it should be receiving a data stream, and the UI should figure out if it's going to convert it to ascii art or a file on disk.
22:30:27 <EionRobb> yeah, that's what the xfer uiops exposes at the moment
22:31:53 <EionRobb> ok, so roughly only 250 functions of that 1500 in gio are related to file access, and I'm not 100% sure of how many are being used by libpurple
22:33:11 --> arlolra has joined #instantbird
22:33:28 <flo-retina> EionRobb: you know we've got some experience in figuring out which subset of a library is actually used by libpurple ;)
22:33:46 <EionRobb> :D
22:34:00 <EionRobb> I just don't know why you keep wanting to make so much extra work for yourselves :)
23:02:22 <-- unghost has quit (Quit: Ухожу я от вас (xchat 2.4.5 или старше))
23:03:25 <-- arlolra has quit (Client exited)
23:03:37 --> arlolra has joined #instantbird
23:03:46 <-- Mnyromyr has quit (Quit: ChatZilla 0.9.92 [SeaMonkey 2.39/20151103174305])
23:26:14 <-- Bollebib has quit (Connection closed)
23:36:10 <-- EionRobb has quit (Ping timeout: 121 seconds)
23:39:06 --> EionRobb has joined #instantbird
23:40:52 <-- arlolra has quit (Client exited)
23:44:45 <-- myk has quit (Ping timeout: 121 seconds)
23:44:48 --> myk has joined #instantbird
23:46:38 <-- clokep_work has quit (Ping timeout: 121 seconds)
23:47:41 --> mpmc has joined #instantbird
23:57:42 <-- abdelrhman has quit (Ping timeout: 121 seconds)