This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will block this actor and hide all of their past and future posts. Are you certain you want to block this actor?
This action will block this object. Are you certain you want to block this object?
Are you sure you want to delete the OAuth client [Client Name]? This action cannot be undone and will revoke all access tokens for this client.
Are you sure you want to revoke the OAuth token [Token ID]? This action cannot be undone and will immediately revoke access for this token.
#crystallang 76 hashtags

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
Changed
next_attempt_at in tasks now means not scheduled when nil.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.

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
Fixed
Changed
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.

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
Fixed
closed_at handling for drafts and remote polls.I'll try not to be quite as ambitious for the next release! 馃槄

The two big features in release v3.2.7 of Ktistec are back end support for creating polls (the front end is coming in the next release) and advanced theming support鈥攕pecifically, a rich vocabulary of CSS class values and data attributes on which to build a theme. The full set is documented in the README. I'll post more on how I'm using these later this week.
Here is the full set of notable changes:
Added
Fixed
Question ID.Changed



I took a detour and worked on alt text editing in release v3.2.6 rather than continuing with the polls backend. I also continued to fix bugs and to add polish. Here's the full set of changes:
Added
Fixed
figcaption elements.Changed
(I'm editing this post in Markdown鈥攖he new feature in the last release!)

I rolled out a lot of features over the last several weeks and created a lot of bugs in the process. Release v3.2.5 of Ktistec is mostly about fixing those bugs. I did implement two requested features, however: support for editing posts in Markdown and support for Open Graph metadata. Here's the full list of new features:
Added
馃巹 I'm working on support for poll creation and management now. It's also time for a performance improvement pass or two.

The big feature in release v3.2.4 of Ktistec is support for viewing and voting on Mastodon polls (AKA FEP-9967: Polls). This feature took a surprising amount of work. Some of the effort was due to my struggles with visual design, but getting the behavior right was also tricky. For example, a "vote" is just an ActivityPub Note, but unlike other notes, it shouldn't appear in a poll's replies (it could, but that would be redundant and confusing). So I had to add exceptions throughout the code to deal with this. A custom Vote object type would have been nice in the original implementation.
Added
Fixed
title attributes are now preserved.Changed
Thank you @jayvii for the build fix!

Release v3.2.3 of Ktistec includes two big features:
The full changelog:
Added
Person, Group, etc.) overlay badges on actor panels.Fixed
Undo includes the undone activity.Like and Dislike does not.Changed
The next release will include support for Mastodon polls (FEP-9967).