v0.9.3 — no more stuck 'key package' banner
Seamless update from any 0.9.x build — same signing key, so F-Droid updates in place (no reinstall).
🐛 Fixes
- No more stuck "No matching key package" banner (#446). The red top banner reading
"No matching key package was found in the key store" could appear during ordinary group
catch-up — when a member is briefly offline, reinstalled, or their key package was already
consumed — and stay stuck even though nothing was actually wrong. These benign reconcile
errors are now filtered, so the banner only shows for a real, actionable failure
(e.g. you genuinely can't be added to a group). - Failed group sends now read as "catching up", not broken (#446). If a group message
fails to send right after a restore/reinstall (you're briefly behind the group's MLS epoch),
the app shows "catching up with the group — tap the message to retry in a moment" and kicks
a catch-up automatically. 1:1 sends keep the plain "send failed — tap the message to retry".
🔁 Other
- CI hardening (#449). The test workflow can now be re-run by hand (
workflow_dispatch) so a
PR whose checks were dropped during a GitHub Actions webhook throttle can be unblocked without
an empty commit. Added a unit test for the send-failure copy. No app-facing change.