Commit Graph
20 Commits
Author SHA1 Message Date
spaced4ndy eee013dfcb core: credit store receipts from a standard work queue 2026-10-06 17:10:05 +04:00
spaced4ndy 0663f2141f core: classify an unverifiable badge credential, settle before broadcasting, and narrow the stash deletion to codes 2026-10-06 12:31:51 +04:00
spaced4ndy 8e61ee8ff2 fix compilation 2026-10-05 19:07:41 +04:00
spaced4ndy b6aa5a7f72 core: hold a store receipt until its worker credits it, report why it is not credited yet, and delete records that fund no badge after a month 2026-10-05 18:00:07 +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 dc392994bf core, badge service: share one store transaction reference, and mark a verified transaction as such 2026-10-01 15:53:20 +04:00
spaced4ndy abf775020f core, ios, android: rename BadgeStorePurchase to OpenStorePurchase 2026-10-01 13:56:29 +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 a329f51620 core: deliver a store purchase to the profile it was bought under; verify store receipts safely 2026-09-25 18:39:39 +04:00
spaced4ndy 3e2d40447a docs: mark upgradeBadgeSubscription's badgeRequest as to be dropped; trim store purchase comments 2026-09-25 17:30:59 +04:00
spaced4ndy d2b3e823d0 core: buy a badge with an App Store or Google Play purchase 2026-09-25 16:30:53 +04:00
spaced4ndy 150897d637 core, ui: alert the user when badge renewal is failing (#7532) 2026-09-22 12:55:08 +00:00
spaced4ndy c7b3e362ec core, ui: badge credential details in developer tools (#7527) 2026-09-17 16:18:04 +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 bd97e4df34 core: verify the badge ledger sent by the service (#7480) 2026-09-11 09:41:23 +00:00
spaced4ndy f9bab17643 core: renew badges monthly and alert when support ends (#7448) 2026-09-09 14:31:05 +00:00
spaced4ndy c623f4284c Merge branch 'master' into badges 2026-09-02 13:53:35 +04:00
spaced4ndy 3ddf17dce5 core: redeem badge codes (#7438) 2026-09-01 12:06:51 +00:00