⚡ Mostro Mobile v1.4.1
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 1 new feature(s):
We also squashed 14 bug(s) 🐛:
- fix: stop one chat conversation from showing as two chat rooms (#709) (0381ff8)
- fix: re-issue open REQs when a relay comes back alive (#707) (4c0e57c)
- fix: expose order.status on a pending order you created (#680) (e84a30a)
- fix: reset the replay budget for each new recovery generation (fe78cc6)
- fix: drop rejected admin messages before they disarm the take timeout (b501525)
- fix: reject admin resolutions naming a dispute this order does not track (26d7558)
- fix: cap chained sync replays to prevent unbounded history reads from rejected resolutions (b709710)
- fix: remove sync replay cap to prevent premature hydration with pending resolutions (cc8f4cf)
- fix: prevent failed sync from claiming hydration and dropping recovery for rejected admin resolutions (e8c463a)
- fix: require tracked Dispute object to authorize admin resolutions, not just dispute status (500ae81)
- fix: suppress side effects when admin dispute actions are rejected for lack of evidence (02c4f5e)
- fix: reword dispute resolution messages to attribute outcomes to admin and prompt wallet confirmation (864a725)
- fix: keep admin-canceled orders visible under the canceled filter (2664803)
- fix: reject forged or replayed admin resolutions without dispute evidence (efa241d)
Documentation
- docs: clarify MostroFSM is not wired and explain actual order status derivation (5ae7cae)
- i18n: clarify admin attribution in dispute resolution messages across all locales (70cd782)
Performance improvements
- perf: default the orders transport to v2 (NIP-44 kind 14) (#704) (ef3aad3)
- perf: run per-message verify and decrypt off the main isolate (#705) (8385a8e)
- perf: skip re-verifying and re-decrypting already-unwrapped envelopes (#702) (2406e47)
- perf: run media sanitizing and file crypto off the main isolate (#703) (65a5801)
- perf: cache NIP-44 conversation keys per key pair (#701) (cd7533a)
- perf: cache key derivation and make session ECDH lazy (#700) (4fdbed3)
- perf: unread indicators through providers instead of per-build futures (#699) (87f72ab)
- perf: cut per-build chat render costs (#697) (1c8a523)
- perf: cheaper order cards and scoped list tickers (#698) (fc1543a)
- perf: skip resubscribing when the session filter identity is unchanged (#696) (0a15a86)
- perf: recompute the trades list only when its real inputs change (#695) (c65cc5d)
- perf: value equality for Order/PaymentFailed and no-op state guards (#694) (c2166a5)
- perf: timer hygiene for settings poll, countdown and NWC health (#690) (ecf8c13)
- perf: dedupe and coalesce order book emissions (#691) (fbd3e93)
- perf: O(1) order event lookups and per-order public event listeners (#693) (0a210cc)
- perf: value equality for Settings and scoped settings watchers (#689) (473a1e9)
- perf: debounce background switch and ignore inactive lifecycle blips (#688) (c237a18)
- perf: remove dead work from event and rebuild hot paths (#687) (c5ef339)
- perf: honour log level and remove per-call logging cost (#686) (0d20833)
- perf: switch bottom nav tabs with go instead of push (#685) (bae9c07)
- perf: build AppTheme.theme once instead of per access (#684) (708ca21)
- perf: reuse the shared SubscriptionManager in RelaysNotifier (#683) (b9a066f)
Testing
- test: pin the guard order against the taker-reputation notice (df6a4bf)
📥 Install
Download the APK for your device architecture below:
mostro-v1.4.1-arm64-v8a.apk— most modern Android phones (64-bit)mostro-v1.4.1-armeabi-v7a.apk— older Android phones (32-bit)
The
.aab(Android App Bundle) is for Google Play Store distribution.
🖥️ Desktop
Linux and macOS builds are triggered separately and will be attached to this release shortly.
📋 Full Changelog
See CHANGELOG.md for the complete history.