fix(mobile): align home section header action to the row outer edge in RTL - #6461
Merged
iscekic merged 2 commits intoSep 21, 2026
Conversation
…n RTL Explorer finding: home-arabic-rtl: The 'الجلسات الجارية الآن' / 'عرض الكل' header row is clustered near the centre instead of being mirrored to the left/right margins, while the tab bar, session card and explore rows on the same screen are fully mirrored. The user-agent explorer found this while using the app like a user. One finding per item; the explorer never edits product code. Flow: home-arabic-rtl Found on revision: f2181ae Repro: 1. set this state first: density 240; reviews 3; credits 18; uimode night; battery 33 discharging; org; relaunch; the device in dark mode 2. open the app on emulator-5554 3. reach home-arabic-rtl 4. the capture shows the defect named below Observed: The 'الجلسات الجارية الآن' / 'عرض الكل' header row is clustered near the centre instead of being mirrored to the left/right margins, while the tab bar, session card and explore rows on the same screen are fully mirrored. Expected: the screen renders without this defect Evidence (from the device run): - ~/.local/share/kwf/findings/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb30ba/home-arabic-rtl.png
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe RTL section-header fix is a small, direction-agnostic layout change ( Files Reviewed (2 files)
Notes (non-blocking, no comment posted)
Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0 Review guidance: REVIEW.md from base branch |
Contributor
Author
|
This description names a scenario the proof did not capture:
A repeated proof run rebuilds the same evidence, so no proof run is dispatched for a named gap. Merging with this gap open is your decision. |
eshurakov
approved these changes
Sep 21, 2026
eshurakov
left a comment
Contributor
There was a problem hiding this comment.
Approved after a shallow triage pass. No blocking findings.
…s-clustered-near-7dbb3-e1a5
iscekic
deleted the
kwf/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb3-e1a5
branch
September 21, 2026 19:23
This was referenced Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog for users
عرض الكلnow sits flush with the left content margin.الجلسات الجارية الآنstays flush with the right content margin, so the header row spans both margins.See allat the right margin.Changelog for maintainers
I18nManager.isRTL; aflex-row justify-endbox aligns it to the row's outer edge in both directions.text-left/text-rightclass, so direction comes from flex layout alone.growandmax-w-full; the row keepsflex-row flex-wrap justify-between, so the two children still split the row.E2E proof
[e1] home-arabic-rtl, section header row mirrored (the fix's proof) plus the action's CTA: expected — on the Arabic home the eyebrow 'الجلسات الجارية الآن' is flush with the RIGHT margin and 'عرض الكل' is… — android emulator-5554; parked steps were unrunnable (tap 'Language' matched the 'Translate tool summaries' subtitle — Language lives under Profile → Preferences → Account), corrected in e2e-scripts.json and reset via pm clear + login.sh; the single scene call then reported 'SCENE e1 OK' (e1-scene.log:41) and its final Arabic-home digest shows the eyebrow 'الجلسات الجارية الآن' at [496,217][1044,263] flush with the content right edge 1044 and 'عرض الكل' at [37,216][478,265] flush with the page inset 37, tab bar mirrored (الرئيسية [720,2195][1080,2337], الملف الشخصي [0,2195][360,2337]) and the…
[e4] ux-check: 'عرض الكل' navigates to the Agents index and shows press feedback — android emulator-5554; tapping 'عرض الكل' on the Arabic home landed on the All Sessions/Agents index — fresh hierarchy dump e4-agents-index.xml shows tab الوكلاء selected="true" [360,2195][720,2337], header 'الجلسات النشطة: 0' [209,84][1024,130], empty state 'لا شيء قيد التشغيل الآن' [349,1146][731,1211] and the retry-free next action 'جلسة جديدة' [430,1337][589,1383]; press feedback is retained by the diff (active:opacity-70 on the Pressable, change.diff:119), but no live pressed frame could be frozen (record.sh shot returned a cached frame byte-identical to e1.png; papercut…
[e2] ux-check: Arabic (RTL) home screen — header row mirrored to both margins — android emulator-5604; e2-digest.log shows the action text line 'android.widget.TextView عرض الكل tappable [37,281][160,330]' (left edge 37 = session card left edge 37 = explore rows 36/37) and the label line 'android.widget.TextView الجلسات الجارية الآن tappable [496,282][1044,328]' (right edge 1044 = explore row right edge 1044), so the header row is mirrored to both content margins; e2.png is the still.
[e5] ux-check: largest supported font scale — header action and label not clipped or pushed off-screen — android emulator-5604; with the Android font-size slider at its maximum, e5-digest.log shows 'android.widget.TextView عرض الكل tappable [37,281][257,370]' and 'android.widget.TextView الجلسات الجارية الآن tappable [456,285][1044,366]' — both fully inside the 1080px screen, single-line, non-overlapping, label flush at the right margin; e5.png is the still. Font scale was restored to the harness canonical 1.0 afterwards.
[e3] ux-check: LTR home screen: 'See all' sits at the right content margin and its section label at the left content margin. — android emulator-5606, LTR English home screen, SCENE e3 OK: on the same row the section label 'LIVE NOW' starts at x=36 (e3-scene.log line 5) and the 'See all' action ends at x=1043 (line 6, SEE ALL text line 7), matching the screen's content margins x=36/x=1043-1044 (EXPLORE line 13, 'New coding task' button [37,602][1043,718] line 9); the label is left and the action right, no layout shift or duplicate loading indicator seen in the digest; screenshot e3.png captured for the visual reviewer (appearance is theirs, not claimed here); no UX-DEFECT observed in behavior.
E2E proof — log excerpts
/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb3-e1a5/e2e-mobile-app/e1-scene.log/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb3-e1a5/e2e-mobile-app/e4-navigate.log/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb3-e1a5/e2e-mobile-app/e4-home.txt/home/igor_kilocode_ai/.local/share/kwf/sections/explorer-home-arabic-rtl-the-header-row-is-clustered-near-7dbb3-e1a5/e2e-mobile-app/e2-digest.logOwner request
Follow-ups (not changed here)
Open findings (not fixed here)