[Android] Paywall Footer Becomes Unresponsive in Nested Screens After SDK 8.5.2 Update (OriginalTemplatePaywallFooterView)
• I have updated Purchases SDK to the latest version
• I have read the [Contribution Guidelines](https://github.com/RevenueCat/purchases-flutter/blob/main/CONTRIBUTING.md)
• I have searched the [Community](https://community.revenuecat.com/)
• I have read [docs.revenuecat.com](https://docs.revenuecat.com/)
• I have searched for [existing Github issues](https://github.com/RevenueCat/purchases-flutter/issues)
‼️ Required data ‼️
Environment • Output of flutter doctor: (will fill this before submission) • Version of purchases-flutter: 8.5.2+ (regression from 8.3.2) • Testing device version: Android 13, API 33 (Pixel and other devices) • How often the issue occurs: Always when navigating between nested screens with paywall footer (dev + prod) • Debug logs that reproduce the issue:
D/[Purchases] - DEBUG: ℹ️ Vending Offerings from cache
D/[Purchases] - DEBUG: ℹ️ Checking if cache is stale AppInBackground false
D/[Purchases] - DEBUG: Retrieving customer info with policy: CACHED_OR_FETCHED
D/[Purchases] - DEBUG: ℹ️ Vending CustomerInfo from cache
D/[Purchases] - DEBUG: ℹ️ Checking if cache is stale AppInBackground false
W/[Purchases]: Could not process value for variable 'sub_offer_duration' for package '$rc_annual'.
W/[Purchases]: Could not process value for variable 'sub_offer_duration' for package '$rc_monthly'.
These logs repeat infinitely when the issue occurs.
⸻
Steps to reproduce, with a description of expected vs. actual behavior
✅ Expected Behavior • The paywall footer should work across all screens, regardless of navigation depth. • Package selections should remain responsive. • No infinite loop or state issues should occur when multiple paywall footers are mounted.
❌ Actual Behavior • After updating from 8.3.2 to 8.5.2+, we replaced deprecated PaywallFooterView with OriginalTemplatePaywallFooterView. • When navigating between two or more product detail screens, each embedding a custom paywall container with a footer view: • The second screen’s paywall footer becomes unresponsive. • Selecting packages is impossible. • The debug logs (shown above) loop infinitely in the console.
Describe the bug
When using a custom container that embeds OriginalTemplatePaywallFooterView, the paywall footer works initially on a product details screen. However, if the user navigates to a related product (another screen of the same type), the new screen’s paywall footer becomes unresponsive, and infinite RevenueCat logs begin printing in the console. This appears to be caused by shared state or improper disposal when multiple instances of OriginalTemplatePaywallFooterView are mounted.
Downgrading to version 8.3.2 resolves the issue.
Additional context • The issue is Android-specific; iOS has not exhibited this behavior so far. • Reproduced on multiple Android devices and emulators. • Possibly related to the way OriginalTemplatePaywallFooterView handles internal subscriptions or cache refresh when mounted multiple times. • We use a custom container that wraps the paywall footer for styling/layout needs.
👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!
Hi, thank you for reporting this! We will look into what you are seeing here but can you please share your code for your paywall as well as the custom container?
Hi HaleyRevcat,
Here is my code snippet
class UnlockPremiumFeature extends StatelessWidget { const UnlockPremiumFeature( {super.key, // required this.onTileTapped, // required this.selectedProductIdentifier, required this.title, required this.description, this.subscriptionStatus, this.showTitleAsWell = true, this.type = "premium"});
// final String selectedProductIdentifier; // final void Function(String productIdentifier) onTileTapped; final String title; final String description; final bool showTitleAsWell; final BaseStatus? subscriptionStatus; final String type;
/// Retrieves the appropriate offerings based on user data. Offering? _getOfferings() { return getIt<SubscriptionCubit>().getCurrentOffering(); }
bool _isSfmUser() { return (getIt<UserData>().isSfmUser() && getIt<UserData>().isCouponAvailable()); }
@override Widget build(BuildContext context) { final offerings = _getOfferings(); final isSfm = _isSfmUser(); if (offerings == null) { return Center( child: Text(AppLocalizations.of(context)!.offeringsNotAvailable), ); // Return an empty widget if offering is null }
return _buildUPF(context, offerings, isSfm);
}
Widget _buildUPF(BuildContext context, Offering offerings, bool isSfm) { return SizedBox( height: 580, child: PaywallFooterView( key: ValueKey('paywall-footer-$title'), offering: offerings, contentCreator: (double bottomPadding) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: [ if (showTitleAsWell) Padding( padding: EdgeInsets.only(bottom: 12.h), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ Image.asset( AppImages.locked, width: 20.w, height: 20.w, ), SizedBox( width: 8.h, ), Text( title, style: Theme.of(context) .textTheme .titleLarge! .merge(AppFonts.heading3), ), ], ), ), Expanded( flex: 1, child: Container( alignment: Alignment.center, decoration: const BoxDecoration( image: DecorationImage( image: AssetImage( AppImages.premiumProductBg, ), fit: BoxFit.fitWidth, alignment: Alignment.center)), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( type == "premium" ? AppImages.skinsafePremium : AppImages.ingredientsPaywallImage, width: 200.w, fit: BoxFit.contain, ), SizedBox( height: 6.h, ), Text( AppLocalizations.of(context)!.unlockSafeForMe, style: Theme.of(context) .textTheme .bodyMedium! .merge(AppFonts.heading1) .copyWith( fontSize: 14.sp, height: 1.2, ), ), Padding( padding: EdgeInsets.symmetric( horizontal: 40.w, vertical: 15.h), child: SizedBox( width: double.infinity, child: Text.rich( textAlign: TextAlign.center, TextSpan( text: "$title ", style: Theme.of(context) .textTheme .bodyMedium! .merge(AppFonts.heading1) .copyWith( fontSize: 12.sp, height: 1.2, ), children: [ TextSpan( text: description, style: Theme.of(context) .textTheme .bodySmall! .merge(AppFonts.bodySmall) .copyWith( letterSpacing: 0.2, height: 1.2, )) ]), ), ), ), ], ), ), ), ], ); }, onPurchaseStarted: (package) { String roadblockName = ""; if (title.toLowerCase().contains("product is not")) { roadblockName = RoadBlockSource.productIsNot.value; } else if (title.toLowerCase().contains("ingredient is not")) { roadblockName = RoadBlockSource.ingredientIsNot.value; } else { roadblockName = RoadBlockSource.ingredientsNotSafeForMe.value; }
final user = getIt<UserData>().user;
getIt<AnalyticsManager>()
.logAnalyticEvent(AnalyticsEvent.roadBlockSubscription, {
EventParams.ssin.param: user?.ssin,
EventParams.userType.param: user?.toUserType(),
EventParams.roadBlock.param: roadblockName,
});
},
onPurchaseCompleted:
(CustomerInfo customerInfo, StoreTransaction transaction) async {
await getIt<SubscriptionCubit>().subscriptionPurchaseSuccess(
RoadBlockSource.overlayFeedAll.value,
transaction,
customerInfo.activeSubscriptions[0]);
},
onPurchaseError: (PurchasesError error) {
getIt<SubscriptionCubit>().subscriptionPurchaseFailed();
},
onDismiss: () {},
),
);
}
}
On 23-May-2025, at 23:48, HaleyRevcat @.***> wrote:
HaleyRevcat left a comment (RevenueCat/purchases-flutter#1346) https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312 Hi, thank you for reporting this! We will look into what you are seeing here but can you please share your code for your paywall as well as the custom container?
— Reply to this email directly, view it on GitHub https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2OSVTHFIE3ZDMD53NEAJH3275UP7AVCNFSM6AAAAAB5PXSDJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMBVGQ3TIMZRGI. You are receiving this because you authored the thread.
Hey there, I’m waiting for your response. Below are more details about the issue
Flutter packages I’m using in pubspec.yaml purchases_flutter: 8.8.1 purchases_ui_flutter: 8.8.1
I have implemented the RevenueCat Paywall V2,

I’m able to see the paywall inside my app UI, you can see below 
As you can see, the Product Detail screen in my app works fine when there’s only a single screen in the navigation stack. However, in flows where the user navigates to nested product screens, and multiple Product Detail screens are open, the package selection functionality stops working—users are unable to select any packages.
And in the console, I received these logs continuously in a loop; it appears it fetch data from the cache D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Offerings cache is stale, updating from network in foreground D/[Purchases] - DEBUG(12514): 😻 Start Offerings update from network. D/[Purchases] - DEBUG(12514): Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ CustomerInfo cache is stale, updating from network in foreground. D/[Purchases] - DEBUG(12514): ℹ️ Updating pending purchase queue
D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Offerings cache is stale, updating from network in foreground D/[Purchases] - DEBUG(12514): 😻 Start Offerings update from network. D/[Purchases] - DEBUG(12514): Same call already in progress, adding to callbacks map with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ CustomerInfo cache is stale, updating from network in foreground. D/[Purchases] - DEBUG(12514): ℹ️ Updating pending purchase queue I/kincare.scanne(12514): Background concurrent copying GC freed 13MB AllocSpace bytes, 26(1856KB) LOS objects, 49% free, 16MB/32MB, paused 341us,351us total 214.293ms D/OpenGLRenderer(12514): setSurface called with nullptr D/[Purchases] - DEBUG(12514): API request started: GET /subscribers/408396/offerings D/[Purchases] - DEBUG(12514): API request completed with status: GET /subscribers/408396/offerings 304 D/[Purchases] - DEBUG(12514): ℹ️ Requesting products from the store with identifiers: com.skinsafeproducts.skinsafe.monthly, com.skinsafeproducts.skinsafe.yearly D/[Purchases] - DEBUG(12514): ℹ️ Requesting products from the store with identifiers: com.skinsafeproducts.skinsafe.monthly, com.skinsafeproducts.skinsafe.yearly D/[Purchases] - DEBUG(12514): ℹ️ Querying purchases D/[Purchases] - DEBUG(12514): ℹ️ Querying purchases
E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 35 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1226ms; Flags=0, FrameTimelineVsyncId=2686958, IntendedVsync=87474558560383, Vsync=87475191893729, InputEventId=0, HandleInputStart=87475193803596, AnimationStart=87475193811596, PerformTraversalsStart=87475746027981, DrawStart=87475746270981, FrameDeadline=87474591893717, FrameInterval=87475193478289, FrameStartTime=16666667, SyncQueued=87475776518827, SyncStart=87475783172366, IssueDrawCommandsStart=87475783460673, SwapBuffers=87475785279058, FrameCompleted=87475791402904, DequeueBufferDuration=0, QueueBufferDuration=2187539, GpuCompleted=87475791402904, SwapBuffersCompleted=87475788635673, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 38 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1221ms; Flags=0, FrameTimelineVsyncId=2686968, IntendedVsync=87475208119909, Vsync=87475791453254, InputEventId=0, HandleInputStart=87475795864519, AnimationStart=87475795872058, PerformTraversalsStart=87476388194904, DrawStart=87476388443289, FrameDeadline=87475241453243, FrameInterval=87475795497596, FrameStartTime=16666667, SyncQueued=87476424253366, SyncStart=87476430960519, IssueDrawCommandsStart=87476431261366, SwapBuffers=87476432445827, FrameCompleted=87476435936366, DequeueBufferDuration=0, QueueBufferDuration=2303077, GpuCompleted=87476434743519, SwapBuffersCompleted=87476435936366, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 41 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1324ms; Flags=0, FrameTimelineVsyncId=2686976, IntendedVsync=87475807772272, Vsync=87476441105618, InputEventId=0, HandleInputStart=87476442709750, AnimationStart=87476442716596, PerformTraversalsStart=87477091565366, DrawStart=87477091886673, FrameDeadline=87475841105606, FrameInterval=87476442441212, FrameStartTime=16666667, SyncQueued=87477124895596, SyncStart=87477131200289, IssueDrawCommandsStart=87477131363058, SwapBuffers=87477134247673, FrameCompleted=87477138363750, DequeueBufferDuration=0, QueueBufferDuration=1248307, GpuCompleted=87477138363750, SwapBuffersCompleted=87477136450827, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false
On 23-May-2025, at 23:48, HaleyRevcat @.***> wrote:
HaleyRevcat left a comment (RevenueCat/purchases-flutter#1346) https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312 Hi, thank you for reporting this! We will look into what you are seeing here but can you please share your code for your paywall as well as the custom container?
— Reply to this email directly, view it on GitHub https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2OSVTHFIE3ZDMD53NEAJH3275UP7AVCNFSM6AAAAAB5PXSDJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMBVGQ3TIMZRGI. You are receiving this because you authored the thread.
Hi HaleyRevcat,
I would appreciate an update on this as soon as possible.
Thanks
On 29-May-2025, at 14:24, NOMAN KHAN @.***> wrote:
Hey there, I’m waiting for your response. Below are more details about the issue
Flutter packages I’m using in pubspec.yaml purchases_flutter: 8.8.1 purchases_ui_flutter: 8.8.1
I have implemented the RevenueCat Paywall V2,

I’m able to see the paywall inside my app UI, you can see below 
As you can see, the Product Detail screen in my app works fine when there’s only a single screen in the navigation stack. However, in flows where the user navigates to nested product screens, and multiple Product Detail screens are open, the package selection functionality stops working—users are unable to select any packages.
And in the console, I received these logs continuously in a loop; it appears it fetch data from the cache D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Offerings cache is stale, updating from network in foreground D/[Purchases] - DEBUG(12514): 😻 Start Offerings update from network. D/[Purchases] - DEBUG(12514): Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ CustomerInfo cache is stale, updating from network in foreground. D/[Purchases] - DEBUG(12514): ℹ️ Updating pending purchase queue
D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Offerings cache is stale, updating from network in foreground D/[Purchases] - DEBUG(12514): 😻 Start Offerings update from network. D/[Purchases] - DEBUG(12514): Same call already in progress, adding to callbacks map with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Request already scheduled with jitter delay, adding existing callbacks to unjittered request with key: BackgroundAwareCallbackCacheKey(cacheKey=[/subscribers/408396/offerings], appInBackground=false) D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ CustomerInfo cache is stale, updating from network in foreground. D/[Purchases] - DEBUG(12514): ℹ️ Updating pending purchase queue I/kincare.scanne(12514): Background concurrent copying GC freed 13MB AllocSpace bytes, 26(1856KB) LOS objects, 49% free, 16MB/32MB, paused 341us,351us total 214.293ms D/OpenGLRenderer(12514): setSurface called with nullptr D/[Purchases] - DEBUG(12514): API request started: GET /subscribers/408396/offerings D/[Purchases] - DEBUG(12514): API request completed with status: GET /subscribers/408396/offerings 304 D/[Purchases] - DEBUG(12514): ℹ️ Requesting products from the store with identifiers: com.skinsafeproducts.skinsafe.monthly, com.skinsafeproducts.skinsafe.yearly D/[Purchases] - DEBUG(12514): ℹ️ Requesting products from the store with identifiers: com.skinsafeproducts.skinsafe.monthly, com.skinsafeproducts.skinsafe.yearly D/[Purchases] - DEBUG(12514): ℹ️ Querying purchases D/[Purchases] - DEBUG(12514): ℹ️ Querying purchases
E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 35 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1226ms; Flags=0, FrameTimelineVsyncId=2686958, IntendedVsync=87474558560383, Vsync=87475191893729, InputEventId=0, HandleInputStart=87475193803596, AnimationStart=87475193811596, PerformTraversalsStart=87475746027981, DrawStart=87475746270981, FrameDeadline=87474591893717, FrameInterval=87475193478289, FrameStartTime=16666667, SyncQueued=87475776518827, SyncStart=87475783172366, IssueDrawCommandsStart=87475783460673, SwapBuffers=87475785279058, FrameCompleted=87475791402904, DequeueBufferDuration=0, QueueBufferDuration=2187539, GpuCompleted=87475791402904, SwapBuffersCompleted=87475788635673, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 38 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1221ms; Flags=0, FrameTimelineVsyncId=2686968, IntendedVsync=87475208119909, Vsync=87475791453254, InputEventId=0, HandleInputStart=87475795864519, AnimationStart=87475795872058, PerformTraversalsStart=87476388194904, DrawStart=87476388443289, FrameDeadline=87475241453243, FrameInterval=87475795497596, FrameStartTime=16666667, SyncQueued=87476424253366, SyncStart=87476430960519, IssueDrawCommandsStart=87476431261366, SwapBuffers=87476432445827, FrameCompleted=87476435936366, DequeueBufferDuration=0, QueueBufferDuration=2303077, GpuCompleted=87476434743519, SwapBuffersCompleted=87476435936366, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. E/FrameEvents(12514): updateAcquireFence: Did not find frame. I/Choreographer(12514): Skipped 41 frames! The application may be doing too much work on its main thread. I/OpenGLRenderer(12514): Davey! duration=1324ms; Flags=0, FrameTimelineVsyncId=2686976, IntendedVsync=87475807772272, Vsync=87476441105618, InputEventId=0, HandleInputStart=87476442709750, AnimationStart=87476442716596, PerformTraversalsStart=87477091565366, DrawStart=87477091886673, FrameDeadline=87475841105606, FrameInterval=87476442441212, FrameStartTime=16666667, SyncQueued=87477124895596, SyncStart=87477131200289, IssueDrawCommandsStart=87477131363058, SwapBuffers=87477134247673, FrameCompleted=87477138363750, DequeueBufferDuration=0, QueueBufferDuration=1248307, GpuCompleted=87477138363750, SwapBuffersCompleted=87477136450827, DisplayPresentTime=527031002288, D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): ℹ️ Vending Offerings from cache D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false D/[Purchases] - DEBUG(12514): Retrieving customer info with policy: CACHED_OR_FETCHED D/[Purchases] - DEBUG(12514): ℹ️ Vending CustomerInfo from cache. D/[Purchases] - DEBUG(12514): ℹ️ Checking if cache is stale AppInBackground false
On 23-May-2025, at 23:48, HaleyRevcat @.***> wrote:
HaleyRevcat left a comment (RevenueCat/purchases-flutter#1346) https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312 Hi, thank you for reporting this! We will look into what you are seeing here but can you please share your code for your paywall as well as the custom container?
— Reply to this email directly, view it on GitHub https://github.com/RevenueCat/purchases-flutter/issues/1346#issuecomment-2905474312, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2OSVTHFIE3ZDMD53NEAJH3275UP7AVCNFSM6AAAAAB5PXSDJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMBVGQ3TIMZRGI. You are receiving this because you authored the thread.
@RCGitBot @HaleyRevcat @tonycosentini: Any response or update on this? How can I resolve this issue??
Hi @victor-25 apologies for the delay here. Thank you for this information, we will review this and get back to you shortly.
Reopening issue. It was closed due to a failing automation. Sorry about that.
Hi @victor-25 apologies for the delay here. I saw this GitHub issue was still open. We discussed this internally via a support ticket that the fix was released in version 8.10.6 but never received a response. Please let us know if upgrading fixes this for you and if you have any questions! I also recommend using our most recent 8.11.0.