Skip to main content

# Pachli 3.8.0 is released

This release introduces support for notifications about #collections, improves compatibility with #iceshrimpdotnet servers (by @c, their first contribution to Pachli), fixes a crash, and ensures follower/following relationships are updated if you block a server.

pachli.app/pachli/2026/07/30/3

Iceshrimp.NET v2026.1.2-beta
This is a beta security hotfix release. It's identical to v2026.1.1-beta, except for the security mitigations listed below. Upgrading is strongly recommended for all server operators.

  • When LibVips is used for image processing, unfuzzed / untrusted load/save operations are now disabled by default. The formats JPEG-XL, JPEG-2000 and SVG can be reenabled with configuration options respectively.

Check out the full changelog for more information on this release.

Pelago: The Old Man, The Sea, and The Island

“It isn't a matter of forgetting. What one has to learn is how to remember and yet be free of the past.” ― Aldous Huxley, Island This is my manifesto on Pelago, why it exists, what problems it solves, and how it proves out the exciting possibility and fragility of island…
Federation Bot

Week in Fediverse 2026-07-24

Servers

- WriteFreely v0.17.0
- Ktistec v3.9.0
- Vernissage Server v1.41.0
- GoToSocial v0.22.1
- Bookwyrm v0.9.1
- PeerTube v8.2.3
- Lemmy v0.19.20
- ties v0.3
- ActivityPub for WordPress v9.1.0
- NeoDB v0.17.2
- NodeBB v4.14.2
- PieFed v1.7.7
- FitPub v1.2.1
- ActivityForge: ForgeFed implementation in Rust

Clients

- PleromaFE v2.11.1
- Aria v1.5.9
- Pixelix v5.0.0
- Summit v1.83.0
- Jerboa v0.0.88
- Holos v1.15.0
- Rocinante v1.1.8

Tools and Plugins

- Superblock v3.1 (Hubzilla addon)
- Polls for ActivityPub v1.0.10 (WordPress plugin)

Protocol

- FEP-de8d: Emoji Catalogs

Articles

- I added ActivityPub to this blog

-----

#WeekInFediverse #Fediverse #ActivityPub

Previous edition: https://mitra.social/objects/019f71c0-52f2-7b60-a0f7-a9df07a6fd66

Cacheable Requests for Remote Content

TLDR: proxyUrl requests are un-cacheable, this is a terrible Developer Experience.

When fetching remote Activities, Objects or Actors with the ActivityPub API we use a few endpoints. First, we might fetch activities directly from our Inbox endpoint, this loosely translates to a users Home feed.

But to represent these Activities in a meaningful way to users, we also need information about the Actor who posted the activity, so that we may display their Avatar, Display name and perhaps their Webfinger1.

We could fetch an Actor directly from a client, but not all ActivityPub servers are guaranteed to have CORS enabled. So to reliably fetch, we use the proxyUrl endpoint2.

… the client posts an x-www-form-urlencoded id parameter with the value being the id of the requested ActivityStreams object.

Unfortunately POST requests are opaque regarding the id3.

Typically, a Service Worker would use a fetch eventListener to intercept the request, and depending on cacheing strategy might first look up this id in the cache, or indexedDB, and if it isn’t found would then fetch and save response for later use.

So back to our Home feed, when scrolling through the activities you are likely to see a number of posts from the same people, whether because you only follow a few or because you follow some frequent posters.

Without cacheing, our app would need to fetch those Actors again and again, each time one of their posts shows up. Also, depending on your server configuration, could get your client rate-limited.

Beyond ActivityPub, not cacheing is wasteful, these continuous requests could not only make a low-powered device slow-down, heat up and drain a mobile battery, but depending on internet access where you live could also eat into your data plan.

  1. Webfinger is an identifier & protocol for looking up information about users, which should look familiar: user@example.com ↩︎
  2. https://www.w3.org/wiki/ActivityPub/Primer/proxyUrl_endpoint ↩︎
  3. Basically a URL: https://www.w3.org/TR/activitypub/#obj-id ↩︎

#activitypub #c2s #UX
0 Replies
1 Boost

No replies yet

Be the first to share your thoughts.