Skip to content

Conversation

@JZDesign
Copy link
Contributor

@JZDesign JZDesign commented Dec 11, 2025

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-android and hybrids

Motivation

The initial fallback paywall was not good. This was the list of goals I gathered from the team

  • Loading state is not the blurred image
  • Fallback paywall looks better
  • Errors are clear in debug mode
  • We can literally delete the image used in the old fallback paywall (it's actually very large)

Description

This adds a new fallback paywall if the paywall can't render for configuration reasons. Some things to note:

  • Accent color is inferred based on app icon image colors
  • The fallback paywall will work on macOS
  • One of the goals is to remove the giant background asset
  • The warning paywall only shows in a debug configuration, where the actual fallback paywall will show in a release configuration

Example Images

Click to expand the list

[!NOTE]
These screen shots were from before some changes, But they are very close.

Fallback Paywall

Title Light Dark
iPad Sheet sheet sheet_dark
iPad FullScreen full full dark
Loading State loading loading dark
Mac mac Mac dark

Debug Paywall

Title Light Dark
iPad sheet iPad sheet iPad sheet dark
iPad full iPad full iPad full dark
Mac mac Mac dark

TODO:

Tests to remove and/or replace:

  • OtherPaywallViewTests.swift (the previews replace this — though emerge doesn't properly display the colors due to timing)
  • PaywallViewLocalizationTests? -- They use the background image we want to delete
  • Template4ViewTests -- They use the background image we want to delete
  • Remove old snapshot test files -- There are gitignored files (I think) for the images we need to ensure we remove
  • Remove the background asset… and update snapshot tests
  • We need to do this on Android
  • Share some of the App Icon and App name logic with Customer Center
  • Localize the default paywall buttons

@emerge-tools
Copy link

emerge-tools bot commented Dec 11, 2025

1 build increased size

Name Version Download Change Install Change Approval
RevenueCat
com.revenuecat.PaywallsTester
1.0 (1) 16.8 MB ⬆️ 37.6 kB (0.22%) 60.0 MB ⬆️ 172.6 kB (0.29%) N/A

RevenueCat 1.0 (1)
com.revenuecat.PaywallsTester

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 172.6 kB (0.29%)
Total download size change: ⬆️ 37.6 kB (0.22%)

Largest size changes

Item Install Size Change
DYLD.String Table ⬆️ 260.8 kB
📝 [email protected] ⬆️ 22.0 kB
DYLD.Exports ⬆️ 7.2 kB
📝 RevenueCatUI.AppIconDetailProvider.AppIconDetailProvider ⬆️ 4.9 kB
Code Signature ⬆️ 3.8 kB
View Treemap

Image of diff


🛸 Powered by Emerge Tools

Comment trigger: Size diff threshold of 100.00kB exceeded

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could probably remove the changes in this file… but I had an AI tell me what these meant so I could understand things better

@JZDesign
Copy link
Contributor Author

@RCGitBot please test

@JZDesign
Copy link
Contributor Author

@RCGitBot please test

@emerge-tools
Copy link

emerge-tools bot commented Dec 12, 2025

📸 Snapshot Test

10 added, 241 unchanged

Name Added Removed Modified Renamed Unchanged Errored Approval
RevenueCat
com.revenuecat.PaywallsTester
10 0 0 0 241 0 ✅ Approved

🛸 Powered by Emerge Tools

@RevenueCat-Danger-Bot
Copy link

2 Warnings
⚠️ This PR increases the size of the repo by more than 100.00 KB (increased by 103.71 KB).
⚠️ Please keep RevenueCat.xcodeproj in sync with Tuist-generated changes.

The following Swift files were added but don't appear to be included in RevenueCat.xcodeproj:
• RevenueCatUI/Helpers/DualColorImageGenerator.swift

If you've changed files using the tuist project, make sure those changes are added to RevenueCat.xcodeproj, or double-check if they should be excluded.

Generated by 🚫 Danger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants