#social 2017-08-09

2017-08-09 UTC
xmpp-social, tcit, timbl and JanKusanagi joined the channel
#
Gargron
cwebber2: has the follow/accept dynamic already been formalized?
#
cwebber2
Gargron: We've agreed to do it but I need to transform it into spec text... was planning on doing it this weekend
#
cwebber2
well, we've agreed to put it in the editor's draft and spec
#
cwebber2
er editor's draft, and then move to approve it going to CR after people have seen it etc
#
cwebber2
Gargron: if you need me to urgently draft up some text
#
cwebber2
I can switch to that
#
cwebber2
but it's basically going in as we discussed it
#
cwebber2
Follow, and send either an Accept or Reject
#
Gargron
ah i don't need you to rush anything but i'm at the stage where i should code this behaviour
#
cwebber2
Gargron: great to hear though :)
#
Gargron
i suppose there's gonna be a UX regression though - the follow from the user will always show up as "pending" in the API response, since even the auto-accept would come in asynchronously :thinking:
#
aaronpk
At this stage in the spec the only way to add things is if they have more than one implementation, so by all means please implement
#
puckipedia
I have a (WIP-ish, under a flag) implementatino for accept/reject follow
#
puckipedia
I was gone for previous week because of SHA2017
#
Gargron
puckipedia: if you got your local mastodon you can now try sending it stuff to the inbox
#
Gargron
err, well, with this branch anyway https://github.com/tootsuite/mastodon/pull/4565
#
Loqi
[Gargron] #4565 Add Digest header to requests with body, handle acct and URI keyId
#
Gargron
because otherwise only the acct: keyId is supported
#
Gargron
also the Digest header is verified but not mandatory and currently im thinking if maybe it should be mandatory
#
Gargron
when there's a request body
#
puckipedia
I'd say mandatory for non-public requests
#
puckipedia
and for all inbox POSTs
#
Gargron
have you already implemented it?
#
puckipedia
wait woops
#
puckipedia
I assumed just general authorization
#
puckipedia
I don't do Digest: yet
#
Gargron
hm. is your response different to that then?
#
Gargron
i mean i dunno. http sigs might be secure even without payload digest
#
puckipedia
hm, I would say don't require it
#
puckipedia
like, you're taking a risk by not passing the digest header
#
puckipedia
also some systems might not support calculating the digest in the proper way
#
Gargron
in any case - do try out my inbox code
#
Gargron
* o *
#
Gargron
but yeah i dunno what to do about follows UX. i feel like from the user's perspective it should be low friction as possible. so maybe i'll keep current behaviour - simulate instant-follow if the :_locked attribute is false, then asynchronously re-check the :_locked attribute and erase the follow and re-do it as a follow-request if the value is suddenly true
#
puckipedia
_:locked I guess? :P
#
Gargron
oh yeah
#
puckipedia
(also technically for json-ld, "_:locked" and "locked" are equal)
#
Gargron
well i'm just doing what you did with _:conversation
#
puckipedia
I really just did that because I expected _:conversation to never be a part of the spec
#
puckipedia
(I did think about how to implement this; and how about:)
#
puckipedia
{type: Note, tag: ["https://example.com/conversation"], content: "hello"}
#
puckipedia
{type: Conversation, object: https://example.com/initial_post, posts: [possible collection of all posts in this conversation?]}
#
Gargron
conversation isn't an object in AS tho, i'm really not sure. i mean this might be the way forward if conversation becomes an official object, but we in ostatus land have to deal with that problem where old URIs are all tag: ones
#
Gargron
ensuring that ostatus/activitypub content does not get duplicated because of differing URIs is still giving me a lot of worries
#
puckipedia
you could use a "transition OStatus ID" property
#
puckipedia
like, a _:atomId property if the ostatus URI doesn't equal the activitypub one
#
Gargron
yep but it's still a matter of remembering where to put it and remembering where to check it ;;;
#
Gargron
i'll start working on that last imo
#
puckipedia
probably
#
puckipedia
like, old IDs will stay working forever I guess? I mean, it has to interoperate with GNU social
timbl joined the channel