Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

Talking Protocols With Evan Prodromou

General Discussion
1 1 9

Gli ultimi otto messaggi ricevuti dalla Federazione
  • @jdt I think @hpk would be interested in seeing this

    read more

  • Anatomy of an E2EE ActivityPub Note in Enigmatick

    Over the break I spent some time revamping my structs and enums for handling #E2EE #ActivityPub exchanges. This is what I have at the moment for the initial Create from the client (this is subject to change).

    { "@context": [ "https://www.w3.org/ns/activitystreams", "https://purl.archive.org/socialweb/mls" ], "type": "Create", "actor": "https://enigmatick.social/user/jdt", "to": [ "https://enigmatick.social/user/mls-tester" ], "cc": [], "object": { "mediaType": "message/mls", "encoding": "base64", "published": "2025-12-29T21:11:17Z", "type": "Note", "to": [ "https://enigmatick.social/user/mls-tester" ], "cc": [], "attributedTo": "https://enigmatick.social/user/jdt", "content": "AAEAAhDIkTdahK5U3s1SQBbA2fIvAAAAAAAAAAEBABzHJj3+WZDE3Hw6H5W9YNhE3bhDSyExL4tnn0E5QOvPUeOgYdo/2n+rGUI1M8wupeK2bt919jAs8yTj2awvBAsprxAInHm8qWgq2FER2xjcpAx9f42ncAL8Xehfy3v6vonGuAPkYteAzdFCC8mGWxg3slpI+VoPrSWThSKqjMNxttZSfvbnhEFYw0jUFmJwxOecDS8n3UVjuLDt14V0Fw9YMv+XXUgKj9bWaCPi0qhuatcgxCqXwXzpevJBhY0trbPZgjB8LlhC/zcx5NNLI9WJtCF9zq3RPkG6ByPdH6IWTH5drOJyvefILElybP4eGMSoGWZATmGUQm/k3iKG6tRyzMM/fHxpIz34", "tag": [ { "type": "Mention", "name": "[at]mls-tester@enigmatick.social", "href": "https://enigmatick.social/user/mls-tester" } ], "attachment": [] }, "published": "2025-12-29T21:11:17Z", "instrument": [ { "type": "VaultItem", "content": "oAjN0c2+q5gCtrFlauGU1kbKGizm5a5pH+iY5cObdihVBjjsSiSbkeu6XQ7/RR4lcn0OIqS9O+MVJ0QyympRxt7JI9qzCGlkCFcAyp4oe8nhh/YG7WHoLWL272vPqlq8A/Yf0YFprhIBlU48sJF6A1iRlU4fEBaRwnwV4gniSCQr55jpDe++M/HD3bSFJNcvpmf5BH9G4Z3VBaB8HMnDECGzFrB8zFycAR0w1SNYbGJuXFsopfMb4EfPkZoHT28=" }, { "type": "Welcome", "mediaType": "message/mls", "encoding": "base64", "content": "AAFAmCDd32lw8FF8QC6uFjAHr3mgvxBPjuGV1Pssxx+h5CNhcCAv4/tP+dWUbCq6L4A+aMr+L1uP3Xkusb4ea2H80EgFOUBUqHDCdGzjAhZdLCrjE0kM/aou36ZSZc0ahftKmE07chTiMUo8FgIj12deS4A0l3sXAR8x724HeigtyObI1GK7fxMGXU5oWemHGhS1unxK6XVyiuqvQriKP+VJPZa6JzN3Yb4r4l9B5jUfNUc5gX3XvzkzcO57Exj8SgpTTygo2zBTOPQ+6steYycUA70ed3LPKEfSCllIWeWAV+J+EFh7ywm90XFYzaPrXVudIx3orRzVMFnIldLax3oHUW5uXIrGQ06JWfgdOQ6DByb2iy/Dw4zJlbZP1oJptBTgO19IqUQaz58wrWDBSiYIT3h1jOXE3GvJgeeQIiW78noO5MF3xI3WRXB4C0cttyKm7Od2CBOk1USo+TDLCevnmExhlKlVTobTMMI4xZ1vVCdYpnb0k9rO7coVKPueBqVg2mE20GS/IoRG0v8+h0xUKIgsbYua41krjXoB5hctX4kH3lRO+qERkoXEcLVxRJuyeZEGsk4XrJ18AigU1a8gB6cZZ5LyvcV756yelu6F6MRQKba6zawDLOn4Takm3Lr3urfWo5Br7DBZcigMVjzGn8MhLSIEMhv6Ehmqajj9Vl6sTnpi90tVYWUtKO1buPrk3AiXrsbnEoNubqCs1sVmA93/Z0CcE8GQa1dO7NywofSV4/ax/tmBCZEoU6/uL7ygZHt8ZvSyd6wniPCR6sfd4ys4O8C7qW1KKFtEBbb1lMre494ZeXI5v0sG7MwbwFtI3d2uRHtWZ8v9khGr1ds4AFz3QnvoMSUtsR2kvq+C6H45kUs2ae957+txpKt5MDrcmK+CTTcX/FhlAtib4mlbs+Aj4WJFLOkXuB+MlHOMBlMz3ndJ5I3GDbo+VQvdJC2mCUOBWraihOV92mQQHi2gLXAA1NSsZIjXgnyVSYsrUvNJgTvw+AOVmJ7q5tXENPlZoOKUjSB3fEmKlywf90EQLUjDpphnYtvdFz8Oh8Vbgze+QAQp2VVYImI+1voBErK1EMKqEDFz1DC1CWUzqhl3k2pMgx00JhP3ZZpbX7YtjRmLjJM=" } ] }

    The mention of mls-tester has an [at] to avoid triggering my automatic webfinger resolution.

    I've adopted the mediaType and encoding attributes from the draft ActivityPub specification. And I've standardized the Welcome message to incorporate those.

    The Create includes the Welcome and a VaultItem as instruments rather than being sent as separate activities. The Welcome can include any number of recipients, so one within the activity should be sufficient.

    The VaultItem is specific to the #Enigmatick client and isn't intended to be federated. That's how I'm handling ongoing access to the decrypted data; the VaultItem is a symmetrically encrypted representation of the original content that can be safely stored on the server for repeated use by the client. I'll need to eventually update the @context with that extension.

    read more

  • We're expanding beta testing for on Android before the public release.

    Quick reminder: Holos runs a full ActivityPub server on your phone, your data stays with you.

    Learn more: https://holos.social/how-it-works

    Dedicated account: @HolosSocial

    Interested? Let us know! iOS coming next.

    read more

  • @silverpill @julian Fair point.

    I suppose I was thinking of the ability to assign it to a shortened name in the @'context - but this is probably relatively unimportant once it's been gzipped.

    read more

  • Here's the first recorded collision in the history of Fediverse: https://github.com/bookwyrm-social/bookwyrm/issues/3731

    read more

  • @FenTiger @julian

    >The ability to make up brand new, guaranteed-unique identifiers on the fly is probably the thing I like most about JSON-LD.

    But it is not a JSON-LD thing, right?

    A JSON document can have property names that are URIs, or reverse-DNS strings, or UUIDs, or longNamesThatIncludeSoftwareNameAndVersion. All of those can be globally unique.

    read more

  • @fentiger@mastodon.social the purportedly world-ending effects of property collisions are overblown, imho.

    read more

  • @julian The ability to make up brand new, guaranteed-unique identifiers on the fly is probably the thing I like most about JSON-LD.

    As you imply, though, it's not really a problem in practice, because devs are used to JSON, and know what happens when you add extensions to standards.

    read more
