Skip to content

Fix RTL layout issues in paywall components#3493

Merged
MonikaMateska merged 4 commits into
mainfrom
tarek/rtl-timeline-fixes
May 19, 2026
Merged

Fix RTL layout issues in paywall components#3493
MonikaMateska merged 4 commits into
mainfrom
tarek/rtl-timeline-fixes

Conversation

@bilqisium

@bilqisium bilqisium commented May 18, 2026

Copy link
Copy Markdown
Contributor

Motivation

After #3425 was merged, the affected customer identified layout bugs in RTL mode.
This PR fixes the main one reported (timeline), as well as other quick-win ones.

Description

  • Fixes timeline text constraints in RTL so text starts from the correct edge without overlapping the icon.
  • Makes workflow slide transitions respect RTL layout direction.
  • Replaces remaining physical custom-layout placement calls with placeRelative.

Note

Low Risk
Low risk: changes are limited to Compose layout/constraint behavior and transition direction math, primarily affecting RTL rendering and slide animations.

Overview
Fixes several RTL rendering issues in paywall UI.

Workflow step slide animations now account for LayoutDirection so horizontal transitions reverse correctly in RTL, and call sites pass the current layout direction into workflowTransition.

Custom Modifier.layout usages were updated to use placeRelative (instead of physical place) for header overlay and top-padding helpers, and timeline constraints were rewritten to use linkTo(...) (removing end-barrier usage) so title/description text aligns from the correct edge without overlapping icons in RTL.

Reviewed by Cursor Bugbot for commit 9710048. Bugbot is set up for automated code reviews on this repo. Configure here.

@bilqisium bilqisium requested a review from a team as a code owner May 18, 2026 20:38
@bilqisium bilqisium added pr:fix A bug fix bug labels May 18, 2026

@MonikaMateska MonikaMateska 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.

Looks all good, thanks for the fix! 🙏

@codecov

codecov Bot commented May 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.89%. Comparing base (2a687ce) to head (9710048).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3493   +/-   ##
=======================================
  Coverage   79.89%   79.89%           
=======================================
  Files         369      369           
  Lines       14871    14871           
  Branches     2048     2048           
=======================================
  Hits        11881    11881           
  Misses       2157     2157           
  Partials      833      833           

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

@MonikaMateska MonikaMateska enabled auto-merge May 19, 2026 14:41
@MonikaMateska MonikaMateska added this pull request to the merge queue May 19, 2026
Merged via the queue into main with commit 0857296 May 19, 2026
36 checks passed
@MonikaMateska MonikaMateska deleted the tarek/rtl-timeline-fixes branch May 19, 2026 15:18
matteinn pushed a commit to matteinn/purchases-android that referenced this pull request Jun 5, 2026
**This is an automatic release.**

## RevenueCat SDK
### 🐞 Bugfixes
* Fix RTL layout issues in paywall components (RevenueCat#3493) via Tarek M. Ben
Lechhab (@bilqisium)

## RevenueCatUI SDK
### Paywallv2
#### 🐞 Bugfixes
* Rebuild workflow step states on color scheme change (RevenueCat#3419) via Cesar
de la Vega (@vegaro)

### 🔄 Other Changes
* Update baseline profiles (RevenueCat#3490) via RevenueCat Git Bot (@RCGitBot)
* [AUTOMATIC] Update golden test files for backend integration tests
(RevenueCat#3491) via RevenueCat Git Bot (@RCGitBot)
* [AUTOMATIC] Update golden test files for backend integration tests
(RevenueCat#3479) via RevenueCat Git Bot (@RCGitBot)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk release bookkeeping: primarily version string and
documentation deployment updates, with no functional code changes beyond
updating the reported SDK version constant.
> 
> **Overview**
> Prepares the `10.6.1` release by updating version references from
`10.7.0-SNAPSHOT` to `10.6.1` across build metadata (`.version`,
`gradle.properties`, `Config.frameworkVersion`) and sample/test app
dependency catalogs.
> 
> Updates release documentation publishing by syncing/redirecting docs
to the `10.6.1` path (`.circleci/config.yml`, `docs/index.html`) and
records the `10.6.1` release notes in `CHANGELOG.md` /
`CHANGELOG.latest.md`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
bf86700. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug pr:fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants