Skip to content

[Purchase Tester]: Persist appUserId on login screen across app launches#3266

Merged
fire-at-will merged 2 commits into
mainfrom
will/persist-app-user-id-in-purchase-tester
Mar 19, 2026
Merged

[Purchase Tester]: Persist appUserId on login screen across app launches#3266
fire-at-will merged 2 commits into
mainfrom
will/persist-app-user-id-in-purchase-tester

Conversation

@fire-at-will

@fire-at-will fire-at-will commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR updates the Purchase Tester app's login screen to remember the app user ID that you used last in the app, so that you don't need to re-type it in for every app launch :)

The persistence is on the "User ID" text field on this screen:
Screenshot 2026-03-19 at 10 40 30 AM


Note

Low Risk
Low risk: only adds persistence of a non-sensitive UI field via DataStore and threads it through existing config save flows, with minimal impact on purchase/auth logic.

Overview
The Purchase Tester app now persists the last-used appUserId in DataStore and pre-fills it on the login screen after app relaunch.

SdkConfiguration and DataStoreUtils are extended to store appUserId, login/logout flows update/clear it, and the configure screen preserves the previously saved appUserId when saving SDK settings.

Written by Cursor Bugbot for commit 26f28f4. This will update automatically on new commits. Configure here.

@fire-at-will fire-at-will marked this pull request as ready for review March 19, 2026 15:41
@fire-at-will fire-at-will requested a review from a team as a code owner March 19, 2026 15:41
@fire-at-will fire-at-will requested a review from a team March 19, 2026 15:42
@fire-at-will fire-at-will enabled auto-merge March 19, 2026 15:52
@fire-at-will fire-at-will added this pull request to the merge queue Mar 19, 2026
@codecov

codecov Bot commented Mar 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.38%. Comparing base (f628449) to head (26f28f4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3266   +/-   ##
=======================================
  Coverage   79.38%   79.38%           
=======================================
  Files         357      357           
  Lines       14347    14347           
  Branches     1959     1959           
=======================================
  Hits        11389    11389           
  Misses       2154     2154           
  Partials      804      804           

☔ 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.

Merged via the queue into main with commit 6b5e015 Mar 19, 2026
35 checks passed
@fire-at-will fire-at-will deleted the will/persist-app-user-id-in-purchase-tester branch March 19, 2026 16:16
github-merge-queue Bot pushed a commit that referenced this pull request Mar 26, 2026
**This is an automatic release.**

## RevenueCat SDK
### 🐞 Bugfixes
* [EXTERNAL] fix: ensure activity is attached before showing in-app
messages (#3274) contributed by @matteinn (#3275) via Toni Rico
(@tonidero)
* Ensure MediaPlayer has dedicated thread owner that is not the main
thread (#3148) via Jacob Rakidzich (@JZDesign)
* Fix heartbeat monitor and Slack notifications for nightly integration
tests (#3259) via Rick (@rickvdl)

## RevenueCatUI SDK
### Paywallv2
#### ✨ New Features
* Feat: Restore gating in paywalls UI (#3171) via Jacob Rakidzich
(@JZDesign)

### 🔄 Other Changes
* security: pin GitHub Actions to SHA hashes (#3272) via Alfonso
Embid-Desmet (@alfondotnet)
* Bump activesupport from 8.0.2 to 8.0.4.1 (#3270) via dependabot[bot]
(@dependabot[bot])
* Merge release PR after deploy (#3269) via Antonio Pallares
(@ajpallares)
* Require PR approval before release tagging (#3268) via Antonio
Pallares (@ajpallares)
* Bump json from 2.18.1 to 2.19.2 (#3261) via dependabot[bot]
(@dependabot[bot])
* feat(ads): update admob sample app (#3264) via Peter Porfy
(@peterporfy)
* feat(ads): add vanilla-ad-tracker-sample (#3263) via Peter Porfy
(@peterporfy)
* [Purchase Tester]: Persist appUserId on login screen across app
launches (#3266) via Will Taylor (@fire-at-will)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Mostly release automation and versioning changes, but it modifies
CI/orb references and deploy/merge automation, which could affect the
release pipeline if misconfigured.
> 
> **Overview**
> Cuts the `9.28.0` release by removing `-SNAPSHOT` across version
sources (`.version`, `gradle.properties`, `Config.frameworkVersion`) and
updating sample/test-app dependency pins to `9.28.0`.
> 
> Updates release documentation: publishes Dokka docs to the `9.28.0` S3
path, updates `docs/index.html` redirect to `9.28.0`, and rolls
`CHANGELOG.latest.md` into a new `9.28.0` section in `CHANGELOG.md`.
> 
> Tweaks release tooling/CI: pins `fastlane-plugin-revenuecat_internal`
to a specific git ref (and bumps a few Ruby deps), switches the CircleCI
`revenuecat/sdks-common-config` orb to a dev commit, and adds a
temporary `test_merge_queue` workflow to exercise
`revenuecat/merge-release-pr` with `use_merge_queue: true`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
5050888. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants