Commit Graph
34 Commits
Author SHA1 Message Date
spaced4ndy 110aa53c35 ios, android: hand store receipts to core, finish what it settles, and show why a held purchase is not credited yet 2026-10-06 13:34:17 +04:00
spaced4ndy 3696ec1d7f ios, android: drop the body text from the checking screen; core: clarify the unpaid record bound 2026-10-05 13:49:47 +04:00
spaced4ndy c3629d0266 core, ios, android: drop the store purchase checking state, and hide unpaid records after a week 2026-10-05 13:39:16 +04:00
spaced4ndy bdc7c64f97 core, ios, android: state the real reason in the badge purchase comments 2026-10-05 13:10:30 +04:00
spaced4ndy c53f560e2d presentUnfinished comment 2026-10-02 18:42:00 +04:00
spaced4ndy db8755ec8d ios: let the purchase state screen scroll, so Dismiss stays reachable at large text sizes 2026-10-02 18:32:51 +04:00
spaced4ndy e80e885aac ios, android: catch a failed purchase presentation, word store purchase errors, and sweep abandoned purchases on a profile switch 2026-10-02 18:28:12 +04:00
spaced4ndy c74e313d02 android: close the badge purchase screens in one step; ios, android: drop the order screen spinner 2026-10-02 17:22:52 +04:00
spaced4ndy 7844706f01 ios, android: title both issuing screens alike, and let the purchase screens be dismissed 2026-10-02 15:22:24 +04:00
spaced4ndy e9fae20118 use dev service 2026-10-02 14:56:09 +04:00
spaced4ndy 5549471f48 ios, android: show the order spinner only after a second, without a backdrop 2026-10-02 14:41:58 +04:00
spaced4ndy 59668a5f44 ios, android: lighten the order summary rows, keeping the values a step bolder 2026-10-02 14:33:35 +04:00
spaced4ndy 62fc897cca ios, android: show the order spinner only while a purchase is issued, and shorten the tier cards 2026-10-02 14:20:26 +04:00
spaced4ndy ba4da8db74 ios, android: lead the badge cards with their price, and set the order card on a grouped background 2026-10-02 14:06:00 +04:00
spaced4ndy e33a06fc32 ios, android: show progress while a badge is bought, and say the payment is complete while it is issued 2026-10-02 13:47:39 +04:00
spaced4ndy a70ab3bac5 ios, android: show the real end date and full price at badge checkout, and disable subscriptions 2026-10-02 13:39:36 +04:00
spaced4ndy 8448bc28b5 ios, android: word purchase errors for a purchase, not a code 2026-10-01 14:12:05 +04:00
spaced4ndy 94675cda8c core, ios, android: rename BadgeStorePurchase to OpenStorePurchase, and drop a dead canBuy clause 2026-10-01 13:57:12 +04:00
spaced4ndy 75e990f120 ios, android: show a pending badge purchase only on the profile that made it, and keep the buyer's alert 2026-10-01 13:46:19 +04:00
spaced4ndy e3e4709381 ui: buy a badge in the app through the App Store or Google Play (#7608)
* ui: buy a badge in the app through the App Store or Google Play

* core, ios, android: create the badge store purchase record before the store charges

* core, ios, android: fixes from the store lane review

* ios, android: show a store purchase's badge only on the profile it was credited to
2026-10-01 08:46:35 +00:00
spaced4ndy 36da024394 ui: buy a badge in the browser, with a deep link back on mobile (#7592) 2026-09-29 10:30:57 +00:00
spaced4ndy c171008229 docs: wireframes and plan for buying a badge in the app; ios, android: align the badge screens (#7572) 2026-09-25 09:59:13 +00:00
spaced4ndy 0b9ae4d6de ui: open support SimpleX screen from badge and file alerts (#7563) 2026-09-23 09:34:47 +00:00
spaced4ndy fae017d5b3 ui: show close button on badges banner only after it was opened (#7560) 2026-09-22 13:40:56 +00:00
spaced4ndy 150897d637 core, ui: alert the user when badge renewal is failing (#7532) 2026-09-22 12:55:08 +00:00
spaced4ndy a3ac420e91 ui: one banner at a time in chat list (#7554) 2026-09-21 16:51:14 +00:00
EvgenyandEvgeny @ SimpleX Chat 0183a36058 ui: update text about badges (#7544)
* ui: update text about badges

* update

* update

* update

* update

* update

* update

* update kotlin

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-19 14:16:39 +01:00
spaced4ndy c7b3e362ec core, ui: badge credential details in developer tools (#7527) 2026-09-17 16:18:04 +00:00
spaced4ndy dd5c47d02d ui: "how it works" link and card styling on badge screen (#7524) 2026-09-16 15:13:01 +00:00
spaced4ndy c52044f3c3 ui: show progress spinner on redeeming code (#7523) 2026-09-16 14:43:28 +00:00
spaced4ndy f38c7e0f2b core, ui: badge redeem errors and fixes (#7515)
- redeem errors are typed (CEBadgeRedeemError) instead of matched by text in the apps
- service timeout (A_SERVICE) decodes in the apps and offers Retry via the existing retry alert
- unexpected redeem errors show the error itself instead of a generic message
- service error codes are a typed enum in the apps (BadgeServiceErrorCode)
- CRBadgeRedeemed returns badge state, so the apps skip a second round-trip after redeem
- setBadgeAlertAcked is scoped to user_id
- badgeChanged updates non-active profiles, so other profiles' badges don't go stale
- pitch banner is not shown to a profile that already has a badge
- one badgeTypeName per platform, used by the badge screen and the badge info alert
- BadgeAlertKind and BadgeAlertPrice decode via standard JSON, no custom decoders
- dead "Support ended" title branch removed from Your Badge view
- kotlin: users from badge responses carry remoteHostId
- kotlin: redeem code field keeps the IME's cursor and composition state
- kotlin: "Get your code" shown in all flavours
- kotlin: "Don't show again" -> "Dismiss", matching iOS
- kotlin: parseBadgeCode moved next to its FFI in platform/Core.kt
- kotlin: BadgesView no longer cross-fades on badge state updates
- kotlin: section title not uppercased
- ios: redeem code field parses once per change
- ios: A_SERVICE rejected reason is not decoded
- CLI: "cannot redeem badge code: ..." with the source of the error
- comments clarified
2026-09-16 14:15:11 +00:00
spaced4ndy 6a7eae2751 ui: redeem code (#7482) 2026-09-15 14:23:13 +00:00
spaced4ndy 9c845222e4 ui: badges app store integration (#7374) 2026-08-17 16:12:09 +00:00
spaced4ndy cd670548b9 ui: badges WIP views (#7321) 2026-08-14 07:36:02 +00:00