Skip to content

[Due for payment 2026-10-27] Android & iOS - Workflows - Missing and cut off workflows title #104403

Closed

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.14-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #100569
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Bug source: Pull Request QA execution
Device used: Samsung Galaxy S21/Android 15, iPhone 13/18.6.2
App Component: Other

Action Performed:

Precondition:
Having a Control WS or create one

  1. Launch Expensify App
  2. Log in with valid credentials
  3. Navigate to Workspace > Workflows > Advance

Expected Result:

All option's title are complete and can be read entire

Actual Result:

The title option "Prevent marking non-reimbursable reports as paid" is incomplete in Android showing only "Prevent marking" and in iOS is cut off showing: "Prevent marking non-reimbursable rep" preventing user to read completly

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7290531_1792436401011.BUG-ANDROID.mp4
Bug7290531_1792436401007.BUG-IOS.1.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Chandana Kiran
Bug ID: 7290531

Issue OwnerCurrent Issue Owner: @FitseTLT

Activity

  1. added
    DeployBlockerCashThis issue or pull request should block deployment
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 19, 2026
  2. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    You have been assigned to this deploy blocker because you recently merged this PR: #100569

  3. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    @stitesExpensify @FitseTLT you have been assigned to this deploy blocker because you reviewed the offending PR: #100569

  4. github-actions commented on Oct 19, 2026

    @github-actions
    Contributor

    👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

    1. Identify the pull request that introduced this issue and revert it.
    2. Find someone who can quickly fix the issue.
    3. Fix the issue yourself.
  5. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    @s77rt you have been assigned to this deploy blocker because you authored the offending PR: #100569

  6. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  7. MelvinBot commented on Oct 19, 2026

    @MelvinBot
    Contributor

    Deploy Blocker Analysis

    Causing PR: Add workspace setting to control marking non-reimbursable reports as paid (Expensify/App#100569). It's a frontend bug and I'm highly confident in this.

    Root cause: The toggle row gives the title-and-switch area a fixed height of 40px whenever shouldPlaceSubtitleBelowSwitch is set (ToggleSettingsOptionRow.tsx:282). After the pv2 padding, only one 20px line fits. The new "Prevent marking non-reimbursable reports as paid" title is the first in this section long enough to wrap on a phone, so Android and iOS clip it.

    Recommendation: fix forward, don't revert. At ToggleSettingsOptionRow.tsx:282, change styles.h10 to styles.mnh40 (minimum height 40px). Single-line rows keep the same height, and long titles can wrap. If the fix can't land in time, revert #100569.

    Investigation details
    • The PR adds the new row in ExpenseReportRulesSection.tsx:93-104. Every row in that section uses shouldPlaceSubtitleBelowSwitch and titleStyle={styles.pv2} (ExpenseReportRulesSection.tsx:225-226).
    • The title text uses lh20 (ToggleSettingsOptionRow.tsx:224-229). No numberOfLines is set, so the fixed parent height is what clips it.
    • The fixed h10 was there before this PR. The PR just added the first title too long for it. The other titles in the section ("Prevent self-approvals", "Auto-pay approved reports") fit on one line.
    • About 96 call sites use shouldPlaceSubtitleBelowSwitch. Only rows whose titles overflow today would change.
    • Alternative: if you'd rather not touch the shared component, override the height for this section through toggleContainerStyles (height: 'auto' plus mnh40), which is applied after h10.
    • I didn't recommend a revert because it would remove the whole feature (API, Onyx, report actions, tests) to fix a one-line layout bug.
    • Not tested: on wide desktop web the title fits on one line, so this likely doesn't show there.

    view run

  8. s77rt commented on Oct 20, 2026

    @s77rt
    Member

    Update: Raised PR.

  9. IuliiaHerets commented on Oct 20, 2026

    @IuliiaHerets

    Issue is no longer reproduced, comment here

  10. changed the title [-]Android & iOS - Workflows - Missing and cut off workflows title[/-] [+][Due for payment 2026-10-27] Android & iOS - Workflows - Missing and cut off workflows title[/+] on Oct 20, 2026
  11. melvin-bot commented on Oct 20, 2026

    @melvin-bot

    @FitseTLT

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.14-3 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-10-27. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]

  12. melvin-bot commented on Oct 23, 2026

    @melvin-bot

    @FitseTLT Whoops! This issue is 2 days overdue. Let's get this updated quick!

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

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2Engineering

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions