Skip to content

[Due for payment 2026-04-23] Reports - No unreported expenses page doesn't fit on landscape and doesn't scroll #87331

Closed

Description

@jponikarchuk

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 9.3.54-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: #85229 and https://test-management.browserstack.com/projects/2219752/folder/13176730/test-cases/41237114
Email or phone of affected tester (no customers): gatantm+6320@gmail.com
Issue reported by: Applause Internal Team
Bug source: Regression TC Execution
Device used: iPhone 12.mini, iOS 16.7
App Component: Money Requests

Action Performed:

  1. Launch the app and login with any account being on landscape mode
  2. Tap on FAB and tap Create report
  3. Tap on Add expenses
  4. Select Add unreported expenses (if there are unreported expenses add all and repeat this step)

Expected Result:

The page fits the screen without overlap

Actual Result:

The page doesn't fit the screen with the CTA been overlapped by the home bar but there's no scrolling on it

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Video.mp4
Image

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @mallenexpensify
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~022041776340659917259
  • Upwork Job ID: 2041776340659917259
  • Last Price Increase: 2026-04-08

Activity

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

    @melvin-bot

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

  3. melvin-bot commented on Apr 8, 2026

    @melvin-bot

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

  4. github-actions commented on Apr 8, 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. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Apr 8, 2026
  6. MelvinBot commented on Apr 8, 2026

    @MelvinBot
    Contributor

    Proposal

    What is the root cause of that problem?

    The empty state ScreenWrapper in AddUnreportedExpense.tsx:276-281 is missing two props that the non-empty state ScreenWrapper (line 319-328) already has: shouldEnableMaxHeight and enableEdgeToEdgeBottomSafeAreaPadding. Without shouldEnableMaxHeight, the wrapper doesn't constrain to the viewport height. EmptyStateComponent then renders with a minHeight: 400 and flexShrink: 0 (EmptyStateComponent/index.tsx:43), so in landscape (~350px height) the content overflows below the screen with no scroll, and the CTA lands behind the home bar.

    What changes do you think we should make in order to solve the problem?

    In src/pages/AddUnreportedExpense.tsx:

    1. Add shouldEnableMaxHeight and enableEdgeToEdgeBottomSafeAreaPadding to the empty-state ScreenWrapper (line 276) to match the non-empty-state wrapper.
    2. Wrap EmptyStateComponent in a ScrollView so the content scrolls when it exceeds viewport height in landscape — this matches the established pattern used in EmptySearchView.tsx:436-452.

    What alternative solutions did you explore? (Optional)

    Reducing minHeight on EmptyStateComponent was considered but rejected — it would affect all consumers and could break other screens. The ScrollView wrapper is the standard pattern already used elsewhere in the codebase.


    Next Steps for Contributor+ team: Reply with @MelvinBot implement this to create a draft PR, @MelvinBot <your feedback> to refine this analysis, or explain why you are rejecting Melvin's proposal.

  7. 31 remaining items

  8. melvin-bot commented on Apr 23, 2026

    @melvin-bot

    Payment Summary

    Upwork Job

    • Contributor: @GCyganek does not require payment (Contractor)
    • Contributor: @jakubstec does not require payment (Contractor)
    • Reviewer: @truph01 owed $250 via NewDot

    BugZero Checklist (@mallenexpensify)

    • (if NewFeature) I have created a PR for any necessary HelpDot updates, or I confirmed no updates are necessary.
    • I have verified the correct assignees and roles are listed above and updated the necessary manual offers
    • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants/2041776340659917259/hired)
    • I have verified the PR was not reverted
    • I have applied any discounts due to bugs/regressions introduced by this PR
    • I have paid out the Upwork contracts or cancelled the ones that are incorrect
    • I have verified the payment summary above is correct
  9. mallenexpensify commented on Apr 23, 2026

    @mallenexpensify
    Contributor

    @truph01 doesn't look like you're due payment here, it appears to be a regression from

  10. melvin-bot commented on Apr 27, 2026

    @melvin-bot

    @mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

  11. melvin-bot commented on May 1, 2026

    @melvin-bot

    @mallenexpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

  12. mallenexpensify commented on May 5, 2026

    @mallenexpensify
    Contributor

    Closing

    @truph01 doesn't look like you're due payment here, it appears to be a regression from

    #85229

  13. truph01 commented on May 5, 2026

    @truph01
    Contributor

    @mallenexpensify Yes, we can close this and handle payment in the parent issue #77280

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

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething 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