#ktistec 160 hashtags

Todd Sundsted

a fistful of improvements to ktistec

  • 6d1925b track a recent mastodon change that requires a signed digest on http posts
    annoying—epiktistes wasn't successfully federating with mastodon servers for days—but breaking compatibility in the interest of better security is an acceptable excuse (but don't get me started).
  • bd6fb4d log encountered uncached external contexts
    ktistec parses and caches the contexts it cares about and ignores everything else. this change drops a message in the log when the server encounters contexts it doesn't know about.
  • 1661226 wire in post reply and delete buttons
    posting is de rigueur for membership in the fediverse. deleting is just a good idea.

#ktistec

Todd Sundsted

i put the finishing touches on content editing and presentation.

a post about saki

because i want to support long form content, one of my goals was inline images that present as attachments on other implementations like mastodon. my choice of editor, trix, handles image uploads, which is nice, but the generated markup is verbose and suboptimal (trix uses br instead of p tags to break up text into paragraphs, for example).

#ktistec

Todd Sundsted

with open source software, things break but you can get in under the hood to investigate and fix. a recent, breaking change to signatures in mastodon recently broke ktistec federation. a few hours and a few commits later, things were working again. of course, i would have been happier if it hadn't been a breaking change... 😐

#ktistec

Todd Sundsted

i just pushed commits that add a settings page and handle image uploads (for background image and profile icon). a lot of code was already written and supported image upload from the editor—i just had to bend it to my purpose. i'm using FilePond to handle preview and upload in the browser.

the settings page

generally, i'm pretty happy with the result!

#ktistec

Todd Sundsted

i posted about the problems caused by the lack of a clear license a week ago. commits ca662ca through 49d3e2a remove the kemal-session and kemal-csrf shards and replace them with lightweight improvements to a session store i'd written previously and forgotten about and cut-and-paste reuse of kemal-csrf (which has a clear license and clean history). ktistec will be released under AGPLv3.

#ktistec

Todd Sundsted

these commits show the actor's public posts when an anonymous user navigates to the site, and show the authenticated actor the content timeline for both their inbox and their outbox. these are really two big queries with a pagination scheme i found on the internet. i haven't yet benchmarked it against the common "OFFSET LIMIT" method.

#ktistec

Todd Sundsted

reached a development milestone in ktistec. replies are working. 💪

#ktistec

Todd Sundsted

i implemented support for in-the-flow images with attachments as the fallback on federated platforms that don’t support them.

saki

saki shows up in the flow on epiktistes and as an attachment elsewhere.

#ktistec

Todd Sundsted

epiktistes runs on ktistec (still no README). the choice of crystal and sqlite has worked out really well. a small fully threaded conversation using a recursive query took 9.55ms to retrieve and render.

#ktistec

Todd Sundsted