Salta al contenuto

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  • What the fresh heck is this...

    Mondo activitypub wordpress mastoadmin
    2
    1
    0 Votazioni
    2 Post
    0 Visualizzazioni
    @paul@oldfriends.live have you tried contacting the admin?
  • 0 Votazioni
    3 Post
    0 Visualizzazioni
    @tmaher @soatok thank you! Can they point to some kind of roadmap for the protocol?
  • 0 Votazioni
    6 Post
    0 Visualizzazioni
    @julian@activitypub.space @nodebb@fosstodon.org @itchio@mastodon.social while built into a game could be interesting. Achievement system built into a game? <br/> I was talking about the developer's page. <br/> I think AP could enable any number of innovations. 😁
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    RE: https://mediaformat.org/2026/07/nuages-says-hello/Announcing it here publicly for the first time!I've been building a general purpose activitypub pwa.Follow @nuages for official updates!#activityPubAPI #ActivityPub
  • Week in Fediverse 2026-07-10

    Fediverso fediverse activitypub weekinfediverse
    1
    0 Votazioni
    1 Post
    17 Visualizzazioni
    Week in Fediverse 2026-07-10Servers- Betula v1.8.1- Stegodon v1.8.6- Ktistec v3.8.0- Mitra v5.7.0- Ibis v0.3.3- Gathio v1.6.3- NodeBB v4.14.0- Wanderer v0.20.0- Wafrn v2026.07.01- Gush! v0.0.40- PieFed v1.7.5- Harmony v1.4.0Clients- Mastodon for iOS v2026.05- tooi v0.27.0- Voyager v2.47.4- Aria v1.5.7- Holos v1.14.0- Rocinante v1.1.0- chan-fe: Imageboard-style frontend for Mitra and Mastodon-compatible fediverse APIsTools and Plugins- tag-federation.online: How Widely Do Hashtags Federate?- Fedigraph: A dashboard for exploring the fediverseFor developers- BotKit v0.5.0Protocol- FEP-4772: Representing bookmarks- FEP-521b: Switch the default in FEP-521a to be 76171% cooler-----#WeekInFediverse #Fediverse #ActivityPubPrevious edition: https://mitra.social/objects/019f29a4-78da-7a53-805d-72c8e43916c2
  • 0 Votazioni
    3 Post
    15 Visualizzazioni
    @smallcircles@social.coop Fair, and I'll be honest, I haven't read the linked post yet, it's a long one and I want to give it a proper read rather than skim it. I'd like to be more involved in the standardization side of this too. Language is a real hurdle for me there, participating in that kind of discussion in a second language is harder than it looks, so bear with me if I'm slower to engage than I'd like. That said, writing this case up as a FEP seems worth trying, and I might take a shot at it.
  • 0 Votazioni
    1 Post
    23 Visualizzazioni
    We're pleased to announce BotKit 0.5.0. This release changes how both the docs site and every bot's own pages look, and it stops limiting a server to one bot: a single process can now host a whole fleet of them. Quoting, and being quoted, goes through a consent step under FEP-044f, and a Redis-backed repository joins the SQLite and PostgreSQL ones for shared production storage. A few of these changes are breaking; see below for what to check before you upgrade. A new look for botkit.fedify.dev Until this release, botkit.fedify.dev read like a stock VitePress site: a workable but generic shell wrapped around the docs, with none of BotKit's own personality showing through. The theme and the landing page are both new. The palette now matches the real logo greens instead of a generic default, and headlines are set in Space Grotesk, paired with Inter for everything else; the display font is self-hosted, so no visitor's IP is handed to a font CDN. The new landing page frames BotKit's dinosaur mascot inside its signature unassembled-model-kit sprue frame, then leads with a tabbed installer for Deno, npm, pnpm, and Yarn and a one-file bot example before getting into what BotKit actually does: messages, events, multi-bot instances, and the pages it builds for a bot without any extra work from you. [image: 15aa3e0fb9912dd140ff5aa180beddf035d8c34e4eaa04c60fd3502bd3d938f8.webp] The deployment guides grew alongside the new landing page: they were split apart and fleshed out, and a new Cloudflare Workers guide joins the existing Deno Deploy, Docker, and self-hosting guides. A new look for your bot's pages The pages BotKit serves for your bot (its profile, its posts, its follower list) got the same attention, in the opposite direction. Until now they were built on Pico CSS pulled from an external CDN: a fine default, but a generic one that made every BotKit-hosted bot look like a demo of the same template, and that quietly sent every visitor's browser off to fetch a stylesheet from someone else's server. That's gone. Bot pages now use a self-contained design system, bundled with the package and served from BotKit's own content-addressed, cache-forever path: no external CDN, no build step, on either Deno or Node.js. The whole look is driven by a single accent color you choose (twenty names, the same legend Pico CSS uses, so your existing choice of color still works), tinting links, the follow button, and small highlights, while everything else stays quiet so your bot's name, avatar, and posts are what a visitor actually notices. A new PagesOptions.theme option ("auto", "light", or "dark") controls the color scheme independently of the accent. A repost is now marked and attributed to its original author instead of blending into the bot's own timeline. [image: d6a84e47a619cff04164ebec091f67d4ff20cc1e83c686da742e8b399ed22981.webp] If you want to go further than the accent color allows, PagesOptions.css still lets you inject custom CSS on top of BotKit's own stylesheet. Multi-bot instances Until this release, a BotKit process could only ever be one bot. Running a second bot meant standing up a whole second server, even when the two bots could easily have shared the same infrastructure. That limitation, raised in #16, is gone: the new createInstance() function creates an Instance that owns the shared plumbing (the key–value store, the message queue, the repository, and HTTP handling), and any number of bots can live on it side by side, each with its own actor identity and event handlers. For a fixed, known set of bots, Instance.createBot() takes an identifier and a profile: import { createInstance, text } from "@fedify/botkit"; import { MemoryKvStore } from "@fedify/fedify"; const instance = createInstance<void>({ kv: new MemoryKvStore() }); const greetBot = instance.createBot("greet", { username: "greetbot", name: "Greeting Bot", }); greetBot.onFollow = async (session, followRequest) => { await followRequest.accept(); await session.publish(text`Welcome, ${followRequest.follower}!`); }; For a family of bots resolved on demand (one per region, one per customer, thousands of them backed by a database), pass a dispatcher function instead of a fixed identifier, and BotKit resolves and federates each one lazily: const weatherBots = instance.createBot(async (ctx, identifier) => { if (!identifier.startsWith("weather_")) return null; const region = await db.getRegion(identifier.slice("weather_".length)); if (region == null) return null; return { username: identifier, name: `${region.name} Weather Bot` }; }); weatherBots.onMention = async (session, message) => { const code = session.bot.identifier.slice("weather_".length); await message.reply(text`Current weather: ${await db.getWeather(code)}`); }; Incoming activities are routed only to the bots they actually concern: the followed bot, the owner of a liked or replied-to message, mentioned bots, and bots followed by the sender. Multi-bot instances also serve a list of hosted bots at the web root, with each bot's own pages moving to /@{username}; a reserved instance actor signs shared-inbox requests when there's no single bot whose key obviously should. None of this touches single-bot deployments: createBot() keeps working exactly as it always has, with the bot's pages staying at the web root and its data migrated to the new storage layout automatically on startup. If you maintain a custom Repository implementation, though, this is a breaking change worth planning for: every method now takes the owning bot's identifier as its first parameter, Session.bot is a read-only ReadonlyBot instead of a mutable Bot, and local object URIs carry the owning bot's identifier (old-format URIs are still recognized and permanently redirected, so links other servers stored keep working). The full picture, including how to move an existing single-bot deployment onto a multi-bot instance later, is in the new Instance concept document. Thanks to @moreal@hackers.pub, whose early work-in-progress explorations of this problem surfaced its two hardest design questions (mapping usernames to identifiers for dynamic bots, and routing object URIs that used to carry no owner information) well before this implementation settled on its final shape. Consent-respecting quotes with FEP-044f BotKit has supported quoting since 0.2.0, but only in the Misskey family's style: a quoteUrl property and a Link tag, sent without ever asking the quoted author. Mastodon 4.4 and 4.5 do things differently: they verify quotes through FEP-044f's consent handshake before showing them as quotes at all. Without that handshake, a BotKit bot's quotes never rendered as quotes on Mastodon, and quotes of a BotKit bot showed up as unverifiable. BotKit now handles the FEP-044f handshake in both directions. When you quote a message, it sets the FEP-044f quote property and sends a QuoteRequest to the quoted author, alongside the Create it already sent. Publishing stays non-blocking: the post goes out immediately, and the quote is upgraded once (or if) approval arrives: const message = await session.publish(text`This message quotes another one.`, { quoteTarget: quoted, }); console.log(message.quoteApprovalState); // "pending" On the receiving side, a new quotePolicy option (on createBot(), and per message on Session.publish()) controls how your bot answers incoming quote requests: automatically for everyone ("public", the default), automatically for followers only, never ("nobody"), or held for manual review through the new Bot.onQuoteRequest event: bot.onQuoteRequest = async (session, request) => { if (request.state === "pending") await request.accept(); }; Bot.onQuoteAccepted, Bot.onQuoteRejected, and Bot.onQuoteRevoked cover what happens next for quotes your own bot sent, Message.quoteApproved reports whether an incoming quote carries a valid authorization stamp, and AuthorizedMessage.unauthorizeQuote() lets you revoke one you previously granted. The legacy quoteUrl and Misskey-style tags are still sent alongside the new property, so nothing about quoting on Misskey and its relatives changes. The full design is spread across #27 through #33. A Redis repository (@fedify/botkit-redis) BotKit has had a SQLite repository since 0.3.0 and a PostgreSQL one since 0.4.0, but neither is the natural fit for a bot that runs as several worker processes sharing one store, which is exactly the shape a Redis-backed deployment usually takes. The new @fedify/botkit-redis package fills that gap with RedisRepository, built directly on Redis strings, sets, and sorted sets rather than going through a generic key–value abstraction: import { createBot, MemoryKvStore } from "@fedify/botkit"; import { RedisRepository } from "@fedify/botkit-redis"; const bot = createBot({ username: "mybot", kv: new MemoryKvStore(), repository: new RedisRepository({ url: "redis://localhost:6379/0" }), }); Because several workers can share one Redis instance, the read-modify-write paths that matter most under concurrency (message updates, follower bookkeeping, quote authorization indexes) are protected by short-lived locks that get renewed while a slow update is still running, rather than by assuming only one process ever touches the data at a time. The package supports both a connection URL it manages itself and an existing node-redis client you inject and keep control of, and it's available for both Deno and Node.js. #12 and #35 cover the rest of it. Smaller improvements The npm package's TypeScript declaration files no longer accidentally include the runtime Temporal polyfill code, which had been leaking into consumers' .d.ts output. Fedify was upgraded to 2.3.1, Hono to 4.12.27, and LogTape to 2.2.3. As always, the full list of changes is in CHANGES.md, and every API mentioned above is documented at botkit.fedify.dev. Thank you to everyone who filed issues, opened discussions, and tried BotKit out. If you build something with BotKit, run into a rough edge, or just want to talk through an idea before opening an issue, GitHub Discussions is the place for exactly that. For something closer to real time, BotKit's chat now lives on Matrix at #fedify:matrix.org. Drop in and say hello.
  • 0 Votazioni
    1 Post
    32 Visualizzazioni
    🚀 Da oggi il blog di NextRed è federato con ActivityPub!Puoi seguire gli articoli direttamente dal tuo account Mastodon (e da altre piattaforme del Fediverso) all'handle:@blogOgni nuovo post verrà pubblicato automaticamente. Se provi a seguirmi e noti qualche problema, scrivimi: la federazione è appena stata attivata e ogni feedback è utile.#Fediverso #ActivityPub #Mastodon
  • 0 Votazioni
    4 Post
    16 Visualizzazioni
    It is!@innocentzero
  • Conoscete questo progetto

    Fediverso fediverso fediverse activitypub holossocial
    3
    0 Votazioni
    3 Post
    27 Visualizzazioni
    @lgsp @lgsp dai? Ti trovi bene? Come ti sembra?
  • Week in Fediverse 2026-07-03

    Fediverso fediverse activitypub weekinfediverse
    1
    0 Votazioni
    1 Post
    26 Visualizzazioni
    Week in Fediverse 2026-07-03Servers- TinyAP v0.1.10- GoToSocial v0.22.0- Mobilizon v5.2.4- Bonfire v1.0.5- PeerTube v8.2.2- Ktistec v3.7.0- PieFed v1.7.0- Mastodon v4.6.3- Hollo v0.9.6- ActivityPub for WordPress v9.0.2- NeoDB v0.16.3- Wanderer v0.19.3- Trunk & Tidbits, May 2026 (Mastodon)- Lemmy Development Update June 2026 and 1.0.0-beta.1Clients- Fedilab v3.42.1- Pachli v3.7.1- Aria v1.5.5- Rocinante v1.0.9- Holos v1.12.0- Mitra Mini v0.4.2Tools and Plugins- FediFetcher v7.1.21- owncast-emojiwall v2.1.0 - Polls For ActivityPub (WordPress plugin)For developers- Why implementing ActivityPub is hard, and why it doesn't have to be (Fedify)Protocol- FEP-8c13: Context-Authority Routing with Object Integrity Proofs for Restricted Threads- FEP-f228: Backfilling conversations (Final comments)- FEP-7628: Move actor (Final comments)-----#WeekInFediverse #Fediverse #ActivityPubPrevious edition: https://mitra.social/objects/019f058a-b456-7c32-a9ee-f6ef93e8ee55
  • 0 Votazioni
    6 Post
    22 Visualizzazioni
    @nelfan Yeah, it's so much easier to get started if you don't have to build a whole backend for your app.But I do also wonder how popular these apps are. Honestly, the fact that so few people care about "the protocol" and just hang out where people they care about are gives me a lot of hope for the fediverse.We just have to be ready when the VC money finally runs out.
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    I'm requesting final comments on FEP-7628: Move actor#fep_7628 #fep #activitypub
  • How does ActivityPub really work?

    Mondo activitypub
    1
    0 Votazioni
    1 Post
    0 Visualizzazioni
    How does ActivityPub really work?Listen to this presentation by #ActivityPub co-author @evanprodromou given at the last FediForum:https://spectra.video/w/s8DKnnaPFw2b1JS8zD5VE8
  • 0 Votazioni
    8 Post
    0 Visualizzazioni
    @wjmaggos @pfefferle we were actually already chatting on a wordpress support forum would you believe! 😄
  • 0 Votazioni
    5 Post
    0 Visualizzazioni
    @tofu @khleedril /me sits on a rocking chairlisten, young grasshopper, back in my time we didn't have this wordpress thing you're talking about, nevermind nextcloud. back in my time if you wanted to host an homepage you had to write your html by hand, with a dip pen, on parchment, uphill in the snow!ok, I may be mixing up things a bit, but you don't have to be that old to have started self hosting pages when wordpress didn't exist and the alternatives were writing html directly with a text editor or, a few years later, using some kind of graphical editor that saved pretty bad html pages you could load on the server like your handwritten ones.(or you have to be old, and I am old :D )
  • 0 Votazioni
    3 Post
    23 Visualizzazioni
    @julian thanks dude, can't wait to catch up at FediCon, I have a bunch of groups stuff to pick your brain with for Pixelfed!I had such a blast last year, you know how to party 😎
  • Week in Fediverse 2026-06-26

    Fediverso fediverse activitypub weekinfediverse
    1
    0 Votazioni
    1 Post
    22 Visualizzazioni
    Week in Fediverse 2026-06-26Servers- Vernissage Server v1.39.0- Bookwyrm v0.9.0- Mastodon v4.6.1- GoToSocial v0.21.3- Ktistec v3.6.0- snac v2.93- Mitra v5.6.0- Misskey v2026.6.0- NeoDB v0.16.2.1Clients- Fedilab v3.42.0- Mastodon for Android v2.13.0- Voyager 2.47.3- Tesseract v1.5.4- Holos v1.10.2- Phanpy changelog- Rocinante: A modern, open-source Android client for BookWyrmFor developers- Fedify v2.3.0- Masto.js v7.12.0Articles- FR#168 – LLMs Join The Fediverse-----#WeekInFediverse #Fediverse #ActivityPubPrevious edition: https://mitra.social/objects/019ee1be-dd85-7353-beca-83c9a087b4fc
  • 0 Votazioni
    2 Post
    0 Visualizzazioni
    @evan@cosocial.ca its a good thought, and we definitely want to keep inter-compatibility top of mind... though, any thought about how to integrate with existing groups on AP?
  • 0 Votazioni
    5 Post
    0 Visualizzazioni
    @silverpill@mitra.social Mostly because ap: is a very broad scheme name. If ap: becomes the long-term ActivityPub portable identifier scheme, that is fine, and Fedify should support it. The concern is that FEP-ef61 is still a draft, and making a library emit ap: as the canonical form today can make the current draft semantics look more settled, and more general, than they are. ap+ef61: has a narrower meaning: this is the portable-object URI model defined by FEP-ef61. That gives implementations room to experiment with the current DID authority, gateway dereferencing, compatible ID, and proof-policy rules without implicitly claiming the whole ap: scheme for this exact design. It also avoids a possible future conflict if ap: is later standardized with slightly different semantics. This is not a strong objection to ap: itself. Fedify should accept ap: because the current FEP requires it, and interoperability with existing implementations matters more than a local naming preference. My current thinking is: accept both ap: and ap+ef61:; canonicalize them through the same comparison algorithm; emit ap+ef61: for newly generated portable IDs while the FEP is still draft, unless the FEP settles on ap: or another scheme; keep this easy to change if the FEP chooses ap:, ap+portable:, ap+nomad:, or something else. Between the alternatives, ap+ef61: is precise but tied to the FEP number. ap+portable: or ap+nomad: would be better if the goal is a stable human-readable scheme name. I do not have a strong preference there. The main point is that a draft-specific or portable-specific scheme feels safer than treating the generic ap: scheme as permanently settled before the FEP reaches consensus.