You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[in_app_purchase_storekit] Storekit2 RestorePurchase should give a single event. #187355
Right now with storekit2, every restored purchase is an event in purchaseStream So if I have 2 purchases, I get two events.
This is unexpected and a problem for multiple reasons.
It is different from storekit1 and android behaviour. On both android and storekit1 a restore would come in as a single event with multiple purchases.
There is no way knowing when all purchases are restored. You could take a guess with some sort of timeout, but there is no way to know for sure.
There is no way knowing there is nothing to be restored. When there is nothing to restore there is no event.
It is inefficient. There is no way combining purchase restores and sending a single request to your backend due to points 2 and 3 above. Therefore, each restore is a call to your backend. Each call is probably something like: update purchase -> fetch all purchases for user -> calculate and store grants.
Proposal
RestorePurchase should give a single event with multiple purchases. Or an empty list in case there are no purchases to restore.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
saurabh-mirajkar commentedon Jun 2, 2026
@robindijkhof Thanks for the proposal. It appears to be related to #157558.
[in_app_purchase_storekit] Group purchases into a single event in sto…
github-actions commentedon Aug 26, 2026
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.