#ktistec 186 hashtags

Todd Sundsted

RE: epiktistes.com/objects/8yfM5Lb

i just released an experimental version of this feature. i don't love how it looks but i do love reading this way. i'm going back through my timeline looking for chains of posts that i didn't read before that i can (more easily) read now!

#ktistec

Todd Sundsted

i think i'm going to add a feature to #ktistec that rolls up a chain of self-replies into a single post that i can just read. i don't understand why that (mis)feature of twitter remains so popular on the #fediverse

Todd Sundsted
Release v3.3.0 of Ktistec

Release v3.3.0 of Ktistec adds support for consent-respecting quote posts (FEP-044f). Quote posts represent the most lines of code I've written for any single changelog entry in my life.

Added

  • Support for consent-respecting quote posts (FEP-044f).

Changed

  • next_attempt_at in tasks now means not scheduled when nil.
  • Permit type changes for ActivityPub objects.

Important: Quote posts come with a few big caveats. I've been using iterations of this in production for weeks, but if you don't like what you read below you might want to wait for the patch release.

  • FEP-044f quote posts require delicate choreography between quoted and quoting servers. Server support across the fediverse is incomplete and evolving. If a quote post doesn't display it might be my bug, it might be their bug. Expect bugs.
  • Quote authorization is currently all or nothing鈥攜ou either blanket reject quote post requests (the default) or blanket accept them. I intend to support more granular controls and manual approval but that comes later.
  • Quote authorization revocation isn't supported.
  • Automatic re-verification of quote authorization isn't supported.
  • Compatibility with other quote implementations is incomplete.
  • There will be bugs 馃悶 and more bugs 馃悳.

#ktistec #crystallang #activitypub #fediverse

Todd Sundsted

still working on quote posts... getting close...

as an aside, #ktistec x-ray mode is really useful when debugging and when i want to navigate to a quoted post that hasn't yet been remotely approved!

Todd Sundsted

i think i'm going to add a feature to #ktistec that rolls up a chain of self-replies into a single post that i can just read. i don't understand why that (mis)feature of twitter remains so popular on the #fediverse

Todd Sundsted

I managed to get 2/3rds of quote posts (FEP-044f) working in #ktistec. The only part remaining is quote posting from the server and this depends on functionality to delay delivery until the quote request is accepted (or not). I need that for scheduled posts, so it's a delay but time well spent!

#activitypub #fediverse

Todd Sundsted
Release v3.2.9 of Ktistec

I just released v3.2.9 of Ktistec!

You can now customize the secondary menu on your home page. This is the menu that links to your posts, drafts, notifications, etc. Posts, drafts, and notifications are fixed, but you can change the final three鈥攖hey default to bookmarks, followers, and following. Edit the links on your Settings page in the section titled Pinned Collections. I typically replace the defaults with hashtags I'm following and threads I'm actively participating in.

I am slowly adding functionality to support Mastodon API compatible clients. In line with that effort, OAuth access tokens are now associated with sessions, which makes it possible for clients that authenticate via OAuth (instead of username/password) to access all of the existing API.

I use this extensively when building scripts to automate my Ktistec instance. A script can authenticate and cache the access token in a secure keystore. Since access tokens have a limited lifespan and can be individually invalidated, a compromised access token does not force me to change my password!

Here's the full list of changes:

Added

  • Support for customizing the secondary menu with pinned collections.

Fixed

  • Thread rendering no longer fails when drafts are present.

Changed

  • Content warnings are now preserved when replying to posts. (fixes #136)
  • OAuth access tokens are now associated with sessions.
  • Attachments are deleted when draft objects are destroyed.
  • Actor icons and images are deleted when replaced or unset.

A recent poll prioritized emoji reactions and quote posts. I see dozens of quote posts every day, so that's where I plan to focus next.

#ktistec #crystallang #activitypub #fediverse

Todd Sundsted
Release v3.2.8 of Ktistec

I didn't think I'd ever pull it off 馃榾, but the new editor framework is complete and with it support for creating polls. One nice extra鈥攜ou can now choose which content editor to use (rich text or Markdown) on a per-post basis without updating your settings.

The full set of changes in this release:

Added

  • Front-end support for creating polls.
  • Editor selection support for content, polls, and optional metadata (name, summary, etc.).
  • Poll expiry notifications for poll authors.

Fixed

  • Poll closed_at handling for drafts and remote polls.

I'll try not to be quite as ambitious for the next release! 馃槄

#ktistec #crystallang #activitypub #fediverse

Todd Sundsted

A couple of summaries of recent polls:

Is building for browsers without JavaScript enabled an antiquated idea?

87% No / 13% Yes

I interpret this to mean 1) progressive enhancement still matters, 2) accessibility and resilience are important (maybe even at the expense of pure convenience).

Which distinctive Fediverse capability would you most like to see added (to Ktistec) next?

Emoji reactions and Quote-posts tied at 37% each

For what it's worth, I'm actively looking into emoji reactions. These seem to be most popular in servers other than Mastodon, and I'd like to encourage more diversity.

I very much appreciate everyone's participation! Please reply if I'm missing nuance.

#ktistec

Todd Sundsted
Ktistec Theming Hooks

I'm using Ktistec theming hooks to make it easier to spot posts from actors I enjoy reading, to identify posts that are part of conversations I'm in, to identify posts about topics I'm interested in, and to simply expose more information visually.

The hashtags I follow don't require much emphasis, but I want them to stand out a little, so I theme these posts with a bold left border.

Image of a post with a bold left border and the #3dprinting hashtag.

It's helpful when I can spot posts that are parts of conversations I'm in, so my theme styles my replies, and others' replies to me. In the latter case, it also differentiates between cases where I'm one of the actors mentioned vs. cases where I'm the only actor mentioned.

Image of a brief conversation showing background colors that highlight each role.

There are a handful of people I follow who regularly post about topics I love. I've created custom backgrounds for posts from these authors.

Two posts showing themed background images: cobwebs in the first, equations in the second.

(This is also my #FollowFriday post. 馃榾 If you're not into my theming, but want to see amazing photos of abandoned places around the world and sometimes sleeping seals, follow @ObsidianUrbex. If you love physics, math, music, and related topics, or want to love physics, math, music, and related topics, follow @johncarlosbaez.)

All of this is powered by extensive post metadata that was recently added and is surfaced in classes and data attributes. You can, for example, customize a theme based on actor or object type, object status (sensitive, has replies, etc.), visibility, relationship state (followed by me, mentions me, etc.), the creator/sharer handle, etc. Details are in the theming documentation.

#ktistec

Todd Sundsted

馃弳 Yak-shave accomplished!

I tore apart the monolithic editor in #ktistec and replaced it with a configurable framework of editor components鈥攊ncluding a component for editing polls.

The Ktistec editor showing buttons for enabling and disabling editor components, including the rich text editor, the Markdown editor, optional fields (such as title, summary, etc.), and polls.

I'm planning to work on an editor component for managing attachments next.