Search results

0
0
0
0

7.9.0 — Spring Cleaning 🪣🧹

ActivityPub for WordPress @activitypub.blog@activitypub.blog

Version 7.9.0 is a spring-cleaning release for ActivityPub for WordPress. Custom Fediverse emoji now render properly, profile and following blocks make it easier to build richer identity pages, and new health checks improve reliability. Alongside performance tweaks and many fixes, this update focuses on polish, stability, and smoother everyday federation.

Read more →
0
0
1

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

@hongminhee洪 民憙 (Hong Minhee) :nonbinary: I'm reading this thread as a relative noob, but what I see again and again: almost no one "properly" implents largely because is hard but also because the spec itself is unclear. Most people who get stuff done have to go off-spec to actually ship.

This seems a fundamental weakness of the - and that disregarding the limitations coming from base architecture. Seems to pose a mid/long-term existential threat.

What can we do to help improve things?

0

Funding Proposal: Open Media Network (#OMN) – Building Portable, Human-Centred Digital Commons

Hamish Campbell @info@hamishcampbell.com

https://nlnet.nl/fediversity Project Title Open Media Network (OMN): Portable Digital Commons for a Federated Europe Summary The Open Media Network (#OMN) is a real grassroots initiative to build sustainable, human-centred digital infrastructure aligned with the principles of the #openweb and the #4opens. To providing easy-to-use, hosted cloud services with service portability and freedom at their core - OMN focuses on creating living social ecosystems alongside technical […]

Read more →
0

I know this is going to be a hard lesson for people on the to learn, but here we go:

NOT EVERYONE ON THE FUCKING PLANET KNOWS HOW TO DO THE THINGS WE DO!

While I’ll take over , , and , some of y’all make it so difficult to just exist in a space without having to “well, actually” every fucking thing!

Understand that not everyone has all the answers (you sure as shit don’t) and treat people with some fucking grace and respect!

For fuck’s sake!

0
0
0

I have deeply mixed feelings about 's adoption of JSON-LD, as someone who's spent way too long dealing with it while building .

Part of me wishes it had never happened. A lot of developers jump into ActivityPub development without really understanding JSON-LD, and honestly, can you blame them? The result is a growing number of implementations producing technically invalid JSON-LD. It works, sort of, because everyone's just pattern-matching against what Mastodon does, but it's not correct. And even developers who do take the time to understand JSON-LD often end up hardcoding their documents anyway, because proper JSON-LD processor libraries simply don't exist for many languages. No safety net, no validation, just vibes and hoping you got the @context right. Naturally, mistakes creep in.

But then the other part of me thinks: well, we're stuck with JSON-LD now. There's no going back. So wouldn't it be nice if people actually used it properly? Process the documents, normalize them, do the compaction and expansion dance the way the spec intended. That's what Fedify does.

Here's the part that really gets to me, though. Because Fedify actually processes JSON-LD correctly, it's more likely to break when talking to implementations that produce malformed documents. From the end user's perspective, Fedify looks like the fragile one. “Why can't I follow this person?” Well, because their server is emitting garbage JSON-LD that happens to work with implementations that just treat it as a regular JSON blob. Every time I get one of these bug reports, I feel a certain injustice. Like being the only person in the group project who actually read the assignment.

To be fair, there are real practical reasons why most people don't bother with proper JSON-LD processing. Implementing a full processor is genuinely a lot of work. It leans on the entire Linked Data stack, which is bigger than most people expect going in. And the performance cost isn't trivial either. Fedify uses some tricks to keep things fast, and I'll be honest, that code isn't my proudest work.

Anyway, none of this is going anywhere. Just me grumbling into the void. If you're building an ActivityPub implementation, maybe consider using a JSON-LD processor if one's available for your language. And if you're not going to, at least test your output against implementations that do.

2
25
1

I started adding support for services and it looks like it's easier than I imagined it initially.

On the server side, implementing the proxyURL handler doesn't need any new additions as it shares 90% code with other handlers that return objects.

On the client side, I'm creating a new http.RoundTripper that can use the proxyURL transparently for the caller.

As a developer in your client code you only do a regular request for a remote URL, and the round-tripper handles the proxying part transparently if it has all the available bits: a server that supports proxyURL and a valid OAuth2 session towards that server.

0

If decentralization is the future of social media, where millions or even billions of people share knowledge, then we can learn a lot from how the Open Knowledge Foundation (@okfnOpen Knowledge Foundation) and the Wikimedia Foundation (@wikimediafoundation) built cross-border, international movements with clear missions.

These two organizations are just two examples, but they demonstrate an important point: decentralization worked because communities were intentionally nurtured, not just because the technology was open.

The Fediverse, powered by the ActivityPub protocol, already has the technical capacity to thrive (UI tweaks aside).

What we still lack is the decentralization of communities, including shared ownership, coordination, and a mission that extends beyond individual instances.

Cc @eloquenceErik Moeller @bjoernstaBjörn Staschen @_elenaElena Rossini 📍 FOSDEM

0
0
0
0

Will Mastodon, the platform that keeps the alive, miss a strategic opportunity to bring official institutions on board at scale?

By watching how is being marketed compared to , it certainly seems that way.

I wish the folks at Mastodon would invest in more professional marketing, similar to what we're seeing from its rival, Bluesky.

There was a major meeting in the EU Parliament focused on this topic, yet there was no announcement or microblog post from Mastodon. Zero engagement.

Compare these two approaches:

fed.brid.gy/r/https://bsky.app

0
0
0
0
0
0

FediMTL, on the fedi at @info is a new 1-day fediverse related conference in Montreal in just a few weeks on February 24 (is it Fedi-conference season or something?)

There's a streaming option, too! And the sessions look good. Check it out, and spread the word.

fedimtl.ca/#about

0
0
0
0

(1/3)

@laurenshof
> W3C membership structure concentrates formal power ... while the implementers who could counterbalance that power have largely opted out of the process

My impression is that like a lot of things, this is caused by a combo of;

* lack of time and energy among projects devs, most of whom still work as volunteers

* the tense atmosphere that persists in many dev collaboration spaces, like SocialHub (not pointing the bone, I'm no saint, and I recognise I've contributed to this)

(2/3)

My hope is that the chartering of a formal W3C Working Group to update ActivityPub will motivate devs to participate more in standards work. The promise of making concrete changes to the protocol specs might make it feel like less of a Boulder of Sisyphus. Plus, the prospect of working in a formally facilitated process, with fewer rubberneckers (like me), might mitigate any anxiety about discussions getting unpleasant.

0
0

It’s really surprising to me that the hasn’t agreed on a standardized way to open cross-instance objects and instead relies on links that open in the browser.

I found this proposal and what’s thinking… codeberg.org/fediverse/fep/src Which one would be your favorite?

(If anyone has updates on the progress, feel free to point me in the right direction)

0
0
0
1
0
0
0

2/

I spend time thinking about how this (the importance of files and file data-formats) intersects with user-experience (UX).

For example, what types of files could you get regular people to create?

I don't think you can get regular people en masse to write JSON (including JSON-LD).

I think even getting them (regular people) to write HTML is difficult.

Something similar to Markdown probably has the best chance or success. Maybe something similar to INI, too.

3/

If you cannot get (most) regular people to write JSON-LD, JSON, or even HTML —

But, you might be able to get them (regular people) to write something similar to Markdown and INI —

Then, are there ways you could (explicitly or implicitly) encode JSON-LD type information, such as ActivityPub, into a Markdown-like or INI-like file — in a way where they (regular people) would likely include it?

I suspect — probably yes.

0

勝手にプレビュー版のアプリみたいなのをインストールしないといけないんだと勘違いしてたけど Web から見られるようになってて嬉しい。
:mastodon: で言うところの Boost みたいなことはまだできないのかな?

0
0
0
0
this is shaping up well enough that i think i can can Post about it now:

working on an activitypub-aware reverse proxy to handle http signatures/authorized fetch (and, in the future, caching, though that's not there yet) on your behalf. primarily intended to absorb the load of large federation bursts for the underlying software, but also frees you from having to reimplement http signature validation yourself

supports both rsa-sha256 and ed25519 over the cavage draft. handles multiple keys per actor. will handle blind key rotations whenever i get around to it. may add support for the the new http signature rfc if there's a Reasonable library available

i have a few more things in mind but i need to finish the basics first

0
0

users and entities activities can now be followed from the !

Some examples of followable actors:
- a user: @Georges
- an author: @wd-Q46248Terry Pratchett
- a serie: @inv-083c773e8b26776230e40657fdfadeb9Temps Critiques
- a publisher: @wd-Q3213929La Volte
- a publisher collection: @inv-582c0644d0a9c06d4758deb86d49ff1e

This is the result of our first experiments with : let us know if you find it useful!

Learn more: wiki.inventaire.io/wiki/What_i

0
0
0

Speaking of , I can't wait for the Sanitizer DOM API to start making an appearance in mainstream browsers later this month.

Currently the biggest chunk of the 140K that make the JavaScript application that comprises ONI is composed of the dompurify library I'm using now to do sanitization of NaturalLanguageValues in objects.

0
0
0
0
0
0
0
0
0
2
0