#social 2017-09-01

2017-09-01 UTC
timbl, xmpp-social, JanKusanagi and jankusanagi_ joined the channel
#
Gargron
cwebber2: how's the context doc lookin'?
#
cwebber2
erm I'm not the one that updates it, rhiaro / sandro ? I assume it'll be updated on tuesday along with the new CR going out
#
Gargron
tuesday :O
#
cwebber2
doesn't set the w3c scheduling date process ;O
#
cwebber2
*publishing date
#
Gargron
i mean, so i can't tag a RC until tuesday
#
Gargron
i kinda wanted to do it asap already
#
Gargron
unless i manually edit my cache of the context document to include what i want
#
Gargron
if you give me a pointer of what its going to look like
#
ben_thatmustbeme
i don't believe context docs require any sort of schedule to publish
#
ben_thatmustbeme
as i remember
#
aaronpk
Yea pretty sure rhiaro can just upload it whenever
#
cwebber2
maybe she already did? *checks*
#
cwebber2
it looks like she did Gargron
#
cwebber2
sharedInbox is already in there
#
cwebber2
Gargron: so I think you can just refetch the as2 context and yer good
#
Gargron
\o/
#
Loqi
[Christopher Allan Webber] @mike I'm glad you're implementing ActivityPub but come on, isn't this post pretty over the top? ActivityPub a walled garden, really? We've been trying pretty hard to take community feedback for a long time and work with it. We've solicited and tr...
jankusanagi_ joined the channel
#
jaywink
tbh, sometimes you just have to ignore Mike
#
saranix
he makes perfect sense if you think of him as an NPC in a MUD
eugr joined the channel
#
eugr
cwebber2: take a look, i compiled a list: https://github.com/tootsuite/mastodon/pull/4764
#
Loqi
[Gargron] #4764 Use updated ActivityStreams context (added: sharedInbox)
#
xmpp-social
[ajordan] > And I intend to break the rules so that the walls come down. Deal with it.
#
xmpp-social
[ajordan] So dramatic. Wow
#
cwebber2
eugr: could you paste an example as2 object I could look at?
#
cwebber2
eugr: btw the one concern I have is those "blank node properties" is 1) in the bulleted list on https://github.com/w3c-dvcg/ld-signatures/issues/9
#
Loqi
[cwebber] #9 LD Signatures and json-ld contexts which grow
#
cwebber2
> Make the Linked Data Signature libraries throw if a property is dropped during signing.
#
cwebber2
if that changes in json-ld signature systems in the future (they ignore missing properties right now, which might not be the best security wise) we could bump into trouble
#
cwebber2
but maybe that isn't a problem due to the as2 namespace using the _: @vocab thing which I do not understand at all
#
cwebber2
eugr: see #ccg
#
cwebber2
oh you aren't in there right now
#
cwebber2
eugr: a few days ago dlongley said something in there about this:
#
cwebber2
<dlongley> use whatever names you want, just set your own @vocab that does something *other than* "_:"
#
cwebber2
<cwebber2> <dlongley> and you're good to go.
#
cwebber2
so I think maybe you could do {"@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", {"@vocab": "toot:"}]}
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
I think then you could do "toot:foo"
#
cwebber2
but even better would be
#
cwebber2
{"@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", {"toot": "https://joinmastodon.org/#"}]}
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
double checks this in the json-ld playground
#
cwebber2
Gargron: ok ignore what i said on the @vocab version
#
eugr
maybe we could put atomUri and inReplyToAtomUri into some kinda ostatus namespace
#
eugr
ostatus:atomUri
#
eugr
i just dunno about putting these potentially valuable properties into a willy nilly context?
#
cwebber2
hm, does ostatus define these as properties?
#
eugr
no
#
eugr
no, ostatus has nothing to do with json
#
cwebber2
unfortunately I do think we're in vocabulary authoring territory whether we like it or not
#
eugr
if i make it toot:locked then every AP implementation will have to adopt the silly "toot" context henceforth
#
eugr
that's a big responsibility
#
cwebber2
yeah, I hear you
#
eugr
you know i think i wanna push for "locked" (or a synonym) to be put into AP. it's just so on its own. i can't make up an "extended profile" extension with one single property
#
eugr
given Accept/Reject is in, surely it would be useful to convey the information of "auto-accept"?
#
eugr
call it autoAccept, i wouldn't mind
#
cwebber2
eugr: so if you do "as:locked" effectively that puts the term under the AS2 vocab, but the awkeard thing is it isn't actually defined in the as2 vocab
#
cwebber2
gosh I kind of feel like I need more guidance here
#
eugr
i'm willing to do stuff with atomUri because i think those are throw-away properties that will go away after we remove ostatus support in the eventual future
#
eugr
but locked is more core i feel
#
cwebber2
eugr: could you define "locked"?
#
cwebber2
it sounds like you're making an extension proposal
#
eugr
essentially if you are rendering an actor, "locked" would control whether you're displaying a lock icon on the profile or not
#
eugr
if you can think of a better way to serialize such information, i'm ears
#
cwebber2
eugr: and that means, basically, two things if I understand right?:
#
cwebber2
- user manually accept/rejects posts?
#
cwebber2
follows
#
cwebber2
- posts default to followers-only?
#
cwebber2
eugr: is that right?
#
eugr
just one thing really, the accept/reject thing.
#
eugr
visibility defaulting is more granular in our system
#
cwebber2
got it...
#
cwebber2
gosh this chicken-and-egg of defining extensions is kind of stressful
#
eugr
i'm sorry i realize this is a headache. i am open to alternative suggestions. but i feel quite strongly that not being able to encode this info at all would be a UX regression
#
cwebber2
eugr: no I agree, it should be encoded
#
cwebber2
eugr: so I just want to understand, are you against doing toot:locked because it's more core?
#
cwebber2
how would you feel if toot:locked transitioned into being an official extension and Mastodon saw it as an alias in its own coding?
#
eugr
json-ld contexts are all called very important things like "identity", "security", "activitystreams". i cannot imagine what a context encompassing just one property that depends so heavily on AP behaviour (Accept/Reject) would be called
#
cwebber2
well you're also suggesting a few other properties
#
cwebber2
eugr: so, here's an awkward secret
#
eugr
i am well aware that atomUri and inReplyToAtomUri are thematically different and also, as i said, throw-away
#
cwebber2
if you did "as:locked": true it would still render as https://www.w3.org/ns/activitystreams#locked
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
even though we haven't officially defined it
#
eugr
if i use it as toot:locked now and it eventually becomes AP after all, would that break signatures between masto releases?
#
cwebber2
eugr: it wouldn't break signatures. it would just mean that if you switched things over, it would still see toot:locked on those old ones and would have to know the aliasing itself
#
cwebber2
think of it expandeed
#
cwebber2
another pastefail
#
cwebber2
so many pastefails today D:
#
Loqi
[unarist‮?‭] 明日ってか今日はここも更新してもらおう。でないとmaster勢に迂闊に返信できない…。
#
cwebber2
like that basically
#
eugr
the expanded thing gets signed tho. so if the expansion is different between masto versions, signature verification will fail
#
cwebber2
if it carries the context between each
#
cwebber2
wait I see what you're saying
#
cwebber2
this is a relational vs document thing
#
cwebber2
you're not actually storing that context on the document
#
eugr
it's from the LDS github issue. our rule of thumb "don't use a property until it's defined in the context"
#
eugr
ok what's the worst thing if i manually, explicitly define locked as AS on my own inside @context?
#
cwebber2
eugr: you don't even have to if you want to be slightly lazier
#
eugr
because i think if i do that, and locked does become part of AS, there will be no signature mismatch
#
eugr
sorry can you help me with the syntax for that again? so i want the definition inside @context and just "locked" in the json itself
#
cwebber2
eugr: try pasting the above thing in the json-ld playground
#
cwebber2
you'll see what I mean; since "as:" is defined as a prefix in the context
#
cwebber2
that "as:locked" hack works
#
cwebber2
even though it doesn't have an explicit "as:locked": "locked" in the @context itself
#
eugr
righto
#
cwebber2
I feel a bit guilty suggesting this as a route forward at the moment but
#
cwebber2
I'm a bit lost as to the right route forward myself
#
eugr
that's good, but ideally json handlers wouldn't need to think about "as:locked" vs "locked" vs "blahblah:locked" so i'd prefer the @context version
#
cwebber2
I feel like we need more group conversation but you're also running against a timeline to push it out
#
eugr
so that it's just "locked"
#
cwebber2
eugr: well you can also add it to the top @context yourself
#
eugr
i was asking for the syntax for that
#
cwebber2
ah like this
#
cwebber2
"as": "https://www.w3.org/ns/activitystreams#",
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
"@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", {"locked": "as:locked"}]
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
YApastefail
#
cwebber2
but that one does it
#
eugr
aight thank you
#
eugr
i will do that for "locked" and for "sensitive", then i won't need to wait for tuesday
#
eugr
(btw yes the AS context was updated with sharedInbox but not sensitive)
#
eugr
(oh yes also Hashtag is missing, do i need to define it that way too?)
#
cwebber2
I suppose so; sensitive too since we haven't voted on it being official yet
#
cwebber2
eugr: it may be that the right route forward, after this, is to define an AP context which is versioned
#
cwebber2
then we can have a lot more leeway around these things and also avoid the mutation-breaking-signatures problem we talked about before.
#
eugr
yep i agree
#
eugr
the other contexts also do this
#
eugr
identity/v1 etc
#
cwebber2
eugr: I'll look towards doing that
#
cwebber2
as the path forwards
timbl joined the channel
#
eugr
aight, now just to sort out atomUri and inReplyToAtomUri.
#
eugr
would i do { "atomUri": "ostatus:atomUri" }? what else do i need?
#
cwebber2
eugr: well you'd need "ostatus": <something> in order for that to work
#
cwebber2
eugr: honestly that may not be bad to get in AP/AS2 for bridging reasons, we've talked about it before
#
cwebber2
eugr: one request
#
cwebber2
can you add these all to the as2 extensions page?
#
cwebber2
eugr: that would help us make sure we don't lose track of what these are
#
eugr
funnily enough i am against putting atomUri etc into AP/AS. bridging ostatus posts has been the only actual nightmarish headache with this whole endeavour. i've kept my sanity by 1) accepting that ostatus posts will not be fully AP-conforming 2) ostatus support will go away eventually and ostatus posts will fade away so the problem will disappear by itself
#
eugr
cwebber2: i just created a w3 account
#
eugr
can't login to the wiki tho
#
cwebber2
eugr: well if you can paste basic definitions
#
cwebber2
I'll put 'em up for you
#
cwebber2
I think nightpool also had that problem
#
eugr
cwebber2: also how's this for the ostatus definition: https://hastebin.com/uperawajeg.php
#
eugr
a bit of boilerplate in each payload but at least it'll work quickly eh
#
cwebber2
eugr: looks good, though I don't think Hashtag is equivalent to Mention?
#
cwebber2
as for the ostatus one er... I still wonder if toot may be better, since ostatus hasn't and probably won't define those terms! but it's also not my domain on that one and I'm out of energy, so ;)
#
eugr
cwebber2: well, ostatus as a spec is dead, isn't it
#
eugr
nobody is actively developing it
#
eugr
so i might as well?
#
cwebber2
I dunno :)
timbl joined the channel
#
Loqi
[Gargron] #4767 Define missing JSON-LD properties