Post 9zmv71p0OOunAxRvLk by mayel@pub.mayel.space
 (DIR) More posts by mayel@pub.mayel.space
 (DIR) Post #9zeRfX604Siu7wFw7U by apconf@conf.tube
       2020-09-20T12:50:01.869Z
       
       1 likes, 2 repeats
       
       including Jessica Tallon, Amy Guy, Evan Prodromou, and Erin Shepherdmoderated by Christopher Lemmer-WebberActivityPub is now a widely adopted standard... but how did it become a standard in the first place?Hear about the process of getting ActivityPub all the way to W3C Recommendation status from the people who made it happen, as well as the history that lead to the decision to try and make ActivityPub a standard in the first place! This will be a panel of editors and authors of the ActivityPub protocol.
       
 (DIR) Post #9zfVsI2DyLB89imwUq by lanodan@queer.hacktivis.me
       2020-09-30T01:10:59.060981Z
       
       1 likes, 0 repeats
       
       @apconf don't mind this one, this is a test from pleroma. Great to see y'all btw.
       
 (DIR) Post #9zgRveJxMf85U7OAVc by lain@lain.com
       2020-09-30T12:01:28.941218Z
       
       1 likes, 0 repeats
       
       @apconf interesting overview of the history of AP. You say that Mastodon switched from OStatus to ActivityPub because OStatus was not doing direct messages and ActivityPub solved this problem. This is somewhat incorrect.AFAIR this was indeed one of the main reasons put forth by Mastodon for the switch, but it wasn't a very good reason. DMs in OStatus were done the same way as they are done in AP, by addressing, the only issue was other servers assumed that ALL posts were public, essentially ignoring the addressing. This could have easily been fixed by introducing a second salmon endpoint for DMs so that only servers who know about proper addressing would have received them. That was suggested several times.This way, the changes required would have been a few lines of code instead of a complete rewrite of the federation.Either way, we're all on AP now (even GNU Social), so not an issue any more.
       
 (DIR) Post #9zgS1aHtH08UiHFiNc by 1iceloops123@shitposter.club
       2020-09-30T12:02:34.229445Z
       
       0 likes, 0 repeats
       
       @apconf what is active pub
       
 (DIR) Post #9zkWipgB6F1dLoKXYW by witchescauldron@activism.openworlds.info
       2020-10-02T11:13:58Z
       
       0 likes, 0 repeats
       
       @apconf human behind the technology of the #openweb this is interesting, kinda cute and very human.
       
 (DIR) Post #9zmv6zyrEnbjSw2lQe by mayel@pub.mayel.space
       2020-10-02T11:06:17.136855Z
       
       0 likes, 0 repeats
       
       Very interesting discussion, thanks!Several of you mentioned a desirable future where you could have one identity on a generic server that you use via many client apps that each do their specialized thing, which is a goal we share for @commonspub My understanding is that a blocker to that has been the lack of adoption of AP C2S (with apps using more specialized APIs like Mastodon’s instead). We initially tried to address that in CommonsPub by structuring the database and AP library in a generic enough way so it can handle any types of activities and objects and by implementing a GraphQL API so that client apps would have very powerful and flexible capabilities to create custom features and experiences (without the complexity of implementing ActivityStreams or JSON-LD).I think we made a breakthrough recently though, thanks to using LiveView which enables us to build realtime web apps in Elixir (a backend language) without any JavaScript or frameworks like React. With our new project @bonfire what this means is that instead of client apps having to be something that runs in your browser or on your phone, the clients can be LiveView apps running on your device that’s plugged in at home next to your router, and the server hosting your identity is a generic AP-only service in the cloud which syncs with that device.(copied this response from SocialHub, since Discourse doesn't federate yet)
       
 (DIR) Post #9zmv70D2O4wyAug5Wy by mariusor@metalhead.club
       2020-10-02T12:57:14Z
       
       0 likes, 0 repeats
       
       @mayel @apconf @commonspub @bonfire I am pretty sure that an ActivityPub API can not be represented using GraphQL. How can you make these two apparently distinct ways of encoding responses play nice with one another?
       
 (DIR) Post #9zmv70ONhu1Yk5z9DE by mayel@pub.mayel.space
       2020-10-02T13:00:57.624500Z
       
       0 likes, 0 repeats
       
       @mariusor @bonfire @commonspub @apconf Well, if you were trying to do something like AP C2S in GraphQL you could simply using a JSON scalar with raw ActivityStreams data, but while handy would defeat the purpose. What we've done is creating GraphQL dedicated types and queries/mutations for every data type in the application. But while we still have a GraphQL API, that's no longer our approach to acheiving the goal.
       
 (DIR) Post #9zmv70iwTSTFlrbZGC by mariusor@metalhead.club
       2020-10-02T13:35:58Z
       
       0 likes, 0 repeats
       
       @mayel @bonfire @commonspub @apconf Any public resources on this? I started implementing C2S from the premise that GraphQL wouldn't work.  The reasons:1/ the end-points are already detailed in the spec, so you can't add custom end-point for aggregating data.2/ the structure of the responses is already detailed in the spec, so you can't customize it.Unless I'm severely misunderstanding GraphQL, two out of three reasons to use it are out the door.1/2
       
 (DIR) Post #9zmv715H8QKqt83P4S by mariusor@metalhead.club
       2020-10-02T13:45:15Z
       
       0 likes, 0 repeats
       
       @mayel @bonfire @commonspub @apconf Filtering, is still valid, but I ended up using something that just builds on the ActivityStreams vocab using dot notation for passing arguments in the URL query.This only works for filtering items in collections. (Eg, example.com/~jdoe/outbox?Type=Create&Type=Update&Object.Type=Article)Can you tell me what benefits does GraphQL brings to this? (Sorry if this requires more explanations than you're willing to give, I'll be satisfied with citations)2/2
       
 (DIR) Post #9zmv71JSHhg5b6gjAm by mayel@pub.mayel.space
       2020-10-02T17:19:24.929936Z
       
       0 likes, 0 repeats
       
       @mariusor @apconf @commonspub @bonfire Now I'm not saying that doing something like C2S but in GraphQL (with raw JSON) would be a desirable thing, but you could do something in between, like implementing some types but putting any unrecognised fields in a JSON `additional_data` field
       
 (DIR) Post #9zmv71TjfTtw6zUwCG by mariusor@metalhead.club
       2020-10-02T17:21:24Z
       
       0 likes, 0 repeats
       
       @mayel @apconf @commonspub @bonfire thanx for the patience of replying, but unfortunately I can't really parse the elixir code. I don't understand what you mean. Do you have an example of a demo request ?
       
 (DIR) Post #9zmv71p0OOunAxRvLk by mayel@pub.mayel.space
       2020-10-02T17:39:30.025363Z
       
       0 likes, 0 repeats
       
       @mariusor @bonfire @commonspub @apconfI'll try to come back to this later, as I'm also attending a Q&A
       
 (DIR) Post #9zmv71yZooZTedvZGi by mayel@pub.mayel.space
       2020-10-02T19:42:31.606693Z
       
       1 likes, 0 repeats
       
       @mariusorHere's a rough example, querying for an actor. First with a fully specified regular graphql API you might do "{actor { id name summary}}" and get back '{actor: { id: "http://instance.tld/alic", name: "Alice", summary: "I love web standard"}}' While using a JSON scalar you might do "{actor { id data }}" and get back '{actor: { id: "http://instance.tld/alic", data: {name: "Alice", summary: "I love web standard"}}}' @bonfire @commonspub @apconf
       
 (DIR) Post #9zmv8ZQAxK5xfkZRya by schmittlauch@toot.matereal.eu
       2020-09-30T01:37:20Z
       
       1 likes, 0 repeats
       
       @apconf Big thanks to all of you for your efforts in the standardisation process.It was interesting to hear your experiences.
       
 (DIR) Post #9zmvCInCiqlvG47bRQ by mayel@pub.mayel.space
       2020-10-02T19:45:09.216691Z
       
       1 likes, 0 repeats
       
       @mariusorIn terms of the underlying backend schema in the backed, in the first case you'd probably have a standard ORM and relational DB, whereas in the second you go use NoSQL (or JSON stored in some other way, like a postgres JSONB field)  @bonfire @commonspub @apconf