Skip to content

[Due for payment 2026-11-11] Spend - Trip status badge has different alignement from expense/report status badge #105386

Open

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.25.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: #104562
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: iPhone 17 Pro Max / iOS 27.0.1
App Component: Search

Action Performed:

Precondition:

  • Have at least one trip.
  1. Launch Expensify app.
  2. Go to Spend > Trip.

Expected Result:

Trip status badge will have the same alignement as expense/report status badge.

Actual Result:

Trip status badge has different alignement from expense/report status badge.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Image Image

View all open jobs on GitHub

Applause Internal Information
Exported by: Svetlana Lazutkina
Bug ID: 7299704

Issue OwnerCurrent Issue Owner: @suneox

Activity

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

    @melvin-bot

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

  3. melvin-bot commented on Oct 29, 2026

    @melvin-bot

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

  4. melvin-bot commented on Oct 29, 2026

    @melvin-bot

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

  5. melvin-bot commented on Oct 29, 2026

    @melvin-bot

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

  6. github-actions commented on Oct 29, 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.
  7. MelvinBot commented on Oct 29, 2026

    @MelvinBot
    Contributor

    Deploy Blocker Investigation

    Causing PR: 104405 trips table by suneox (high confidence). It merged 2026-10-28 and is on the current Deploy Checklist: New Expensify 2026-10-29.

    Recommendation: Roll forward with a two-line fix. Don't revert. The bug is cosmetic, the Trips table is behind a beta, and the PR adds a 53-file feature.

    Root cause: In the narrow card, the trip badge sits in a fixed 80pt box (TripListItemRow.tsx:86-88). Badge always applies alignSelfCenter (Badge.tsx:89), so the badge is centred in that box. That leaves it about 12pt short of the right edge. The expense/report card puts its badge flush right (UserInfoAndActionButtonRow.tsx:53).

    Fix:

    1. In TripStatusCell.tsx, add an optional badgeStyles prop and pass it to StatusBadge.
    2. In the narrow branch only (TripListItemRow.tsx:87), pass badgeStyles={styles.alignSelfEnd}. Leave the wide-table call at line 113 unchanged.
    Investigation details
    • Both TripListItemRow.tsx and TripStatusCell.tsx are new in this PR. Their history contains only this PR's commits.
    • TripStatusCell wraps the badge in a w100 + justifyContentCenter column (TripStatusCell.tsx:33). It copies the wide-table StatusCell (StatusCell.tsx:45). The centring is correct in the wide table but wrong in the narrow card.
    • Badge applies badgeStyles after alignSelfCenter, so alignSelfEnd overrides it.
    • The bug comes from the narrow layout, not from iOS itself. Narrow mWeb and Android likely show it too, though only iOS was reported.
    • Alternative fix: remove the w80 box and lay out the narrow row like UserInfoAndActionButtonRow (justifyContentBetween, with no fixed width on the badge wrapper).

    Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.

  8. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Oct 29, 2026
  9. stitesExpensify commented on Oct 29, 2026

    @stitesExpensify
    Contributor

    Not a blocker, new feature behind a beta

  10. suneox commented on Oct 30, 2026

    @suneox
    Contributor

    @allgandalf The PR is ready for review

  11. added and removed
    ReviewingHas a PR in review
    on Nov 4, 2026
  12. changed the title [-]Spend - Trip status badge has different alignement from expense/report status badge[/-] [+][Due for payment 2026-11-11] Spend - Trip status badge has different alignement from expense/report status badge[/+] on Nov 4, 2026
  13. melvin-bot commented on Nov 4, 2026

    @melvin-bot

    @suneox

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.31-4 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-11-11. 🎊

    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]

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

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions