mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-12 11:38:01 +00:00
core: claim a store-listed transaction only on the device that bought it
A store account's purchases are listed on every device signed into it: Play's purchase query lists active subscriptions for their whole life, and Apple's Transaction.updates delivers auto-renewables made on other devices. A hand-over with no record and an unknown echoed invoice made a new record under the presenting profile, so another device could claim a buyer's subscription for its own active profile, or repeat a refused request every 30 days after cleanup. /_badge purchase now takes a `listed` mark, which the apps' sweeps and purchase listeners send: it joins only a record this core already has for the transaction or its echoed invoice, and otherwise records and sends nothing (CRStoreReceiptNotRecorded). The purchase call and Restore hand over unmarked, as before. Run: 003-badge-subscriptions-ui, slice 4
This commit is contained in:
1 parent
f126ef075d
commit
c91df49dad
7 files changed
+69
-26
No files matched your search
@@ -208,6 +208,7 @@ undocumentedResponses =
|
||||
"CRSndStandaloneFileCreated",
|
||||
"CRSQLResult",
|
||||
"CRStandaloneFileInfo",
|
||||
"CRStoreReceiptNotRecorded",
|
||||
"CRTagsUpdated",
|
||||
"CRUsageConditions",
|
||||
"CRUserPrivacy",
|
||||
|
||||
Reference in new issue
Block a user