KaChat 4.1 Changelog
Fifth build (versionCode 39). Same 4.1, more behind it again. Each section below is what that build added; everything under the last line is the original 4.1.
New in this build
Speed
The app is much quicker on an account with a lot of chats. Every row of the chat list was reading a whole message to work out one line of preview text, and when that message is a photo or a voice note the whole message is tens of kilobytes. It did that five times per row, and again every time anything on screen changed. It now reads only the first couple of thousand characters, where the answer always is, and remembers it.
Opening a chat with photos in it is quicker too. Each photo was being read four times over every time the screen redrew, even though it had already been read once.
Typing while quoting a photo no longer reads that photo again on every keystroke.
Your account details are kept in memory instead of being read back off disk and re-parsed on every one of the roughly 170 places in the app that ask for them.
Addresses
A running address scan can be left to finish. "Close and Keep Scanning" closes the sheet and lets it carry on in the background while you use the app, and it tells you what it found when it lands. Both the spending list and Cold Storage. The scan now reaches a thousand addresses deep, so waiting on it with the sheet open was a real wait.
Added in the fourth build
Notifications
A photo says "Sent a photo" instead of "New message". The apps could already word it that way and never got the chance: a push only carries the message itself when it is small enough to fit, and a photo never is, so there was nothing to read. The photo is on chain and your phone holds the key, so the notification reads it from there.
Tap a reply notification in KaPosts and the reply is actually on the post. It was often missing: the reply arrives with the notification, but the thread is loaded from the indexer, which can be seconds behind. The reply you tapped is now put on the thread directly rather than waiting for the indexer to catch up.
A notification in the KaPosts bell now asks where to open it. The unlabelled "View" button beside each one went to the block explorer while tapping the row went to the post, and the button quietly took taps meant for the row. One tap, two clearly named choices.
Added in the third build
Addresses
Discover Addresses finds a funded address however far out it sits. It was a gap-limit walk that stopped after 20 empty addresses in a row, so anything past the first gap could never be found, however many times you scanned. It sweeps the first thousand addresses whatever the gaps now, in batches, then keeps going while it keeps finding. Fewer requests than the walk it replaces, not more. Both Manage Addresses and Cold Storage.
Address Visibility responds to a tap. Every row on a page was deriving its address from your seed phrase on the main thread, fifty times over before the page could draw, and each of those runs the deliberately slow key derivation a seed phrase uses. The whole page now takes one.
Max says why when it cannot answer. During the first seconds after launch the wallet cannot read your balance yet, and Max filled in 0 and looked like a dead button. It waits and says so. It also no longer prices every UTXO at an address into one transaction, which on a busy chatting address could put the fee past the balance and return nothing.
Kaspa gift
The claim reaches the gift server again. It was calling an endpoint the server does not have, and on Android against a host that had stopped serving anything at all, so the claim could not have worked. Both phones now call the live one.
A claim the service accepts but does not pay says so, instead of reporting a gift that never arrived and marking the device as already claimed.
Attempts are limited, and a claim already in flight can no longer be started a second time by leaving the screen and coming back.
Added in the second build
Group chats
Two devices signed into the same account stop overwriting each other's member list. Adding someone on your phone no longer silently removes someone you added on your tablet, and a change made on one device reaches the other straight away instead of on its next sync.
Adding members says which member it is on and warns that it takes a minute, because every member re-keys the group on chain. It used to look like it had frozen.
Catch-up sync no longer loses a page of history when it is interrupted, and a group with a long history no longer walks the same first two thousand messages every run without ever reaching the newest.
Chats
Tap the header beside the name to jump to the very first message in a conversation. Works in 1:1 chats, group chats and broadcast rooms. The name itself still opens Chat Info.
Send Kaspa, tip someone on KaPosts or withdraw from an address, and it now finishes on the same half sheet: a checkmark, what you sent, and the transaction as a link straight to the explorer. A tip used to just close and tell you nothing.
KaPosts
Search KaPosts for posts and for the people who wrote them. People show up once they have posted at least once.
Mentions have their own switch, and the bell obeys every switch: turn a kind of notification off and it stops appearing there too.
Translation goes into the language you picked at setup, not the one your phone is set to. It was doing the opposite: English posts offered no Translate link at all, and posts in your own language were translated into English. A language the translator does not carry now shows no link rather than an error you can retry forever.
Undo hands your words back so you can fix what you caught in the five seconds, instead of throwing the post away. Replies too, quote and all.
Replies stop marching to the right as a thread deepens, and a thread now stacks the posts above it so you can walk back to the original.
Notifications and badges
Push Notifications is a single switch at the top of the Notifications screen, not buried inside Chats. It was never only about chats.
Dock badges say how many you have missed, not just that there are some, and they are round. KaPosts, Profile and Broadcasts carry the same badge in Kaspa Hub as they do in the dock.
Profile and addresses
The Chatting Address screen has one Address Actions button instead of two unlabelled icons: view the private key, view the public key, or open the address in the explorer, each with a line saying what it does.
Every Receive QR hands out an address that has never been used, without changing which address you spend from.
The spending section shows a Total across every address, always, and the balance updates as soon as something arrives rather than on the next refresh.
Portfolio
The value card and the KAS price chart answer the timeframe you picked. Tapping 1D, 1W and the rest updates the change figure with it, and the change now sits under the number instead of fighting it for room.
A fresh account starts with one portfolio to edit, not three.
Naming a cold storage import is a half sheet.
Speed
KNS names, profiles and avatars are remembered on disk, so a cold start does not ask the network for everything it already knew. Opening the chat list stops re-walking every contact's name, and identity lookups are bounded rather than running all at once.
The KNS cache is clearable from Storage, Cache.
Everything in the first 4.1 build
Chats
The chat header is rebuilt: a big avatar over a name capsule, shrunk to an overlay so it never eats the conversation, and the whole chip is tappable. Group chats and 1:1 chats now share it, connection dot in the top right included.
Chat Info is a list of cards, and every card opens into its own sheet. User Info shows one profile card with a way straight into the chat, and Group Info matches it.
Anyone can be invited to a group by address. No handshake first, no need for them to be a saved contact.
Creating a group is built around a photo, an address and one list of people instead of several.
Long press a chat to mark it, silence it or delete it.
React with any emoji you like, not just the offered ones, with a searchable picker and your recents kept.
See who reacted to a message in both 1:1 and group chats.
Silent group chats work, and mentions-only now really does mean only mentions. Mentions always notify and never carry formatting into the message.
Links in group chats are tappable, preview in place and open inside the app.
Group history survives a membership change, old key bags stay readable, and restoring a backup no longer throws away the keys to it.
Refresh Messages actually rebuilds the group and shows you it working. A refresh that recovers nothing says so instead of looking successful.
Group catch-up syncs page through history rather than taking a fixed slice, pull to refresh works on the group list, and group pushes sync like the rest.
Contact avatars load without having to open each chat first.
Speed: the message database is indexed, groups are no longer decrypted on every emission, and the chat list stops rebuilding itself mid-drag.
KaPosts
Posts support markdown, either by typing it or by tapping for it, and the composer keeps your caret in view while the keyboard is up.
Save a post as a draft and come back to it.
The post editor is a box at the top of the screen rather than taking the whole thing over.
Quoting shows the post you are quoting while you write.
A post shared out of KaChat previews as the post itself, wearing its author's face, rather than as a bare link. Sharing a post that resolves off chain opens it as a thread instead of closing itself, and "post not found" is now answerable by reading it off the chain.
Translation moved to the server, so it works the same everywhere and costs your phone nothing.
Popular ranks a real window of history instead of whatever page one happened to hold.
New posts are offered to you rather than spliced into what you are reading.
Your whole follow graph is browsable and scrollable, and the connections list is searchable.
The profile scrolls as one page, header and all, bios show three lines with More for the rest, and you can edit your KNS profile from it.
Destinations are icons, sized to be hit. Feeds switch by tapping a tab.
The connection dot and your balance stay in view across every KaPosts screen.
Scrolling and tab switching are smoother: far fewer collectors per post, and Popular scores each post once instead of once per comparison.
Payments and privacy
Chat Payment Privacy is a per-account setting now, so one account can have it on and another off.
Its description is written plainly and appears both in the wizard and under the toggle in Security.
Move an address out of Chat Payment Privacy yourself, and reservations that have been paid into are retired rather than held forever.
Each address row opens one sheet holding everything, copy address and show QR included. The three-dot menu is gone.
Manage Addresses is rebuilt on Cold Storage's shape, and the chatting address no longer appears in the spending list.
A failed balance or history lookup retries and says what happened, instead of rendering as an empty address.
A payment that fails no longer lands in your history as though it went through.
Cold Storage and KasSigner
Address Actions sits under the balance, shows its scan, and holds Address Visibility.
Discovery looks for a balance or a KNS domain, exactly the same way on both phones, and un-hides spending addresses it finds.
A kpub can be shown as a full-screen QR.
Menus are half sheets rather than popups, the header clears the status bar, and the dock stays put while you are down there.
Fixed a crash when opening a cold storage account.
Portfolio, Swap and market data
File any transaction from an address history into a portfolio, and tap a transaction to be asked what to do with it.
Duplicates are flagged before you add them, swaps included.
Network hashrate is shown in PH/s, and you can price your own miner against it. The full chart adds the current block reward and when the next step-down lands.
The portfolio's full chart shows today's change beside the value.
The Kaspa price screen converts, shows the whole rate rather than a rounded one, and the keyboard stops covering the converter.
Swap picks a payout address on its own screen.
CSV export reports what happened instead of failing silently.
Kaspa Hub and the dock
Kaspa Hub is on Android.
Customize Dock is a working picture of the real thing: the Hub grid on top, your dock along the bottom, both drawn at the sizes they actually appear. Tap something to move it between the two, hold and drag to reorder, and the tabs you pass slide aside to show you where it will land.
Kaspa Websites is a placeable tab like everything else.
The connection dot and your balance are on every main page, and tapping the dot opens a half sheet.
Show Fee Estimate moved into Customization.
Broadcasts
Tap a room's #name for everything about it.
Long press a message to see who reacted.
Avatars are always on, and hiding is per room.
Rooms are shareable, replies notify with their text, and #kaspa-romania joins the curated language rooms.
KNS
The wizard asks whether you already own a domain and takes you down the right path. Previous and Next stay in one place, the opening question and the funding gate no longer show them, and closing the setup guide returns you to Edit KNS Profile instead of tearing it down.
Sending a domain shows its progress in a half sheet.
Your Domains is always on your profile, whether or not you have a KNS profile yet.
Chat Info lists a contact's domains on their own screen, and a contact added by domain shows that domain immediately.
KNS failures read as messages rather than as a web page.
Accounts, onboarding and security
The passphrase step is three screens: whether you used one, an entry screen that shows your chatting address changing as you type, and a plain-language explanation for anyone who has never met one.
A new seed phrase is hidden behind a tap.
12 words sits on the left, 24 on the right, and neither is labelled recommended.
The saved-accounts list shows four and scrolls from the fifth, so Import Account is always reachable, with the app mark beside the KaChat wordmark and the banner's colours behind it.
Renaming or deleting an account happens in a half sheet.
The biometric switches require your biometrics to change.
About's Created date is the day the account actually arrived on this phone.
Log Out and every Danger Zone action confirm in a half sheet.
View Seed Phrase reads in red.
The setup wizard explains fees with a globe, gives clearer funding guidance, and nothing syncs until you have finished it.
Storage and Nextcloud
Storage has a Cache page: what each kind of cache is using, and clearing all of it or only the parts you choose.
Connecting Nextcloud links the KaChat folder you already have rather than making another.
A Nextcloud share stays inside the app and disappears when it is revoked, and share links stay out of chat-list previews.
Elsewhere
Every notification tap lands somewhere related to it.
A pending handshake cannot be paid for twice, and accepting one tells you what happened.
Chess draws a game with no material left to mate with.
Translation Service is its own connection setting.
Menu icons wear the same marks as they do on iPhone.
Removed 29 unused string resources and the 353 translations that came with them.