-
Notifications
You must be signed in to change notification settings - Fork 108
Description
- I have updated Purchases SDK to the latest version
- I have read the Contribution Guidelines
- I have searched the Community
- I have read docs.revenuecat.com
- I have searched for existing Github issues
Describe the bug
We are developing a React Native application on iOS and using 9.6.6 versions of the library
"react-native-purchases": "9.6.6",
"react-native-purchases-ui": "9.6.6",
Currently, we are using Expo 52.
The onPurchaseCompleted callback of the RevenueCatUI/Paywall is not getting called in our paywall. The onPurchaseStarted does get called, but not the completion callback. The Paywall is shown as full screen and we are circumventing the problem via two workarounds:
- fetch customer info when application transitions to foreground after the purchase confirmation
- for code redeeming, using
addCustomerInfoUpdateListenerto catch change in customer info
Currently, we detect that purchase happened by storing a bit of state on the onPurchaseStarted callback, and checking presense of that state after fetching customer info.
We have been testing this with iOS 26 and earlier versions. When debugging with XCode, it seems that the didFinishPurchasingWithCustomerInfoDictionary in the native side of the RN library never gets called.
So I'm suspecting that the issue is somewhere in the iOS native side.
Are there any pointers to what could cause such a problem?
Thank you!
- Environment
- Platform: iOS
- SDK version: Expo 52
- OS version: iOS 26
- Xcode/Android Studio version: Xcode 26
- React Native version: 0.76.9
- SDK installation (CocoaPods + version or manual): 9.6.6
- How widespread is the issue. Percentage of devices affected. 100%
Here are some logs around the issue
(NOBRIDGE) LOG 2025-11-20T12:57:10.174Z | global.endor.app.purchases.core | DEBUG : "Will execute purchase logic provided by RevenueCat."
(NOBRIDGE) LOG onPurchaseStarted #js {:packageBeingPurchased #js {:packageType "MONTHLY", :presentedOfferingContext #js {:offeringIdentifier "default", :targetingContext nil, :placementIdentifier nil}, :identifier "$rc_monthly", :product #js {:title "Endor Staging Monthly subscription", :pricePerMonthString "22,00 €", :identifier "endor.staging.monthly.sub", :description "Endor Staging Full Access", :pricePerYearString "264,00 €", :currencyCode "EUR", :pricePerWeek 5.0600000000000005, :introPrice #js {:cycles 1, :period "P1W", :priceString "0,00 €", :periodNumberOfUnits 1, :price 0, :periodUnit "WEEK"}, :price 22, :subscriptionPeriod "P1M", :pricePerWeekString "5,06 €", :pricePerMonth 22, :priceString "22,00 €", :discounts #js [], :productCategory "SUBSCRIPTION", :pricePerYear 264, :productType "AUTO_RENEWABLE_SUBSCRIPTION"}, :offeringIdentifier "default"}, :target 118}
(NOBRIDGE) LOG 2025-11-20T12:57:10.203Z | global.endor.app.purchases.core | INFO : "RevenueCat purchase started"
(NOBRIDGE) LOG 2025-11-20T12:57:10.206Z | global.endor.app.purchases.core | INFO : "💰 Purchasing Product 'endor.staging.monthly.sub' from package in Offering 'default'"
(NOBRIDGE) LOG 2025-11-20T12:57:10.208Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Adding Product.PurchaseOption for .appAccountToken 'E902AC9B-9C6F-4F6A-8229-CDE508F2FF98'"
(NOBRIDGE) LOG 2025-11-20T12:57:11.119Z | global.endor.app.core | INFO : "AppState: inactive"
(NOBRIDGE) LOG :global.endor.app.home.core/app-state-change inactive :home
(NOBRIDGE) LOG 2025-11-20T12:57:11.131Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/user-settings logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:11.142Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:57:11.144Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Vending CustomerInfo from cache."
(NOBRIDGE) LOG 2025-11-20T12:57:11.164Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:57:11.165Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:11.166Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'restore'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM1MzAxOCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4MDE2IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDE4ODkwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MjA2OTAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJxK1c0UkdsWnNNZTdocnBnN2ViN01ZMWluWm1HS00zVHdKM1dXWllKMXFibDRLT2pjdzRRT240UnRYcHRndmtQIiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiJiOGU0YWUzNC1jMDY1LTQ1YzAtOTJhMC0xNDNiNzhhM2M4MjIiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzMzczNDUxLCJlbnZpcm9ubWVudCI6IlNhbmRib3giLCJ0cmFuc2FjdGlvblJlYXNvbiI6IlJFTkVXQUwiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjIyMDAwLCJjdXJyZW5jeSI6IkVVUiIsImFwcFRyYW5zYWN0aW9uSWQiOiI3MDUwMzA3MDg0MzAxMDY4MzIifQ.It_dnQjQS-oFpwpae78BdZB-VRB1dVSblE474fjz-tVkMLZRMD4IGLgs0nWUb-HhvC5k6y7LIIWVf4O_hD1VkA"
(NOBRIDGE) LOG 2025-11-20T12:57:11.170Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:57:11.171Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:57:11.950Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:11.954Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:11.959Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:57:22.021Z | global.endor.app.core | INFO : "AppState: active"
(NOBRIDGE) LOG :global.endor.app.home.core/app-state-change active :home
(NOBRIDGE) LOG 2025-11-20T12:57:22.038Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/user-settings logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:22.048Z | global.endor.app.api.request | DEBUG : "POST http://192.168.1.183:8080/api/v1/mind logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:22.055Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/plan logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:22.057Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:57:22.059Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Vending CustomerInfo from cache."
(NOBRIDGE) LOG 2025-11-20T12:57:22.088Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:57:22.090Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:22.091Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'restore'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM1MzAxOCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4MDE2IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDE4ODkwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MjA2OTAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJxK1c0UkdsWnNNZTdocnBnN2ViN01ZMWluWm1HS00zVHdKM1dXWllKMXFibDRLT2pjdzRRT240UnRYcHRndmtQIiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiJiOGU0YWUzNC1jMDY1LTQ1YzAtOTJhMC0xNDNiNzhhM2M4MjIiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzMzczNDUxLCJlbnZpcm9ubWVudCI6IlNhbmRib3giLCJ0cmFuc2FjdGlvblJlYXNvbiI6IlJFTkVXQUwiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjIyMDAwLCJjdXJyZW5jeSI6IkVVUiIsImFwcFRyYW5zYWN0aW9uSWQiOiI3MDUwMzA3MDg0MzAxMDY4MzIifQ.It_dnQjQS-oFpwpae78BdZB-VRB1dVSblE474fjz-tVkMLZRMD4IGLgs0nWUb-HhvC5k6y7LIIWVf4O_hD1VkA"
(NOBRIDGE) LOG 2025-11-20T12:57:22.097Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:57:22.099Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:57:22.843Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:22.851Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:22.857Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:57:23.830Z | global.endor.app.core | INFO : "AppState: inactive"
(NOBRIDGE) LOG :global.endor.app.home.core/app-state-change inactive :home
(NOBRIDGE) LOG 2025-11-20T12:57:23.852Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/user-settings logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:23.865Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:57:23.868Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Vending CustomerInfo from cache."
(NOBRIDGE) LOG 2025-11-20T12:57:23.890Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:57:23.891Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:23.893Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'restore'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM1MzAxOCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4MDE2IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDE4ODkwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MjA2OTAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJxK1c0UkdsWnNNZTdocnBnN2ViN01ZMWluWm1HS00zVHdKM1dXWllKMXFibDRLT2pjdzRRT240UnRYcHRndmtQIiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiJiOGU0YWUzNC1jMDY1LTQ1YzAtOTJhMC0xNDNiNzhhM2M4MjIiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzMzczNDUxLCJlbnZpcm9ubWVudCI6IlNhbmRib3giLCJ0cmFuc2FjdGlvblJlYXNvbiI6IlJFTkVXQUwiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjIyMDAwLCJjdXJyZW5jeSI6IkVVUiIsImFwcFRyYW5zYWN0aW9uSWQiOiI3MDUwMzA3MDg0MzAxMDY4MzIifQ.It_dnQjQS-oFpwpae78BdZB-VRB1dVSblE474fjz-tVkMLZRMD4IGLgs0nWUb-HhvC5k6y7LIIWVf4O_hD1VkA"
(NOBRIDGE) LOG 2025-11-20T12:57:23.897Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:57:23.898Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:57:24.898Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:24.907Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Sending updated CustomerInfo to delegate."
(NOBRIDGE) LOG 2025-11-20T12:57:24.912Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Detected active subscriptions changed. Clearing trial or intro eligibility cache."
(NOBRIDGE) LOG 2025-11-20T12:57:24.916Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:24.925Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PurchasedProductsFetcher: invalidating cache"
(NOBRIDGE) LOG 2025-11-20T12:57:24.927Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:57:25.021Z | global.endor.app.api.request | DEBUG : "POST http://192.168.1.183:8080/api/v1/mind logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:25.745Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:57:25.749Z | global.endor.app.purchases.core | DEBUG : "ℹ️ TransactionPoster: handling transaction '2000001061376298' for product 'endor.staging.monthly.sub' (date: 2025-11-20 12:57:22 +0000) in Offering 'default'"
(NOBRIDGE) LOG 2025-11-20T12:57:25.754Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:57:25.759Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:25.763Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'purchase'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM3NjI5OCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4Njc3IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDM0NDIwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MzYyMjAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJDTHBITmlmbWhwRVZLOVVTSm8ySE13M04vREZxczlsR3ZwRzdZN0lGRkFCZTNveVZxMmF0d0FNdEVDTmtsR3FpIiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiIzYmZmYWJkMi04YWM0LTQ0ZGYtYTNmYy1jNTI3NzQzNDcwM2IiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzNDQyNTExLCJvZmZlclR5cGUiOjEsImVudmlyb25tZW50IjoiU2FuZGJveCIsInRyYW5zYWN0aW9uUmVhc29uIjoiUFVSQ0hBU0UiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjAsImN1cnJlbmN5IjoiRVVSIiwib2ZmZXJEaXNjb3VudFR5cGUiOiJGUkVFX1RSSUFMIiwiYXBwVHJhbnNhY3Rpb25JZCI6IjcwNTAzMDcwODQzMDEwNjgzMiIsIm9mZmVyUGVyaW9kIjoiUDdEIn0.7rfB2JrXR-m6uFQCF2O4oljgdWFTNEHh4IsLYKee1I-1FOxn64lO1GxtreRFzZjsw7Pa0k0rXEBUar91UNtJEA"
(NOBRIDGE) LOG 2025-11-20T12:57:25.772Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:57:25.774Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:57:26.045Z | global.endor.app.core | INFO : "AppState: active"
(NOBRIDGE) LOG :global.endor.app.home.core/app-state-change active :home
(NOBRIDGE) LOG 2025-11-20T12:57:26.071Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/user-settings logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:26.082Z | global.endor.app.api.request | DEBUG : "POST http://192.168.1.183:8080/api/v1/mind logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:26.091Z | global.endor.app.api.request | DEBUG : "GET http://192.168.1.183:8080/api/v1/plan logged-in: true"
(NOBRIDGE) LOG 2025-11-20T12:57:26.094Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:57:26.096Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Vending CustomerInfo from cache."
(NOBRIDGE) LOG 2025-11-20T12:57:26.328Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:57:26.845Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:26.853Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:26.858Z | global.endor.app.purchases.core | INFO : "💰 Finishing transaction '2000001061376298' for product 'endor.staging.monthly.sub'"
(NOBRIDGE) LOG 2025-11-20T12:57:26.862Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:57:26.865Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:26.868Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'restore'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM3NjI5OCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4Njc3IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDM0NDIwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MzYyMjAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJxYmgySXp6alhPenFjM3AxcWlmMi9YUXE0c1I3cmR0aUVVTGZOenBUdzEvVUU3ZStWNTg2SmZFemljaGYxT3VSIiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiI2Y2UyYzdmNy1kNTI1LTRlZjgtYmZhNS01OWU3ZmQzZTQ5YzAiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzNDQ2MjIzLCJvZmZlclR5cGUiOjEsImVudmlyb25tZW50IjoiU2FuZGJveCIsInRyYW5zYWN0aW9uUmVhc29uIjoiUFVSQ0hBU0UiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjAsImN1cnJlbmN5IjoiRVVSIiwib2ZmZXJEaXNjb3VudFR5cGUiOiJGUkVFX1RSSUFMIiwiYXBwVHJhbnNhY3Rpb25JZCI6IjcwNTAzMDcwODQzMDEwNjgzMiIsIm9mZmVyUGVyaW9kIjoiUDdEIn0.ubA59NHV7of9w_O-9QqKN7TC3G1gpQ7lXsBNgI9c97up7HFj8JW5Pj5wKA7dX8Sn-93O85tSKz6OqgQhaJg8MQ"
(NOBRIDGE) LOG 2025-11-20T12:57:26.876Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:57:26.878Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:57:27.368Z | global.endor.app.purchases.core | INFO : "😻💰 Purchased product - 'endor.staging.monthly.sub'"
(NOBRIDGE) LOG 2025-11-20T12:57:27.464Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:27.478Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:27.482Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:57:27.485Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostPaywallEventsOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:57:27.488Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/events"
(NOBRIDGE) LOG 2025-11-20T12:57:27.490Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/events'"
(NOBRIDGE) LOG 2025-11-20T12:57:28.048Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/events' (200)"
(NOBRIDGE) LOG 2025-11-20T12:57:28.057Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Events flush succeeded"
(NOBRIDGE) LOG 2025-11-20T12:57:28.063Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostPaywallEventsOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:57:28.067Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/events, 0 requests left in the queue"
(NOBRIDGE) LOG 2025-11-20T12:58:18.534Z | global.endor.app.purchases.core | DEBUG : "ℹ️ StoreKit.Transaction.updates: received transaction for product 'endor.staging.monthly.sub'"
(NOBRIDGE) LOG 2025-11-20T12:58:18.539Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Found 0 unsynced attributes for App User ID: e902ac9b-9c6f-4f6a-8229-cde508f2ff98"
(NOBRIDGE) LOG 2025-11-20T12:58:18.543Z | global.endor.app.purchases.core | DEBUG : "ℹ️ TransactionPoster: handling transaction '2000001061376298' for product 'endor.staging.monthly.sub' (date: 2025-11-20 12:57:22 +0000)"
(NOBRIDGE) LOG 2025-11-20T12:58:18.547Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Skipping products request for these products because they were already cached: [\"endor.staging.monthly.sub\"]"
(NOBRIDGE) LOG 2025-11-20T12:58:18.550Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Started"
(NOBRIDGE) LOG 2025-11-20T12:58:18.552Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Posting JWS token (source: 'queue'):\neyJhbGciOiJFUzI1NiIsIng1YyI6WyJNSUlFTVRDQ0E3YWdBd0lCQWdJUVI4S0h6ZG41NTRaL1VvcmFkTng5dHpBS0JnZ3Foa2pPUFFRREF6QjFNVVF3UWdZRFZRUURERHRCY0hCc1pTQlhiM0pzWkhkcFpHVWdSR1YyWld4dmNHVnlJRkpsYkdGMGFXOXVjeUJEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURUxNQWtHQTFVRUN3d0NSell4RXpBUkJnTlZCQW9NQ2tGd2NHeGxJRWx1WXk0eEN6QUpCZ05WQkFZVEFsVlRNQjRYRFRJMU1Ea3hPVEU1TkRRMU1Wb1hEVEkzTVRBeE16RTNORGN5TTFvd2daSXhRREErQmdOVkJBTU1OMUJ5YjJRZ1JVTkRJRTFoWXlCQmNIQWdVM1J2Y21VZ1lXNWtJR2xVZFc1bGN5QlRkRzl5WlNCU1pXTmxhWEIwSUZOcFoyNXBibWN4TERBcUJnTlZCQXNNSTBGd2NHeGxJRmR2Y214a2QybGtaU0JFWlhabGJHOXdaWElnVW1Wc1lYUnBiMjV6TVJNd0VRWURWUVFLREFwQmNIQnNaU0JKYm1NdU1Rc3dDUVlEVlFRR0V3SlZVekJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCTm5WdmhjdjdpVCs3RXg1dEJNQmdyUXNwSHpJc1hSaTBZeGZlazdsdjh3RW1qL2JIaVd0TndKcWMyQm9IenNRaUVqUDdLRklJS2c0WTh5MC9ueW51QW1qZ2dJSU1JSUNCREFNQmdOVkhSTUJBZjhFQWpBQU1COEdBMVVkSXdRWU1CYUFGRDh2bENOUjAxREptaWc5N2JCODVjK2xrR0taTUhBR0NDc0dBUVVGQndFQkJHUXdZakF0QmdnckJnRUZCUWN3QW9ZaGFIUjBjRG92TDJObGNuUnpMbUZ3Y0d4bExtTnZiUzkzZDJSeVp6WXVaR1Z5TURFR0NDc0dBUVVGQnpBQmhpVm9kSFJ3T2k4dmIyTnpjQzVoY0hCc1pTNWpiMjB2YjJOemNEQXpMWGQzWkhKbk5qQXlNSUlCSGdZRFZSMGdCSUlCRlRDQ0FSRXdnZ0VOQmdvcWhraUc5Mk5rQlFZQk1JSCtNSUhEQmdnckJnRUZCUWNDQWpDQnRneUJzMUpsYkdsaGJtTmxJRzl1SUhSb2FYTWdZMlZ5ZEdsbWFXTmhkR1VnWW5rZ1lXNTVJSEJoY25SNUlHRnpjM1Z0WlhNZ1lXTmpaWEIwWVc1alpTQnZaaUIwYUdVZ2RHaGxiaUJoY0hCc2FXTmhZbXhsSUhOMFlXNWtZWEprSUhSbGNtMXpJR0Z1WkNCamIyNWthWFJwYjI1eklHOW1JSFZ6WlN3Z1kyVnlkR2xtYVdOaGRHVWdjRzlzYVdONUlHRnVaQ0JqWlhKMGFXWnBZMkYwYVc5dUlIQnlZV04wYVdObElITjBZWFJsYldWdWRITXVNRFlHQ0NzR0FRVUZCd0lCRmlwb2RIUndPaTh2ZDNkM0xtRndjR3hsTG1OdmJTOWpaWEowYVdacFkyRjBaV0YxZEdodmNtbDBlUzh3SFFZRFZSME9CQllFRklGaW9HNHdNTVZBMWt1OXpKbUdOUEFWbjNlcU1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0Jnc0JCQUlGQURBS0JnZ3Foa2pPUFFRREF3TnBBREJtQWpFQStxWG5SRUM3aFhJV1ZMc0x4em5qUnBJelBmN1ZIejlWL0NUbTgrTEpsclFlcG5tY1B2R0xOY1g2WFBubGNnTEFBakVBNUlqTlpLZ2c1cFE3OWtuRjRJYlRYZEt2OHZ1dElETVhEbWpQVlQzZEd2RnRzR1J3WE95d1Iya1pDZFNyZmVvdCIsIk1JSURGakNDQXB5Z0F3SUJBZ0lVSXNHaFJ3cDBjMm52VTRZU3ljYWZQVGp6Yk5jd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NakV3TXpFM01qQXpOekV3V2hjTk16WXdNekU1TURBd01EQXdXakIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpZeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUhZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUNJRFlnQUVic1FLQzk0UHJsV21aWG5YZ3R4emRWSkw4VDBTR1luZ0RSR3BuZ24zTjZQVDhKTUViN0ZEaTRiQm1QaENuWjMvc3E2UEYvY0djS1hXc0w1dk90ZVJoeUo0NXgzQVNQN2NPQithYW85MGZjcHhTdi9FWkZibmlBYk5nWkdoSWhwSW80SDZNSUgzTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFBd0h3WURWUjBqQkJnd0ZvQVV1N0Rlb1ZnemlKcWtpcG5ldnIzcnI5ckxKS3N3UmdZSUt3WUJCUVVIQVFFRU9qQTRNRFlHQ0NzR0FRVUZCekFCaGlwb2RIUndPaTh2YjJOemNDNWhjSEJzWlM1amIyMHZiMk56Y0RBekxXRndjR3hsY205dmRHTmhaek13TndZRFZSMGZCREF3TGpBc29DcWdLSVltYUhSMGNEb3ZMMk55YkM1aGNIQnNaUzVqYjIwdllYQndiR1Z5YjI5MFkyRm5NeTVqY213d0hRWURWUjBPQkJZRUZEOHZsQ05SMDFESm1pZzk3YkI4NWMrbGtHS1pNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVFCZ29xaGtpRzkyTmtCZ0lCQkFJRkFEQUtCZ2dxaGtqT1BRUURBd05vQURCbEFqQkFYaFNxNUl5S29nTUNQdHc0OTBCYUI2NzdDYUVHSlh1ZlFCL0VxWkdkNkNTamlDdE9udU1UYlhWWG14eGN4ZmtDTVFEVFNQeGFyWlh2TnJreFUzVGtVTUkzM3l6dkZWVlJUNHd4V0pDOTk0T3NkY1o0K1JHTnNZRHlSNWdtZHIwbkRHZz0iLCJNSUlDUXpDQ0FjbWdBd0lCQWdJSUxjWDhpTkxGUzVVd0NnWUlLb1pJemowRUF3TXdaekViTUJrR0ExVUVBd3dTUVhCd2JHVWdVbTl2ZENCRFFTQXRJRWN6TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd0hoY05NVFF3TkRNd01UZ3hPVEEyV2hjTk16a3dORE13TVRneE9UQTJXakJuTVJzd0dRWURWUVFEREJKQmNIQnNaU0JTYjI5MElFTkJJQzBnUnpNeEpqQWtCZ05WQkFzTUhVRndjR3hsSUVObGNuUnBabWxqWVhScGIyNGdRWFYwYUc5eWFYUjVNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVFzd0NRWURWUVFHRXdKVlV6QjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkpqcEx6MUFjcVR0a3lKeWdSTWMzUkNWOGNXalRuSGNGQmJaRHVXbUJTcDNaSHRmVGpqVHV4eEV0WC8xSDdZeVlsM0o2WVJiVHpCUEVWb0EvVmhZREtYMUR5eE5CMGNUZGRxWGw1ZHZNVnp0SzUxN0lEdll1VlRaWHBta09sRUtNYU5DTUVBd0hRWURWUjBPQkJZRUZMdXczcUZZTTRpYXBJcVozcjY5NjYvYXl5U3JNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01RQ0Q2Y0hFRmw0YVhUUVkyZTN2OUd3T0FFWkx1Tit5UmhIRkQvM21lb3locG12T3dnUFVuUFdUeG5TNGF0K3FJeFVDTUcxbWloREsxQTNVVDgyTlF6NjBpbU9sTTI3amJkb1h0MlFmeUZNbStZaGlkRGtMRjF2TFVhZ002QmdENTZLeUtBPT0iXX0.eyJ0cmFuc2FjdGlvbklkIjoiMjAwMDAwMTA2MTM3NjI5OCIsIm9yaWdpbmFsVHJhbnNhY3Rpb25JZCI6IjIwMDAwMDEwNTk2NDI4MjQiLCJ3ZWJPcmRlckxpbmVJdGVtSWQiOiIyMDAwMDAwMTE5MTU4Njc3IiwiYnVuZGxlSWQiOiJnbG9iYWwuZW5kb3Iuc3RhZ2luZy5pb3MiLCJwcm9kdWN0SWQiOiJlbmRvci5zdGFnaW5nLm1vbnRobHkuc3ViIiwic3Vic2NyaXB0aW9uR3JvdXBJZGVudGlmaWVyIjoiMjE2ODYzOTUiLCJwdXJjaGFzZURhdGUiOjE3NjM2NDM0NDIwMDAsIm9yaWdpbmFsUHVyY2hhc2VEYXRlIjoxNzYzNDc5NTUxMDAwLCJleHBpcmVzRGF0ZSI6MTc2MzY0MzYyMjAwMCwicXVhbnRpdHkiOjEsInR5cGUiOiJBdXRvLVJlbmV3YWJsZSBTdWJzY3JpcHRpb24iLCJkZXZpY2VWZXJpZmljYXRpb24iOiJDeC83djBWNGx1N3ZlSVBXQURFVlhnVzdTTk1TMXJucjgxOTRPYmJCUmhqWXBUNGtoUFdjaGNSTVhjZTMxK0I3IiwiZGV2aWNlVmVyaWZpY2F0aW9uTm9uY2UiOiIwYjQyNjY0OC1iNWNhLTQ2MDUtODZkMy0zYWRmMzM1OTFiNzMiLCJhcHBBY2NvdW50VG9rZW4iOiJlOTAyYWM5Yi05YzZmLTRmNmEtODIyOS1jZGU1MDhmMmZmOTgiLCJpbkFwcE93bmVyc2hpcFR5cGUiOiJQVVJDSEFTRUQiLCJzaWduZWREYXRlIjoxNzYzNjQzNDk4NDI4LCJvZmZlclR5cGUiOjEsImVudmlyb25tZW50IjoiU2FuZGJveCIsInRyYW5zYWN0aW9uUmVhc29uIjoiUFVSQ0hBU0UiLCJzdG9yZWZyb250IjoiRklOIiwic3RvcmVmcm9udElkIjoiMTQzNDQ3IiwicHJpY2UiOjAsImN1cnJlbmN5IjoiRVVSIiwib2ZmZXJEaXNjb3VudFR5cGUiOiJGUkVFX1RSSUFMIiwiYXBwVHJhbnNhY3Rpb25JZCI6IjcwNTAzMDcwODQzMDEwNjgzMiIsIm9mZmVyUGVyaW9kIjoiUDdEIn0.Ok1GtSI6DCtY28nwT7g4WT5juHT-VEc4ibUtwN_HGm6ZFg3LLoFw2dDzSznYtm6xjuuiC-_gBewEp6vKXtyaKQ"
(NOBRIDGE) LOG 2025-11-20T12:58:18.560Z | global.endor.app.purchases.core | DEBUG : "ℹ️ There are no requests currently running, starting request POST /v1/receipts"
(NOBRIDGE) LOG 2025-11-20T12:58:18.562Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request started: POST '/v1/receipts'"
(NOBRIDGE) LOG 2025-11-20T12:58:19.123Z | global.endor.app.purchases.core | DEBUG : "ℹ️ API request completed: POST '/v1/receipts' (200)"
(NOBRIDGE) LOG 2025-11-20T12:58:19.130Z | global.endor.app.purchases.core | DEBUG : "ℹ️ PostReceiptDataOperation: Finished"
(NOBRIDGE) LOG 2025-11-20T12:58:19.134Z | global.endor.app.purchases.core | INFO : "💰 Finishing transaction '2000001061376298' for product 'endor.staging.monthly.sub'"
(NOBRIDGE) LOG 2025-11-20T12:58:19.138Z | global.endor.app.purchases.core | DEBUG : "ℹ️ Serial request done: POST /v1/receipts, 0 requests left in the queue"