# Mobile 1.0.0-beta.25 (beta) Released on Jun 21, 2026 > [!CAUTION] > The Fluxer Flutter mobile client is still in beta so features will be missing or broken. Pre-release build for TestFlight and Android APK (FCM + OSS). ## What's New - Added support for connecting to self-hosted instances, by @edeuss - Added support for keeping calls going in the background while leaving the app (no ringing from background yet), by @edeuss - Added more performance improvements by @M0N7Y5 - Added toasts to badges, by @Jiralite - Added LaTeX / KaTeX code block rendering, by @edeuss - Added start of channel welcome messages from desktop, by @M0N7Y5 - Added support for custom status emojis, by @edeuss - Added toast message for copying a code block, by @edeuss - Improvements to chat read state tracking and display, by @M0N7Y5 - Improvements to chat scrolling, by @M0N7Y5 - Fixed mentions in reply preview area showing the @ symbol, by @Jiralite - Fixed scrolling to close unimplemented settings pages, by @Jiralite - Fixed centering for communities in collapsed folders, by @Jiralite - Fixed profile pictures rendering with solid background colors, by @Jiralite - Fixed revealed text in links with unfurled media, by @Jiralite - Fixed masked links showing content for message links and channel links, by @Jiralite - Fixed system messages not always being indicated correctly, by @Jiralite - Fixed display names FluxerTags appearing in profiles, by @Jiralite - Fixed user profiles not showing certain fields, by @Jiralite - Fixed multi-line strikethrough not displaying properly, by @edeuss - Fixed emojis in spoiler tags not displaying correctly, by @edeuss - Fixed incorrect parsing of markdown links when visible text is blank, by @edeuss - Fixed the count of files being uploaded showing a # instead of a number, by @edeuss - Fixed community profile picture setting "Don't show" is not respected in chat, by @edeuss - Fixed custom status bottom sheet not showing a custom emoji preview, by @edeuss - Fixed markdown alerts escape multi-line code block, by @edeuss ## Detailed changes ## Features - feat: tappable badges (#369) @Jiralite - code block add copy toast (@edeuss) ([7a0fffb](https://github.com/fluxerapp/flutter_client/commit/7a0fffb93e0613822ebcf1bb32f8aa0c226f6807)) - support custom status emoji (@edeuss) ([3e721b4](https://github.com/fluxerapp/flutter_client/commit/3e721b4d576f27fb7ce143ee7a4c8674051ae2f4)) - support LaTeX / KaTeX code block rendering (@edeuss) ([26e37b8](https://github.com/fluxerapp/flutter_client/commit/26e37b8923992e5a2eef742f2cd74f9e3913399c)) - hide fluxer tag for everyone is premium (@edeuss) ([8bedd05](https://github.com/fluxerapp/flutter_client/commit/8bedd05f8e5ec8504977f5aaefd416c4ca354d75)) - handle plutonium correctly with limits (@edeuss) ([9f32042](https://github.com/fluxerapp/flutter_client/commit/9f32042fb96fd2847b10c958b029287ae756519d)) - add offline account switcher (@edeuss) ([a06bf36](https://github.com/fluxerapp/flutter_client/commit/a06bf3614f24a1980b9ed9d3303b030f30eee4e5)) - show verified badge for official instance (@edeuss) ([690969f](https://github.com/fluxerapp/flutter_client/commit/690969f2adea72b78a05632a8e21dfde79d8fb2c)) - show domain on account switcher (@edeuss) ([8ee3193](https://github.com/fluxerapp/flutter_client/commit/8ee3193051d328b1b591eab138a0eb4ef6c303ba)) - initial support for self-hosted instances (@edeuss) ([8b75190](https://github.com/fluxerapp/flutter_client/commit/8b751900e531f7ca00049410637ce2b6d571b49e)) - show start-of-channel welcome section (@M0n7y5) ([aa2e7a3](https://github.com/fluxerapp/flutter_client/commit/aa2e7a3896c2f8120633cd68d13a2d61128a924e)) - load one newer page when a user scroll settles at the bottom (@M0n7y5) ([40408be](https://github.com/fluxerapp/flutter_client/commit/40408be08eba1b3f7f80692a709585661a0b604b)) - callkit integration for background call handling (@edeuss) ([980ec98](https://github.com/fluxerapp/flutter_client/commit/980ec98ca2e6170c66c22afa1d418519e8626f29)) ## Fixes - fix: cluster group direct message icons everywhere (#390) @Jiralite - fix(channel\_jump\_link): Parity of jump hosts with desktop (#356) @Jiralite - fix(user\_settings\_modal): allow scrolling to close unimplemented settings (#387) @Jiralite - fix: show mention indicator in reply preview area (#385) @Jiralite - fix: 1-minute TTL for profile caching (#386) @Jiralite - fix: consistent profile display name and FluxerTag (#384) @Jiralite - fix: proper handling of system and bot (#382) @Jiralite - fix: `flutter analyze` errors (#383) @Jiralite - fix: preserve labels for masked channel and message links (#377) @Jiralite - fix: only hide unfurled media when message is a single link (#380) @Jiralite - fix: remove role colours for backgrounds (#373) @Jiralite - fix(guild\_navbar): centre communities in collapsed folders (#375) @Jiralite - fix: ensure login screens are mutually exclusive (#368) @Jiralite - tolerate null billing subscription fields (@M0n7y5) ([e253757](https://github.com/fluxerapp/flutter_client/commit/e253757ea177ac71fbba1154f3fb783b10c6723e)) - alerts escaping code blocks (@edeuss) ([b3185a5](https://github.com/fluxerapp/flutter_client/commit/b3185a5c7cd74e15c3d1bd8d9056cc917c0139eb)) - show emoji preview (@edeuss) ([ab30c1e](https://github.com/fluxerapp/flutter_client/commit/ab30c1e65352a56aca1a1eda9b2539f0cb2edceb)) - display correct user avatar based on profile flag (@edeuss) ([5959541](https://github.com/fluxerapp/flutter_client/commit/59595410b1e412fb549c00197a6ca1687fd08b8d)) - allow cancel inflight attachment sending (@edeuss) ([09f2e07](https://github.com/fluxerapp/flutter_client/commit/09f2e072997ff7f854dec395f031cb09aec69c1b)) - display the correct count of files being uploaded (@edeuss) ([32dbdc5](https://github.com/fluxerapp/flutter_client/commit/32dbdc58805af1c6b2212aab26ee451cf866a823)) - render blank links as normal text (@edeuss) ([c745c1b](https://github.com/fluxerapp/flutter_client/commit/c745c1bd6bfe4ef410459b954ef4d25948f90136)) - emojis in spoiler tags not displaying correctly (@edeuss) ([b034a2f](https://github.com/fluxerapp/flutter_client/commit/b034a2f8390de2f4cb432e2e03db054431133db2)) - correctly support multi-line strikethrough (@edeuss) ([2f5b2be](https://github.com/fluxerapp/flutter_client/commit/2f5b2beb765993fe24bee95bf01339dc5d9c9d52)) - provider issue (@edeuss) ([1f22b4c](https://github.com/fluxerapp/flutter_client/commit/1f22b4c50be0535ac5a1d132c7b5ba4ee781939d)) - do not auto open all links (@edeuss) ([6739897](https://github.com/fluxerapp/flutter_client/commit/673989757b5271937ab3a4ef8df893d60e0625f0)) - preserves current logged in instance (@edeuss) ([95bae57](https://github.com/fluxerapp/flutter_client/commit/95bae576161a6ed7cc29619d02a18ee31ab13086)) - remove debounce and only on continue (@edeuss) ([841ef61](https://github.com/fluxerapp/flutter_client/commit/841ef617927ace68bb622e825ed3ffef371dd929)) - check correct path non-official instance (@edeuss) ([cfb3029](https://github.com/fluxerapp/flutter_client/commit/cfb30291d4c32437fc7d59035e68b4d415008be5)) - add logs (@edeuss) ([999f2d2](https://github.com/fluxerapp/flutter_client/commit/999f2d2ad791be2266920562d5a45ac790f9de55)) - keep unread divider visible after auto-ack (@M0n7y5) ([c264c27](https://github.com/fluxerapp/flutter_client/commit/c264c2795f6b2438baf9fd318190e8f039d70b8c)) - open at the latest message to remove scroll jump and runaway load (@M0n7y5) ([75be928](https://github.com/fluxerapp/flutter_client/commit/75be928361c17d820d51384e77a0d9f96b1acf90)) - prevent scroll jumps and stalls when loading older messages (@M0n7y5) ([fc3509e](https://github.com/fluxerapp/flutter_client/commit/fc3509ea81d2f718440eee2f0e21b0e6f01e00e7)) - local background messages (@edeuss) ([b56cf89](https://github.com/fluxerapp/flutter_client/commit/b56cf8981c431ff6b7daa4ab8dcf56c0359cf053)) - background entry point (@edeuss) ([4982a27](https://github.com/fluxerapp/flutter_client/commit/4982a27d1c27143e5bd44aef250cc378b80fe35e)) - rebuild message list on a reverse list to keep scroll stable (@M0n7y5) ([9cdfdbf](https://github.com/fluxerapp/flutter_client/commit/9cdfdbfa37bd9f3c3f82f4212f08708bb4bf1f8f)) - trigger newer pagination only within range of the bottom edge (@M0n7y5) ([e35e264](https://github.com/fluxerapp/flutter_client/commit/e35e26474ac68b89ed9735a5b50b682cf2fed28a)) - don't snap to bottom when pagination reaches the live tail (@M0n7y5) ([068d44f](https://github.com/fluxerapp/flutter_client/commit/068d44f935319dc759e2fd1a3df50e41271ac128)) - keep scroll stable when appending newer messages (@M0n7y5) ([3caf52e](https://github.com/fluxerapp/flutter_client/commit/3caf52e75472733649c972e5d924f326cb8d142e)) - remove processing (@edeuss) ([eec0b09](https://github.com/fluxerapp/flutter_client/commit/eec0b09665311b7f1bd20cde17dffa814eda0435)) - stop scroll-settle re-check from chaining newer messages (@M0n7y5) ([0816489](https://github.com/fluxerapp/flutter_client/commit/0816489d0cd01323362659ee6dc3d545aa6bdb44)) - re-check pagination on scroll settle to chain edge loads (@M0n7y5) ([acd466f](https://github.com/fluxerapp/flutter_client/commit/acd466f36d10fe4cd9ed12a9d7fbd84b7c758fea)) - show passkey errors on the 2FA screen instead of failing silently (@M0n7y5) ([7c940f6](https://github.com/fluxerapp/flutter_client/commit/7c940f6751a2a25875b2ee8b4ad6d75c1a1a200c)) - surface specific login validation errors instead of a generic one (@M0n7y5) ([edf24f2](https://github.com/fluxerapp/flutter_client/commit/edf24f2125dfc592ac964a2d60a2d79342ec3afc)) - react to user and member updates in message author display (@M0n7y5) ([84651a4](https://github.com/fluxerapp/flutter_client/commit/84651a45111133b9fc2ce0a00c7e55afa0b9268b)) ## Other - perf(ui): remove Opacity saveLayer from loading spinner dots (@M0n7y5) ([ec7f7a0](https://github.com/fluxerapp/flutter_client/commit/ec7f7a009c8f575169485c549144225dffe43e0e)) - perf(chat): pause neko sprite animation while off-screen (@M0n7y5) ([278cdd0](https://github.com/fluxerapp/flutter_client/commit/278cdd0918090e0a042681f2af878427b5d4776b)) - perf(dm): scope DM list presence to per-row avatar watches (@M0n7y5) ([7d0e57d](https://github.com/fluxerapp/flutter_client/commit/7d0e57dd286fc19deebc2c437d6a8583697d2d8b)) - perf: drop saveLayer for currentColor SVGs via SvgTheme (@M0n7y5) ([b7e9cc4](https://github.com/fluxerapp/flutter_client/commit/b7e9cc4cd9c7abd476ab17dccf8545613c88fdbd)) - perf(settings): skip settings rebuilds on presence-only user updates (@M0n7y5) ([f497659](https://github.com/fluxerapp/flutter_client/commit/f49765900988c4a095d343620def2de2b69445ee)) - perf(chat): decode attachment thumbnails and video posters at display size (@M0n7y5) ([fbe170a](https://github.com/fluxerapp/flutter_client/commit/fbe170a6409cfc5dcbee2a17b794667fc1fa267d)) - perf(chat): rebuild neko sprite only on frame change (@M0n7y5) ([153011c](https://github.com/fluxerapp/flutter_client/commit/153011c5ef51b152367d9658a0b2cb577fb45ca7)) - perf(chat): hoist message invite and theme regexes to static fields (@M0n7y5) ([67714a1](https://github.com/fluxerapp/flutter_client/commit/67714a15c9bc82e07dc839442711bb2c32a43554)) - perf(gateway): batch bulk presence writes into one transaction (@M0n7y5) ([be3e576](https://github.com/fluxerapp/flutter_client/commit/be3e5763869ae7f4d78b658d796f357c25d3fbf7)) - perf(chat): skip message rebuilds on presence-only updates (@M0n7y5) ([c406ecc](https://github.com/fluxerapp/flutter_client/commit/c406ecc58c6d4330cfb6172d2378f9cbeac4e9e6)) - perf(chat): serve pagination from the drift cache and de-storm unread (@M0n7y5) ([1b2f42f](https://github.com/fluxerapp/flutter_client/commit/1b2f42fcd65e1a6248a168a54b19281f0f56750b)) - perf(chat): scope message hover overlays and hoist per-item render settings (@M0n7y5) ([a2217d2](https://github.com/fluxerapp/flutter_client/commit/a2217d2de7bead37b605d6f9e6abf93f0508b055)) - perf(gateway): batch reaction ADD_MANY into one write and enable debounce flag (@M0n7y5) ([30e7110](https://github.com/fluxerapp/flutter_client/commit/30e71105b507f1410f6ea2e4f1c49b9fb7a38ec0)) ## Fixed - [Community profile picture setting "Don't show" is not respected in chat](https://feedback.fluxer.com/p/1633/community-profile-picture-setting-don-t-show-is-not-respecte) - [Markdown alerts escape multi-line code block](https://feedback.fluxer.com/p/1571/markdown-alerts-escape-multi-line-code-block) - [Custom status emoji not displayed](https://feedback.fluxer.com/p/1762/custom-status-emoji-not-displayed) - [Cancelling the upload of \>1 image results in posting an empty message](https://feedback.fluxer.com/p/1742/cancelling-the-upload-of-1-image-results-in-posting-an-empty) - [Number of uploaded files isn't displayed properly when multiple are uploaded](https://feedback.fluxer.com/p/1739/number-of-uploaded-files-isn-t-displayed-properly-when-multi) - [LaTeX / KaTeX code block does not parse correctly](https://feedback.fluxer.com/p/1575/latex-katex-code-block-does-not-parse-correctly) - [Incorrect parsing of markdown links when visible text is blank](https://feedback.fluxer.com/p/1744/incorrect-parsing-of-markdown-links-when-visible-text-is-bla) - [Spoilered emoji do not render properly](https://feedback.fluxer.com/p/1779/spoilered-emoji-do-not-render-properly) - [Multi-line strikethrough does not parse properly](https://feedback.fluxer.com/p/1769/multi-line-strikethrough-does-not-parse-properly) - [App fails to confirm new logins](https://feedback.fluxer.com/p/1759/app-fails-to-confirm-new-logins) - [Message links don't properly embed when created from another device](https://feedback.fluxer.com/p/1569/message-links-don-t-properly-embed-when-created-from-another) - [Replies do not show @mention when viewing](https://feedback.fluxer.com/p/1549/replies-do-not-show-mention-when-viewing) - [Badges not displayed when opening a profile via direct messages](https://feedback.fluxer.com/p/1787/badges-not-displayed-when-opening-a-profile-via-direct-messa) - [Mutual communities in profile do not work](https://feedback.fluxer.com/p/1752/mutual-communities-in-profile-do-not-work) - [Users with the same display name as their username does not show as it does on Desktop](https://feedback.fluxer.com/p/1785/users-with-the-same-display-name-as-their-username-does-not) - [Users discriminator does not appear when in the channel view of a DM](https://feedback.fluxer.com/p/1784/users-discriminator-does-not-appear-when-in-the-channel-view) - [SYSTEM and BOT tags do not appear in the profile view of bot or system users](https://feedback.fluxer.com/p/1783/system-and-bot-tags-do-not-appear-in-the-profile-view-of-bot) - [Markdown links to a message do not show correctly](https://feedback.fluxer.com/p/1566/markdown-links-to-a-message-do-not-show-correctly) - [Embeds (from services such as fxtwitter) causes all written text to be hidden when using the direct media format](https://feedback.fluxer.com/p/1791/embeds-from-services-such-as-fxtwitter-causes-all-written-te) - [Profile picture with transparent background renders with a background in several places](https://feedback.fluxer.com/p/1788/profile-picture-with-transparent-background-renders-with-a-b) - [Community icons in folders aren’t centered](https://feedback.fluxer.com/p/1789/community-icons-in-folders-aren-t-centered) - [Register button via forget password does not redirect to register](https://feedback.fluxer.com/p/1786/register-button-via-forget-password-does-not-redirect-to-reg)