Tokodon 22.11.2 release

I’m happy to announce the release of Tokodon 22.11.2 (and 22.11.1 who I released earlier this month and forgot to properly announce). These releases contain mostly bug fixes but also some welcome interface improvements.

First this adds an account switcher (similar to the one Tobias Fella implemented in NeoChat). Very usefully when you need to manage multiple accounts and want to quickly switch between them.


This also change the image preview from appearing in a separate full screen window to be contained inside the window. This follow the similar change from from James Graham in NeoChat.

Preview full window mode
Preview full window mode

Joshua Goins improved the loading of media attachment and made it possible to now hide sensitive image by default using the blurhash effect. This is also using the already existing implementation of blurhash from Tobias in NeoChat and you might start to see a pattern in this release. ;)

Blurhash post
Blurhash post

Finally I added support for custom emojis in many places inside the UI. Perfect if you want to show you true verified checkmark in your profile :)

Aside from the nice new improvements, I improved the spacing in the app and while not perfect yet, I hope this makes Tokodon more enjoyable to use. Joshua Goins has also made various improvements to our internal networking code and this should offer better reliability and less prone to crash code. And I fixed an important crash on start-up that was affecting a lot of users

Finally I started adding unit tests in Tokodon and added the infrastructure to mock a Mastodon server. We now have reached 12% unit tests coverage and I hope this number will grow after each release.

And for those who prefer a full changelog, here it is:
  • Remember selected account
  • Update metadata
  • Fix rebasing issue
  • Attempt to fix Qt complaining about incomplete Post type
  • Add parents to replies made by Account::get and similar requests
  • More fixes
  • Move away from shared_ptr for Post
  • Fix double-free bug when viewing certain timeline pages
  • Add qtkeychain to .kde-ci.yml
  • Fix hide image icon missing on Android
  • View your own profile via account switcher
  • Add emoji support to page headings and profile bios
  • Fix translation extraction
  • Fix replying from the notification timeline
  • Fix notification list
  • Fix fetching the timeline twice
  • Release 22.11.2
  • Fix showing view-sensitive button too often
  • Don't have text autocomplete on login form
  • Add missing release info
  • Release 21.11.1
  • Remove usage of anchors in layout
  • Use blur hash for loading images and sensitive media
  • Improve hover effect on the card
  • Fix qt6 build
  • Fix dependency in the ci
  • Put accessible description at the bottom
  • Improve the look of cards
  • Use Kirigami.ActionToolBar
  • Allow download images
  • Full screen image like neochat
  • Add m_original_post_id for use in timeline fetch
  • Propertly reset pageStack when switching account
  • Polish NotificationPage
  • Improve layout of follow notification
  • Fix crash when switching account in the notification view
  • Fix translation catalog loading
  • Post: Fix memory leak
  • Fix off by one error in notification model
  • Posibly fix crash (second try)
  • Remove debug leftover
  • Posibly fix crash at startup
  • Improve account switcher
  • Make tap and text selection work together in PostDelegate
  • Fix wrong header url
  • Fix handling of empty displayName
  • Improve layout of PostDelegate
  • Add InteractionButton component for likes, boosts and replies
  • Add Qt 6 CI for FreeBSD and Android
  • Fix custom emoji in account lists
  • Port LoginPage to mobile form
  • Add runtime dependency for org.kde.sonnet
  • More cleanup and add autotests
  • Properly use getter and use displayNameHtml in more places
  • Implement custom emojis
  • Fix coverage badge
  • Add a refresh button for desktop devices
  • Reset message handler properly to prevent threads overwriting each other
  • Fix setInstanceUri early exit, preventing client id from being fetched
  • Add coverage badge
  • Fix reuse
  • Add a qDebug filter to remove confidential data
  • Add model tests
  • Add basic test
  • Split account in an abstract class without networking
  • Remot stray qDebug leaking token

Packager section

You can find the package on and it has been signed with my GPG key.


With an account on the Fediverse or Mastodon, you can respond to this post. Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. Known non-private replies are displayed below.

Learn how this is implemented here.