#activitypub 91 hashtags

Todd Sundsted

TIL scripting media queries... gone are the days of the no-js class on the body tag...

i'm working on improving the ktistec user experience when javascript is disabled.

ktistec uses trix as its rich text editor.  of course. trix doesn't work without javascript. behind the scenes, however, trix uses a hidden textarea to hold the body of the post being edited. using scripting media queries, ktistec can now show (or hide) either the editor or the textarea based on the availability of javascript (2030b26b). 

#ktistec #activitypub #fediverse

Todd Sundsted

i'm working toward providing a decent experience in ktistec with javascript turned off.  the first step was emitting minified css instead of using the webpack style loader plugin to apply css via javascript (fd7a5369).

#ktistec #activitypub #fediverse

Todd Sundsted

I just released v2.3.0 of Ktistec.  It fixes a few bugs introduced in the previous release. In particular, it handles a case I've observed a few times in production where the fetching of followed content hangs. The fix adds a monitor that periodically checks for "running" tasks without a backing fiber and sets socket timeouts to ensure requests eventually terminate (I believe the latter actually fixes the problem, but belts and suspenders...)

#ktistec #crystallanguage #crystallang #activitypub #fediverse

Todd Sundsted
traffic to epiktistes before and after elon acquired twitter

this chart shows inbound activitypub messages to my server. over time fediverse instances seem to receive increasing numbers of messages, many not addressed to anyone on the instance, so this represents an increase in that passive traffic, replies to other people's posts, as well as announcements/boosts/shares.

n.b. you can see all of the inbound messages to your ktistec server on the /everything endpoint.

#ktistec #fediverse #activitypub

Todd Sundsted

among other improvements, document how rules work.

it's now possible to customize how ktistec processes ActivityPub inbound and outbound activities without having to write crystal language and recompile the server.

#ktistec #activitypub

Todd Sundsted

i'm still making lots of small changes/improvements to ktistec: upgrading dependencies, fixing bugs, and cleaning up. i'm laying the foundation for improvements to the experience of reading posts on your ktistec instance—a reactive user interface with streaming updates/notifications, the ability to follow arbitrary collections of objects, and a timeline that can flexibly highlight content you find interesting (vs. displaying posts in chronological order). underpinning all of this is a flexible, scriptable, rule-based language for customizing the experience.

#ktistec #activitypub #fediverse

Todd Sundsted

it would be nice to have a way to federate users around topics or areas of interest, without having to join a specific server. it would make it easier for people to discover each other based on interests, regardless of the server they join. federated interests...?

#activitypub #musing

Todd Sundsted

i don't know about this decision:

It is suggested that LitePub implementations supply a locally hosted version of the LitePub JSON-LD Context as their @context.

what i see in practice (N > 100) is the same "litepub-0.1.jsonld" context but different URLs. all of these identical contexts have to be fetched, parsed, cached (hopefully).

it seems wasteful.

#activitypub

Todd Sundsted

i've tested ktistec compatibility with:

  • mastodon
  • peertube
  • pixelfed
  • lemmy
  • write.as

many things work—follows in both directions and creating/updating notes (AKA toots, etc.)—but there's lots of room for improvement. lemmy, for example, announces activities instead of forwards activities. i'm working on 1.0, but in the next major release, i'll build server-specific extensions to handle more of these kind of issues.

i created a few issues in other repos:

and worked around a few issues that haven't quite rolled out:

and made many other concessions for compatibility.

#activitypub #ktistec

Todd Sundsted

once you've seen one activitypub implementation, you've seen one activitypub implementation.

i just wrapped up a whole lot of interoperability work for ktistec. bottom line, you can't just read and implement the activitypub spec et al and expect anything to federate with your implementation. your best bet, in fact, is to doggedly copy the mastodon implementation, right down to the braces and brackets—since every other implementation is at least shooting for mastodon compatibility—and then work from there.

to be fair, about half of the fixes were arguably due to bugs in my own code. but seriously lemmy, why do you require the json-ld context to be a list, even when the context is defined by a single URL...?

#activitypub #ktistec