Skip to content

[Paywalls v2] Improves PaywallComponentsTemplatePreviewRecorder stability#2352

Merged
JayShortway merged 2 commits into
mainfrom
pw2-paywall-template-recorder-stability
Apr 11, 2025
Merged

[Paywalls v2] Improves PaywallComponentsTemplatePreviewRecorder stability#2352
JayShortway merged 2 commits into
mainfrom
pw2-paywall-template-recorder-stability

Conversation

@JayShortway

@JayShortway JayShortway commented Apr 10, 2025

Copy link
Copy Markdown
Member

Motivation

PaywallComponentsTemplatePreviewRecorder uses a dedicated main Dispatcher, which in turn is used by Coil to call our preview ImageLoader. Without this dedicated main Dispatcher, recording the screenshots hangs after the first template.

We've been getting some failures related to concurrently setting and resetting the main Dispatcher in CI though:

Dispatchers.Main is used concurrently with setting it

This isn't happening locally for me, but maybe CI runs the individual test cases (templates) of the parameterized test (slightly) in parallel?

In this PR we only set and reset the main Dispatcher once for all of PaywallComponentsTemplatePreviewRecorder.

…mplatePreviewRecorder, instead of for each template.
@codecov

codecov Bot commented Apr 10, 2025

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 80.27%. Comparing base (fb04e0c) to head (7e7ea2c).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2352   +/-   ##
=======================================
  Coverage   80.27%   80.27%           
=======================================
  Files         284      284           
  Lines       10104    10104           
  Branches     1423     1423           
=======================================
  Hits         8111     8111           
  Misses       1378     1378           
  Partials      615      615           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@facumenzella facumenzella left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤞

@JayShortway JayShortway added this pull request to the merge queue Apr 11, 2025
@emerge-tools

emerge-tools Bot commented Apr 11, 2025

Copy link
Copy Markdown

📸 Snapshot Test

2 modified, 414 unchanged

Name Added Removed Modified Renamed Unchanged Errored Approval
TestPurchasesUIAndroidCompatibility
com.revenuecat.testpurchasesuiandroidcompatibility
0 0 0 0 267 0 N/A
TestPurchasesUIAndroidCompatibility Paparazzi
com.revenuecat.testpurchasesuiandroidcompatibility.paparazzi
0 0 2 0 147 0 ✅ Approved

🛸 Powered by Emerge Tools

@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Apr 11, 2025
@JayShortway JayShortway added this pull request to the merge queue Apr 11, 2025
Merged via the queue into main with commit ce4339a Apr 11, 2025
@JayShortway JayShortway deleted the pw2-paywall-template-recorder-stability branch April 11, 2025 10:33
github-merge-queue Bot pushed a commit that referenced this pull request Apr 15, 2025
**This is an automatic release.**

## RevenueCat SDK
### 🐞 Bugfixes
* Add missing response fields to `CustomerInfo`. Including transaction
Prices (#2128) via Cesar de la Vega (@vegaro)

## RevenueCatUI SDK
### Paywallv2
#### 🐞 Bugfixes
* [Paywalls v2] Fixes timeline layout when width is Fit (#2354) via
JayShortway (@JayShortway)
* [Paywalls V2] Improves fuzzy matching locale when the region doesn't
match (#2355) via JayShortway (@JayShortway)
* [Paywalls V2] Norwegian Bokmål and Norwegian Nynorsk fall back to
Norwegian. (#2329) via JayShortway (@JayShortway)
### Customer Center
#### 🐞 Bugfixes
* Clean up on restoring functionality in customer center (#2316) via
Cesar de la Vega (@vegaro)

### 🔄 Other Changes
* [Paywalls v2] Adds the unsupported Background type to the error
message (#2350) via JayShortway (@JayShortway)
* [Paywalls v2] Uses a fixed date for template previews to avoid daily
changes. (#2351) via JayShortway (@JayShortway)
* [Paywalls v2] Adds a default case to `Background` and
`ButtonComponent` (#2347) via JayShortway (@JayShortway)
* [Paywalls v2] Improves `PaywallComponentsTemplatePreviewRecorder`
stability (#2352) via JayShortway (@JayShortway)
* [Paywalls v2] Adds a default case to most enums and sealed types
(#2346) via JayShortway (@JayShortway)
* Adds `EnumDeserializerWithDefault` and `SealedDeserializerWithDefault`
(#2345) via JayShortway (@JayShortway)
* [Paywalls V2] Renders template previews in a fixed resolution using
Paparazzi (#2214) via JayShortway (@JayShortway)
* Bump fastlane from 2.227.0 to 2.227.1 (#2344) via dependabot[bot]
(@dependabot[bot])
* Migrate root gradle file to KTS (#2343) via Jaewoong Eum (@skydoves)
* Migrate tester modules to KTS format (#2340) via Jaewoong Eum
(@skydoves)
* Introduce purchases-bom package (#2339) via Jaewoong Eum (@skydoves)
* [AUTOMATIC][Paywalls V2] Updates paywall-preview-resources submodule
(#2338) via RevenueCat Git Bot (@RCGitBot)
* [Diagnostics] Removes Android 7 requirement (#2335) via JayShortway
(@JayShortway)
* [Paywalls v2] Fixes `update-paywall-preview-resources-submodule` CI
job (#2337) via JayShortway (@JayShortway)
* Make purchases module to transitive dependency for the ui module
(#2334) via Jaewoong Eum (@skydoves)
* Migrate settings.gradle to KTS and add the dependency resolutions
(#2328) via Jaewoong Eum (@skydoves)

Co-authored-by: revenuecat-ops <ops@revenuecat.com>
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