GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Steve Bate (steve@social.technoetic.com)'s status on Sunday, 06-Jul-2025 21:56:33 JST Steve Bate Steve Bate

    To follow up on my #ActivityPub C2S post from a few days ago, I wrote a blog article on my thoughts about improving the C2S protocol and a description of some related experimentation I've been doing.
    https://www.stevebate.net/activitypub-client-api-a-way-forward/

    In conversation about 11 months ago from social.technoetic.com permalink

    Attachments

    1. Domain not in remote thumbnail source whitelist: www.stevebate.net
      ActivityPub Client API: A Way Forward | Steve Bate
      from Steve Bate
      The ActivityPub Client-to-Server (C2S) protocol was envisioned as a cornerstone of the decentralized social web, along with the Server-to-Server (S2S) protocol. Standardized by the W3C in 2018, C2S defines how user-facing applications, such as mobile apps or web clients, and bots should interact with social servers using Activity Streams 2.0 and JSON-LD. In theory, it ... Read more
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 06-Jul-2025 21:56:31 JST silverpill silverpill
      in reply to

      @steve

      Treating ActivityPub messages as plain JSON undermines extensibility because it prevents the use of JSON-LD features like context definitions, leading to potential property name collisions and making it difficult for implementations to reliably interpret or extend messages.

      No, treating ActivityPub as JSON doesn't undermine extensibility. ActivityPub is extended by adding new properties to JSON objects, and if you want to avoid collisions you can use URLs or reverse-DNS strings for property names. JSON-LD is not needed for that, it only complicates things for no reason.

      In conversation about 11 months ago permalink

      Attachments


    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 06-Jul-2025 23:22:34 JST silverpill silverpill
      in reply to

      @steve Why would I send an expanded toot: URI when all servers expect a short name? Your example is another proof that JSON-LD is only useful for solving problems created by JSON-LD.

      In conversation about 11 months ago permalink
    • Embed this notice
      Steve Bate (steve@social.technoetic.com)'s status on Sunday, 06-Jul-2025 23:22:36 JST Steve Bate Steve Bate
      in reply to
      • silverpill

      @silverpill Those workarounds for the undermined extensibility don't negate my point and will not generally interoperate. According to the ActivityPub book, "One point to note is that correctly parsing and interacting with AS2 objects with extended properties requires a JSON-LD-aware parser." I agree this isn't absolutely true (in special cases) but try sending expanded "toot" context term URIs and see how well it works 😉 (since all servers AFAIK expect those terms to be compacted).

      In conversation about 11 months ago permalink
    • Embed this notice
      Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Tuesday, 08-Jul-2025 04:04:26 JST Haelwenn /элвэн/ :triskell: Haelwenn /элвэн/ :triskell:
      in reply to
      @steve Is there code somewhere for Flowz?
      At least Pleroma has AP C2S so probably could be another choice of client (only one I know with AP C2S being AndStatus).
      In conversation about 11 months ago permalink
    • Embed this notice
      Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Tuesday, 08-Jul-2025 15:46:34 JST Haelwenn /элвэн/ :triskell: Haelwenn /элвэн/ :triskell:
      in reply to
      @steve Yeah Pleroma's default frontend uses heavily modified Mastodon API, hence why it's only AndStatus (Android application).
      In conversation about 10 months ago permalink
    • Embed this notice
      Steve Bate (steve@social.technoetic.com)'s status on Tuesday, 08-Jul-2025 15:46:35 JST Steve Bate Steve Bate
      in reply to
      • Haelwenn /элвэн/ :triskell:

      @lanodan There’s no public repo yet. It’s WIP. Isn’t Pleroma C2S only supported on the server side?

      In conversation about 10 months ago permalink
    • Embed this notice
      Blurry Moon (sun@shitposter.world)'s status on Tuesday, 08-Jul-2025 15:50:37 JST Blurry Moon Blurry Moon
      in reply to
      • silverpill
      @steve @silverpill is there even a single ap server implementation that can handle arbitrary json-ld and not just compacted to specific prefixes
      In conversation about 10 months ago permalink
      Phantasm likes this.
    • Embed this notice
      Blurry Moon (sun@shitposter.world)'s status on Tuesday, 08-Jul-2025 16:01:00 JST Blurry Moon Blurry Moon
      in reply to
      • silverpill
      @steve @silverpill alright. I found it basically impossible to store and index efficiently for common access patterns and gave up and just went back to treating it as json. I tried a few triple store databases and the performance wasn't great for my historic dataset. I'll try it again someday though
      In conversation about 10 months ago permalink
    • Embed this notice
      Steve Bate (steve@social.technoetic.com)'s status on Tuesday, 08-Jul-2025 16:01:01 JST Steve Bate Steve Bate
      in reply to
      • silverpill
      • Blurry Moon

      @sun @silverpill Vocata, ActivityPods, rdf-pub, …

      In conversation about 10 months ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Thursday, 10-Jul-2025 07:23:59 JST silverpill silverpill
      in reply to
      • Raphael Lullis

      @raphael @steve

      There is no such thing as "namespace" in JSON. Another problem that was created by JSON-LD to be solved by JSON-LD.

      In conversation about 10 months ago permalink
    • Embed this notice
      Raphael Lullis (raphael@mastodon.communick.com)'s status on Thursday, 10-Jul-2025 07:24:00 JST Raphael Lullis Raphael Lullis
      in reply to
      • silverpill

      @silverpill @steve

      > Why would I send an expanded toot: URI

      Because you might be using a different namespace which is conflict with the one from mastodon, so the extended form is needed to remove ambiguity?

      In conversation about 10 months ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Thursday, 10-Jul-2025 09:17:59 JST silverpill silverpill
      in reply to
      • Raphael Lullis

      @raphael @steve Sorry, I don't know what that means. Fediverse developers use JSON, it works just fine and everyone is happy with it.

      In conversation about 10 months ago permalink
    • Embed this notice
      Raphael Lullis (raphael@mastodon.communick.com)'s status on Thursday, 10-Jul-2025 09:18:00 JST Raphael Lullis Raphael Lullis
      in reply to
      • silverpill

      @silverpill @steve

      > There is no such thing as "namespace" in JSON

      Right, so what is your suggestion? To force all application developers to conform to one unique schema, or to come up with an ad-hoc, bug ridden re-implementation of namespaces on top of plain JSON?

      In conversation about 10 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Thursday, 05-Feb-2026 23:09:18 JST Matthias Pfefferle Matthias Pfefferle
      in reply to

      @steve (how) can I test Flowz?

      I would love to implement C2S in WordPress and need a test client https://github.com/Automattic/wordpress-activitypub/pull/2851

      In conversation about 3 months ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: opengraph.githubassets.com
        Add Client-to-Server (C2S) ActivityPub API support by pfefferle · Pull Request #2851 · Automattic/wordpress-activitypub
        Summary Implements the SWICG ActivityPub API specification for Client-to-Server (C2S) interactions, allowing third-party ActivityPub clients to post on behalf of users. Features OAuth 2.0 with PKC...
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 06-Feb-2026 01:11:12 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius
      • django

      @mariusor @django @steve I talked with him at FOSDEM and I want to test his client as soon as he release it!

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 06-Feb-2026 01:11:14 JST marius marius
      in reply to
      • Matthias Pfefferle
      • django

      @pfefferle also perhaps @django will be interested in collaborating. He's the latest to try to implement clients for C2S, and I imagine WordPress would be a sweet, sweet target for him.

      @steve

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 06-Feb-2026 01:11:15 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle if you're satisfied with using a CLI tool, you can try the client I created for GoActivityPub based servers: https://git.sr.ht/~mariusor/box

      It supports OAuth2 dynamic client creation either with CIMD or with RFC7591

      It supports creating activities for publishing text content and some basic loading of information about ActivityPub objects.

      In the near future it will also support proxyUrl to interact with secure fetch servers, but not just yet.

      @steve

      In conversation about 3 months ago permalink

      Attachments



    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 06-Feb-2026 01:35:15 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor @steve but it seems to not support PKCE 🤔

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 06-Feb-2026 02:06:42 JST Matthias Pfefferle Matthias Pfefferle
      in reply to

      @steve nice!

      I think the PR is at least ready for a test run!

      In conversation about 3 months ago permalink
    • Embed this notice
      Steve Bate (steve@social.technoetic.com)'s status on Friday, 06-Feb-2026 02:06:43 JST Steve Bate Steve Bate
      in reply to
      • Matthias Pfefferle

      @pfefferle I haven't been working on Flowz for the last 6 or 7 months, but I plan to dust it off and continue work on it given the recent interest in the ActivityPub client API. I subscribed to the github issue and will track that. Is the WP implementation ready for testing?

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 06-Feb-2026 07:37:47 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor I worked against https://github.com/swicg/activitypub-api

      In conversation about 3 months ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: opengraph.githubassets.com
        GitHub - swicg/activitypub-api: ActivityPub API Task Force repository.
        ActivityPub API Task Force repository. Contribute to swicg/activitypub-api development by creating an account on GitHub.
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 06-Feb-2026 07:37:48 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle that seems like a weird ask for a client you want to prototype with, but indeed, BOX does not support PKCE yet.

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Sunday, 08-Feb-2026 01:35:00 JST Matthias Pfefferle Matthias Pfefferle
      in reply to

      @steve awesome, thanks!

      In conversation about 3 months ago permalink
    • Embed this notice
      Steve Bate (steve@social.technoetic.com)'s status on Sunday, 08-Feb-2026 01:35:01 JST Steve Bate Steve Bate
      in reply to
      • Matthias Pfefferle

      @pfefferle I did some
      initial testing of the Wordpress C2S support 👍and left some comments on the github issue.

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Monday, 09-Feb-2026 05:58:22 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor when box tries to dereference an Activity, can you maybe add the `application/activity+json` header to the request?

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Monday, 09-Feb-2026 16:51:29 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor it seems to be a different issue!

      (I am not very familiar with go, so please don't blame me if what I say is totally wrong)

      I think box is checking for an Actor object and if it finds only a URI, it simply assumes that the Outbox is `{profile-id}/outbox` instead of checking for the real outbox URL!?

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Monday, 09-Feb-2026 16:51:31 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle that should already be the case. How does the accept header look like for you on the server? I'll double check tomorrow if I'm doing something stupid and haven't noticed until now. :D

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 13-Feb-2026 01:16:20 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor it seems to work now! awesome!

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 13-Feb-2026 01:16:21 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle I changed some stuff to a potential place where this could have happened.

      If you can build a new version of BOX, please try again and let me know if it fixes the issue for you.

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 13-Feb-2026 01:16:23 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle yes, that might be possible. BOX is strongly biased with the conventions of GoActivitPub where actorIRI/outbox is most of the time a safe assumption to make.

      But there are mechanisms to dereference the oubox correctly after loading an Actor object, and usually I default to that, the "just append outbox to the URL" logic is a last resort.

      Do you think you can send an email to the GoActivityPub mailing list with details about your issue, so I can try to find where exactly this happens? TY

      Just click new post on this page: https://lists.sr.ht/~mariusor/go-activitypub-dev

      In conversation about 3 months ago permalink

      Attachments

      1. This domain name is registered with Netim
      2. No result found on File_thumbnail lookup.
        ~mariusor/go-activitypub-dev archives — lists.sr.ht
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 13-Feb-2026 01:18:18 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor

      In conversation about 3 months ago permalink

      Attachments


      1. https://files.mastodon.social/media_attachments/files/116/058/556/349/038/351/original/e2a3ce84536eda9a.png
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 13-Feb-2026 01:24:39 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor yea, I think the scopes and the PKCE part was the issue!

      but finally... 😊

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 13-Feb-2026 01:24:41 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle love it! 💗

      GoActivityPub doesn't really do "scopes" because I couldn't think of a way store the permissions on the server side in a way that doesn't require custom logic to interact with vanilla ActivityPub objects.

      In conversation about 3 months ago permalink
    • Embed this notice
      Matthias Pfefferle (pfefferle@mastodon.social)'s status on Friday, 13-Feb-2026 01:27:16 JST Matthias Pfefferle Matthias Pfefferle
      in reply to
      • marius

      @mariusor awesome! ♥️

      In conversation about 3 months ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Friday, 13-Feb-2026 01:27:17 JST marius marius
      in reply to
      • Matthias Pfefferle

      @pfefferle I added a PKCE task to my todo list:

      https://todo.sr.ht/~mariusor/go-activitypub/440

      In conversation about 3 months ago permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        ~mariusor/go-activitypub#440: Add support for RFC 7636: PKCE in the authorize server — sourcehut todo

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.