Skip to content

onPurchaseCompleted not called #1498

@viesti

Description

@viesti

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 addCustomerInfoUpdateListener to 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!

  1. Environment
    1. Platform: iOS
    2. SDK version: Expo 52
    3. OS version: iOS 26
    4. Xcode/Android Studio version: Xcode 26
    5. React Native version: 0.76.9
    6. SDK installation (CocoaPods + version or manual): 9.6.6
    7. 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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions