Notes
Short thoughts, updates, and quick posts. (1715 total)
One of the downside of self-hosting one’s own ActivityPub server is the loss of Brid.gy backfilling social reactions to one’s content.
This is why I developed this indiekit plugin, it basically translate ActivityPub activity on one’s content into JF2 format so that this page can aggregate all the interactions with my content in one place. It also provide an API so that I can display a webmention widget in the frontend that Eleventy + AlpineJS can use to display new interactions live on the frontend.
Added a bunch of colors to my blog, per post types, I’m far from the frontend design I dream about but the important is, its getting better and its home made ! https://rmendes.net/blog/
Finally fixed my green check rel=me link !
juste un peu marre de voir du Epstein partout pendant que l’invisibilité de ses victimes continue. de quoi les systèmes de Justice ont besoin pour arrêter Robert Spatz alors même qu’il fait appel d’une énième décision de Justice, suite à sa condamnation de 2022, tout en étant vautré dans la récidive?
Storing this here for future exploration in the context of indiekit/ATproto integration
Signed this petition, Stop Google from limiting APK file usage
Android will become a locked-down platform in 184 Days if you don’t make your voice Heard.
The uncomfortable truth is that I rarely think about UI/UX until I’m forced to use it and realize there’s no way around it. Nothing pushes you to improve something quite like experiencing its flaws every single day. When you depend on a tool and its interface constantly gets in your way, the motivation to fix it becomes very real.
I’ve always been more drawn to backend infrastructure than frontend development. That’s where I feel most comfortable. But it’s precisely when you’re stuck using a clumsy or poorly designed interface that you start caring about the user perspective. Frustration becomes fuel.
I’ll probably need to spend more time reading through the codebases of projects like Elk or Phanpy to better understand alternative ActivityPub UI patterns and design choices.
There’s a lot to learn from how others approach the same problems. My current self-hosted ActivityPub reader works, technically.
But from a UI perspective, it’s still rough around the edges and that’s something I want to throw some energy & focus to improve.
It took me more than a month of intense paced AI assisted development to get where I wanted to be, but https://rmendes.net/changelog/ this blog/AP has all the #indieweb spec backed in + AP + simulation of brid.gy to backfill reactions back to my posts !
Having implemented Fedify to power the ActivityPub implementation for Indiekit, I’m confronted to an issue I never had to think about : how do you consume AP content in a way that makes you want to have a timeline to scroll when you can’t use any of the available Mobile Apps out there ?
One more bug solved
- Quick reply (quick reply test) — in_reply_to_id: “116115945039999145” threaded under the original post
- From rick@rmendes.net via the self-hosted AP serverThe replyTarget fix resolved the threading issue. To recap the full fix chain across v2.0.2–2.0.5:
2.0.2–2.0.3: Added to/cc addressing on Note object 2.0.4: HTTPS Note ID (not urn:uuid:), to/cc on Create wrapper 2.0.5: inReplyTo → replyTarget (Fedify 2.0 constructor parameter rename)286 times : the amount of times I iterated/reviewed on different parts of the indiekit fork codebase triggering a build & deploy to move forward several new features, among them Microsub & ActivityPub https://rmendes.net/changelog/
Fixed: IndieAuth login broken for third-party apps
After adding security headers (Content-Security-Policy) to harden the site, logging in with IndiePass and other IndieAuth clients silently failed — tapping “authorize” did nothing.
The culprit was form-action ‘self’ in the CSP, which blocked Browsers from following the consent form’s redirect to the client’s callback URL (e.g., indiepass.app/android-callback).
Changed to form-action ‘self’ https: to allow IndieAuth redirects to any HTTPS callback. Affects all third-party IndieAuth clients (Micropub editors, Microsub readers, etc.), not just IndiePass.
Alright, testing #IndiePass #Indiekit #Fedify 2.0 if you see this post on the Fediverse or Bluesky it means syndication works and my blog is my own AP server.
public profile : https://rmendes.net/activitypub/users/rick
Huh 👀 Music Mouse rebirth/reimagined?
Finally got my #fedify rel=me link working properly from the view of other Mastodon/Fediverse clients
Oh My God :)) Now You can interact with my posts from your fediverse instance, by setting your instance in your browser
localstorage, once this is set, click the Fediverse icon and you’ll see my post through your own mastodon/pleroma instance !Updated indiekit AP implementation to Fedify 2.0 !
Crafted this nice ActivityPub profile page for my Fedify/indiekit AP implementation, this is obviously for browsers, AP server receive an AP representation of my profile Screenshot below is Fedify 2.0 built in debugger

Caches GET/HEAD responses for ActivityPub endpoints (actor profiles, featured posts, notes, webfinger, nodeinfo) so hundreds of simultaneous fetches from federated instances are served from nginx instead of hitting Node.js.
Uses proxy_cache_lock to prevent thundering herd and proxy_cache_use_stale to serve during backend overload. POST /inbox and admin pages bypass the cache.
