#instantbird log on 08 29 2015

All times are UTC.

00:02:13 --> satdav has joined #instantbird
00:09:51 <-- myk has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
00:10:49 <-- abdelrhman has quit (Quit: Leaving)
00:22:41 <instantbot> New Instantbird - Account manager bug 1199855 filed by david.weir@mozilla.org.uk.
00:22:42 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1199855 nor, --, ---, nobody, NEW, Matrix support
00:31:13 <satdav> Did I add that bug in the correct section 
00:54:02 <-- chrisccoulson has quit (Ping timeout: 121 seconds)
01:04:36 --> clokep has joined #instantbird
01:04:36 * ChanServ sets mode +o clokep 
01:30:18 <-- Bollebib has quit (Ping timeout: 121 seconds)
01:35:14 <clokep> satdav: I don't think so, probably wants to be in chat core.
01:35:21 <clokep> But it's unclear to me what adding "matrix.org" support means.
01:35:45 <clokep> Do you mean as a protocol?
01:57:38 --> clokep_ has joined #instantbird
01:57:38 * ChanServ sets mode +o clokep_ 
01:59:47 <-- clokep has quit (Ping timeout: 121 seconds)
02:01:42 <-- clokep_ has quit (Ping timeout: 121 seconds)
02:36:17 <instant-buildbot> build #2868 of macosx-nightly-default is complete: Failure [4failed hg]  Build details are at http://buildbot.instantbird.org/builders/macosx-nightly-default/builds/2868
02:39:29 <-- satdav has quit (Quit: Connection closed for inactivity)
03:04:07 <instant-buildbot> build #1513 of linux-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/linux-nightly-default/builds/1513
05:47:15 <instant-buildbot> build #423 of linux64-nightly-default is complete: Failure [4failed compile]  Build details are at http://buildbot.instantbird.org/builders/linux64-nightly-default/builds/423
06:23:27 --> gerard-majax has joined #instantbird
07:29:33 --> clokep has joined #instantbird
07:29:33 * ChanServ sets mode +o clokep 
07:30:02 <-- clokep has quit (Connection closed)
08:12:17 --> Bollebib has joined #instantbird
08:52:12 --> afiksof has joined #instantbird
09:15:02 <-- afiksof has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:15:27 --> afiksof has joined #instantbird
09:23:28 <-- GeekShadow has quit (Ping timeout: 121 seconds)
09:32:00 <-- Even has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
09:32:04 --> Even has joined #instantbird
09:32:04 * ChanServ sets mode +o Even 
09:47:25 --> aleth has joined #instantbird
09:47:25 * ChanServ sets mode +o aleth 
10:35:36 <-- freaktechnik has quit (Ping timeout: 121 seconds)
10:36:42 --> freaktechnik has joined #instantbird
11:40:19 <-- EionRobb has quit (Connection closed)
11:41:44 --> EionRobb has joined #instantbird
11:50:09 --> abdelrhman has joined #instantbird
11:50:57 <abdelrhman> aleth: for bug 1176958, what do you mean by "rebase"?
11:50:59 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1176958 nor, --, ---, a.ahmed1026, REOP, Participants list does not delete old nick when a participant changes it in XMPP MUC
11:52:31 <aleth> I mean rebasing your patch onto the current tip (e.g. with hg rebase)
11:52:58 <abdelrhman> so I need to do that, right?
11:52:59 <aleth> Basically your patch is written so it applies on revision X. But the current tip of the tree is revision Y, and your patch does not apply cleanly on Y
11:53:29 <aleth> So it's "bitrotted"
11:53:43 --> clokep has joined #instantbird
11:53:43 * ChanServ sets mode +o clokep 
11:54:06 <aleth> Yes, you can try the command, and if you get conflicts you have to resolve them by hand.
11:54:15 <aleth> Or you can just do it all by hand, whatever you prefer.
11:54:22 <abdelrhman> OK
11:55:28 <aleth> "By hand" means applying the patch and then going through the rej files.
11:56:46 <abdelrhman> OK
11:56:47 <abdelrhman> aleth: bug 1172354, needs a review to avoid improvements for patches of other commands
11:56:49 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1172354 nor, --, ---, a.ahmed1026, NEW, Add ban, kick, invite, msg, nick commands for XMPP MUCs
11:57:02 <aleth> np, I'll try to get to it later
11:57:07 <abdelrhman> OK
11:58:47 <clokep> Self-bitrot, the best kind. :)
12:04:59 <abdelrhman> it's like conflicts of git. I'm resolving them by hand.
12:05:49 <abdelrhman> but there is no .rej files, currently, I see .orig files
12:15:07 <aleth> Depends on which command you used.
12:15:17 <abdelrhman> hg pull --rebase
12:15:46 <aleth> Yeah, you get .rej e.g. if you hg qpush.
12:26:40 <-- EionRobb has quit (Quit: Leaving.)
12:43:04 <abdelrhman> aleth: I do not think rebased patch needs to review, right?
12:43:25 <aleth> No, it's fine.
12:44:01 <abdelrhman> Done.
12:53:13 --> satdav has joined #instantbird
12:56:11 <-- abdelrhman has quit (Ping timeout: 121 seconds)
13:06:52 <-- afiksof has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:06:57 --> afiksof has joined #instantbird
13:22:34 <-- afiksof has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
13:22:51 --> afiksof has joined #instantbird
13:24:50 --> Mnyromyr has joined #instantbird
14:09:59 <-- afiksof has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
14:10:04 --> afiksof has joined #instantbird
14:26:26 --> GeekShadow has joined #instantbird
14:55:05 <-- aleth has quit (Quit: :tiuQ)
15:58:34 <-- afiksof has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
15:58:40 --> afiksof has joined #instantbird
16:30:40 <-- satdav has quit (Quit: )
16:32:44 <-- afiksof has quit (Ping timeout: 121 seconds)
17:31:10 * clokep wonders if Matrix has full history.
17:31:14 <clokep> I.e. if it could replace bouncers.
18:24:03 --> afiksof has joined #instantbird
19:55:35 --> aleth has joined #instantbird
19:55:35 * ChanServ sets mode +o aleth 
20:16:15 <-- afiksof has quit (Connection closed)
20:16:17 --> afiksof has joined #instantbird
20:33:50 <instantbot> aleth@instantbird.org changed the Resolution on bug 1194186 from --- to DUPLICATE.
20:33:52 <instantbot> Bug https://bugzilla.mozilla.org/show_bug.cgi?id=1194186 nor, --, ---, nobody, RESO DUPLICATE, Opening a context menu immediately selects a menuitem
20:38:10 <-- Mnyromyr has quit (Quit: ChatZilla 0.9.92 [SeaMonkey 2.33.1/20150321194827])
21:26:58 <clokep> Anyone have an idea of how hard it would be to update https://addons.instantbird.org/en-US/instantbird/addon/318?
21:27:06 * clokep looks at nhnt11 and aleth.
21:28:05 <aleth> Probably not that hard, but I'm not very motivated
21:28:06 <nhnt11> clokep: Needs some thought about where to put the button since the status bar is gone
21:28:22 <clokep> nhnt11: Maybe up in that button API thing?
21:28:29 <nhnt11> Maybe
21:28:34 * nhnt11 isn't very motivated either ;)
21:28:36 <clokep> Awful UI but would be easy! :-D
21:28:42 <aleth> That would be the easiest, but it's a long way from the textbox
21:28:44 <clokep> Someone emailed me about it.
21:28:46 <aleth> Doesn't OS X have its own smiley panel that we could get working too
21:28:51 <nhnt11> I'd be far more interested in getting OS X's emoji panel to work with text fields in Ib...
21:28:53 <nhnt11> yeah
21:28:56 <aleth> Hmm, I guess it is a popular addon
21:29:22 <aleth> "not too keen on the placement of the panel launcher button though." says a comment from 2012
21:34:38 <Fallen> place it on the right in line with the text entry textbox
21:34:52 <clokep> Ah Fallen has volunteered to update it! :P
21:35:11 <Fallen> I don't even use emoticons, that is the first thing I disable in chat clients :)
21:35:28 <Fallen> well, the graphical ones. I'm a smiley-purist
21:37:27 <aleth> Fallen: I kind of agree. The whole point of smileys used to be what you can do with ascii...
21:38:45 <clokep> I'm glad we can send Fallen Unicode emoji now though, he can't shut thos eoff.
21:39:20 <Fallen> now that is an addon to write...replace unicode smileys with ascii smileys!
21:56:23 <clokep> :)
21:58:12 <aleth> Or you could replace them with redacted bars ;)
21:59:30 <clokep> aleth: Do you know the file of the actual conversation UI?
21:59:31 <clokep> conv.xml?
21:59:37 <aleth> conversation.xml
21:59:42 <clokep> What's conv.xml? :-D
21:59:50 <aleth> something in the contact list I think
21:59:57 <aleth> convs on hold?
22:00:17 * clokep sighs.
22:01:00 <clokep> Bah I forget how overlays work
22:01:07 <clokep> Can I overlay XBL? Is that a thing?
22:02:45 <aleth> You can overlay any element
22:03:03 <aleth> Is that how the addon does it? Probably easier to use JS to just add whatever element you want to add
22:03:21 <clokep> aleth: http://pastebin.instantbird.com/1901645
22:03:32 <clokep> Sure I could make it bootstrapped.
22:03:36 <clokep> But tahat seemed like more work. :-D
22:03:55 <aleth> yeah, no wonder it's broken if it overlays the status bar
22:05:42 <clokep> Yep.
22:05:49 <clokep> So I figured "just overlay something else!" would be easiest. :(
22:05:59 <clokep> Ooooo how hard would it be to *add* the statusbar?
22:07:47 <aleth> Pretty easy, probably.
22:08:02 <aleth> Kinda ugly though ;)
22:09:10 <clokep> I don't care. :P
22:09:12 <clokep> I'm not gonna use it.
22:09:44 <aleth> :-D
22:09:53 <aleth> It'll probably be super popular
22:09:57 <aleth> "Status bar restorer"
22:13:55 --> nhnt12 has joined #instantbird
22:13:55 * ChanServ sets mode +h nhnt12 
22:14:09 * aleth is now known as nhnt13 
22:15:00 <-- nhnt11 has quit (Ping timeout: 121 seconds)
22:15:00 * nhnt12 is now known as nhnt11 
22:16:08 * nhnt13 is now known as aleth 
22:16:16 <clokep> aleth: When did we kill the statusbar?
22:16:22 <clokep> And why is nhnt13 now known as aleth?!
22:16:30 <aleth> some time last year
22:16:55 <clokep> > 1.5?
22:17:00 <aleth> definitely
22:19:46 * clokep uploaded a new version.
22:19:59 <aleth> quick work :-)
22:20:08 <clokep> It's ugly/hacky
22:40:17 --> Matth3w has joined #instantbird
22:40:24 * Matth3w waves from matrixland
22:43:25 * clokep waves from..
22:43:29 * clokep looks around.
22:43:31 <clokep> Where am I!?
22:43:41 <Matth3w> most likely IRC? :D
22:45:30 <clokep> Something like that.
22:45:30 <aleth> You see a maze of twisty passages, all alike.
22:45:40 * clokep turns right.
22:45:56 <clokep> Matth3w: Is there documentation about connecting to moznet via Matrix?
22:46:06 <Matth3w> why did you kill the little dwarf? he was your friend...
22:46:19 <Matth3w> clokep (IRC): not really; it's brand new and a bit experimental
22:46:26 <clokep> (Also, does Matrix give you history for when you were offline? That alone would get me to use it.)
22:46:28 <Matth3w> but in practice, in a matrix client, /join #mozilla_#instantbird:matrix.org
22:46:38 <clokep> Huh...interesting.
22:46:48 <clokep> That's weird syntax.
22:47:10 <aleth> matrix.org being the matrix server?
22:47:12 <Matth3w> clokep (IRC): yup, that's the main point of Matrix. it's not really a messaging platform so much as a decentralised JSON DB with open federation and an HTTP API
22:47:21 <Matth3w> so yes, the syntax is deliberately weird
22:47:35 <Matth3w> room aliases are #room:server
22:47:40 <Matth3w> user IDs are @user:server
22:47:50 <aleth> ah well, you can stick it in the normalizedName and hide it if you like ;)
22:48:39 <Matth3w> the idea in matrix is that you only use aliases for initial discovery, if at all, and then mainly use the room name
22:49:13 <aleth> which one is persistent?
22:49:20 <Matth3w> the room name.
22:49:47 <Matth3w> rooms are basically two datasets: a timeline of messages and a key-value store of room state
22:50:01 <Matth3w> the timeline of messages forms a directed acyclic graph (of causality)
22:50:09 <Matth3w> a bit like a git commit graph
22:50:22 <Matth3w> and the graph gets replicated over all the servers whose users participate in a room.
22:50:30 <Matth3w> and so something like the room name is just key-value state associated with said room.
22:50:39 <aleth> How do you do merges?
22:50:54 * clokep pictures git merges. :-D
22:51:01 <clokep> (Please resolve these changes manually...)
22:51:53 <Matth3w> generally you don't have to - messages are immutable, and if the graph bifurcates due to a netsplit or offline working or whatever, it's like an eventually consistent DB like dynamo/cassandra/etc
22:52:00 <Matth3w> and the clients get shown a linearised version of the graph
22:52:14 <Matth3w> merge conflicts are only really an issue for so-called 'auth events'
22:52:38 <Matth3w> i.e. events (objects) in the graph which have semantic meaning to the lifecycle of the room: joins, parts, bans, kicks, ops, etc.
22:53:42 <Matth3w> ...and the way we fix those is to demand that auth events provide proof of why a server is allowed to send the event that it's sent by quoting previous events
22:54:04 <Matth3w> and then there's a well-defined merge conflict algorithm that sorts out the mess with races (malicious or accidental) over auth events
22:54:58 <aleth> OK, so that all happens on the servers.
22:55:13 <Matth3w> yup. the clients only ever see a trivial linearised view of the graph
22:55:23 <Matth3w> and the servers handle all the eventual consistency fun.
22:55:28 <Matth3w> (otherwise writing clients would be hell :)
22:56:00 <aleth> Using matrix as an easy bouncer replacement for IRC would be a good way to get people to use it
22:56:06 * Matth3w nods
22:56:22 <aleth> irccloud is quite popular purely because it's easier to set up than bouncers ;)
22:56:24 <Matth3w> the current IRC bridge is only a few weeks old, but so far working pretty well
22:56:35 <Matth3w> i'm using it right now, needless to say.
22:56:58 <Matth3w> and we have a bunch of other bridges in the works - SIP, XMPP, etc
22:57:33 * Matth3w can't believe he's building comm-central for the first time in about 10 years :S :)
22:58:25 <clokep> Psh it takes no time at all.
22:58:28 <clokep> :-D
22:58:43 <Matth3w> my MBP is making a noise like a helicopter...
22:58:53 <clokep> Ah, you've reached the stage where it takes off.
22:58:58 <clokep> Don't worry it only floats a few inches off the table.
22:59:55 <clokep> :)
23:00:00 * clokep needs to get going.
23:00:01 <clokep> Ciao!
23:00:03 <-- clokep has quit (Quit: Instantbird 1.6a1pre -- http://www.instantbird.com)
23:01:25 * Matth3w is a bit worried that the bandwidth required to make chat core speak Matrix would be better spent making the Matrix spec & server impl suck less :(
23:03:29 <aleth> so much to do, so little time ;)
23:03:47 <Matth3w> indeedy
23:03:49 <aleth> I guess it depends on how easily the APIs map across
23:06:49 <aleth> If you're just sending JSON backwards and forwards it shouldn't be too bad
23:07:14 <Matth3w> yeah, it's just trivial JSON PUTs and GETs
23:07:42 <Matth3w> http://matrix.org/docs/guides/client-server.html is the HTTP blurb
23:07:52 <Matth3w> https://github.com/matrix-org/matrix-js-sdk is the JS API
23:08:25 <Matth3w> i guess my concern with the JS API is that it uses a bunch of NPM-packaged deps currently
23:08:30 <Matth3w> actually, not that many, but i think there are some
23:08:39 <Matth3w> which i'm guessing doesn't gel nice with the moz build process?
23:08:59 <aleth> Probably not ideal
23:09:03 <aleth> What do you use them for?
23:09:36 <aleth> If you just need a socket etc there's existing modules you can use.
23:09:55 <Matth3w> actually, i lie - the only library is 'q' for promises
23:09:56 <Matth3w> which is optional
23:10:06 <Matth3w> the JS sdk just provides helpers for the state machine of the client
23:10:10 <aleth> You can use built-in DOM promises
23:10:17 * Matth3w nods
23:10:48 <aleth> The nice thing about writing for the chat core is that you can use all the ES6 goodies (as far as mozilla has them)
23:10:57 * Matth3w nods
23:11:34 * Matth3w will try to have a quick hack at this, but i suspect server/spec stuff will end up having to take priority
23:11:47 <aleth> Sure
23:11:54 <aleth> Feel free to ask if you get lost in the interfaces etc
23:11:58 <Matth3w> will do.
23:15:47 <-- aleth has quit (Quit: :tiuQ)
23:51:55 --> abdelrhman has joined #instantbird