Post suggeriti
  • 0 Votes
    6 Posts
    13 Views
    Yes. If no one on, say, mastodon.social is following you then none of your posts will show up in the global timeline there or in searches or in hashtags. Also if you have few followers your posts will receive few boosts so hardly anyone will follow you. So we end up with a handful of wildly popular accounts dominating the conversations which mostly happen on the big instances. Centralised power. Bad. The threadiverse solves this. People don't follow other people, they join communities and it's their membership that determines where the federation traffic goes. So nearly every instance has all the conversation and everyone is on an equal footing.
  • 0 Votes
    3 Posts
    6 Views
    BotKitは、ActivityPubボットを作るためのTypeScriptフレームワークです。既存のMastodon/Misskeyボットとの違いは、ボット自体が独立したサーバーとして動作すること。プラットフォームのアカウントは不要です。 文字数制限もなければ、APIレート制限に悩まされることもありません。 bot.onMention = async (session, message) => { await message.reply(text`こんにちは、${message.actor}さん!`); }; フェデレーション、HTTP Signatures、配送キューといったActivityPub周りの処理はFedifyがすべて引き受けます。ボットのロジックを書くだけです。 DenoでもNode.jsでも動きます。 https://botkit.fedify.dev/ #BotKit #Fedify #ActivityPub #TypeScript #Deno #NodeJS
  • I just looove TUIs!

    General Discussion tui fediverse activitypub stegodon
    1
    0 Votes
    1 Posts
    9 Views
    I just looove TUIs! #tui #fediverse #activitypub #stegodon
  • 0 Votes
    1 Posts
    9 Views
    Introducing #Hollo. Hollo is an #ActivityPub-enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics. It's headless, meaning you can use existing #Mastodon client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use #Markdown in the content of your posts and you can quote another post. Oh, and Hollo is built using #Bun and #Fedify. https://github.com/dahlia/hollo #fedidev