Skip to content

[Due for payment 2026-09-02] Android - Home - Add attachment modal does not open after tapping + when keyboard is opened #99479

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.4.61-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: #98336
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: Samsung Galaxy S25 FE / Android 16
App Component: Other

Action Performed:

  1. Launch Expensify app.
  2. Tap on the field on Concierge prompt box.
  3. Tap + button.

Expected Result:

Add attachment modal will open after tapping + when keyboard is opened.

Actual Result:

Add attachment modal does not open after tapping + when keyboard is opened.

Workaround:

Unknown

Platforms:

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

Screenshots/Videos

Bug7242767_1787693669647.Screen_Recording_20260826_053305_Expensify.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Mita Rachim
Bug ID: 7242767

Issue OwnerCurrent Issue Owner: @ZhenjaHorbach

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Aug 25, 2026
  2. applause-bot commented on Aug 25, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/39b86c6994ef1c707af33b033b1e3bbff327f3297e6c145530509d758e5ba35c

  3. melvin-bot commented on Aug 25, 2026

    @melvin-bot

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

  4. melvin-bot commented on Aug 25, 2026

    @melvin-bot

    @puneetlath @ZhenjaHorbach you have been assigned to this deploy blocker because you reviewed the offending PR: #98336

  5. github-actions commented on Aug 25, 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.
  6. melvin-bot commented on Aug 25, 2026

    @melvin-bot

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

  7. melvin-bot commented on Aug 25, 2026

    @melvin-bot

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

  8. MelvinBot commented on Aug 25, 2026

    @MelvinBot
    Contributor

    🔍 Investigation Summary

    Classification: Frontend bug
    Causing PR: #98336 - "[Home Page] Add Concierge prompt box to home For You section" by @adamgrzybowski (High confidence)
    Related Issues: #94497 (the feature request this PR implemented)

    Recommendation: ROLL FORWARD

    This is an isolated defect in a large, brand-new feature (the "+" attachment button in the Home Concierge prompt box). The fix is a small, well-understood change (dismiss the keyboard before opening the popover menu), so a targeted roll-forward is safer and cheaper than reverting the entire feature PR. Revert remains a viable fallback if a fix can't land quickly.

    Assigned: @adamgrzybowski (PR author), @ZhenjaHorbach and @puneetlath (approving reviewers) — all already assigned by Melvin
    Labels: No change. DeployBlockerCash is correctly retained (App deploy is blocked by this frontend regression). No DeployBlocker (web) label is present, so nothing to remove.

    📋 Detailed Analysis

    Evidence

    Verification

    Root Cause

    On Android native (narrow layout), the "+" action PopoverMenu renders as a bottom-docked modal. Opening that modal while the soft keyboard is still visible does not display it reliably — the keyboard must be dismissed first.

    The new ConciergePromptBox "+" handler only blurs the button itself, not the focused text input:

    onPress={(e) => {
        e?.preventDefault();
        actionButtonRef.current?.blur(); // blurs the "+" button, NOT the composer input
        setIsMenuVisible((prev) => !prev);
    }}

    Because the Composer never receives a ref, the keyboard stays open when the menu is toggled, so on Android the attachment popover never appears.

    Contrast this with the established report-composer pattern this feature was modeled on. In useComposerFocus.ts, onAddActionPressed explicitly blurs the composer input (composerRef.current?.blur()) before the menu is shown, dismissing the keyboard. AttachmentPickerWithMenuItems calls onAddActionPressed() in its "+" handler (lines 468-478) — the ConciergePromptBox omits this step.

    Suggested fix

    Give the Composer a ref and blur it (dismissing the keyboard) inside the "+" onPress before setIsMenuVisible, mirroring onAddActionPressed in the report composer. This is a small, self-contained change and does not require reverting the feature.

  9. 7 remaining items

  10. mhawryluk commented on Aug 26, 2026

    @mhawryluk
    Member

    looking into this!

  11. melvin-bot commented on Aug 26, 2026

    @melvin-bot

    ⚠️ Looks like this issue was linked to a Deploy Blocker here

    If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

    If a regression has occurred and you are the assigned CM follow the instructions here.

    If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

  12. grgia commented on Aug 26, 2026

    @grgia
    Contributor

    Same root cause as #99494: the prompt box's buttons sit inside HomePage's ScrollView, which doesn't set keyboardShouldPersistTaps, so while the keyboard is open the first tap only dismisses the keyboard and never reaches the button. One line in src/pages/home/HomePage.tsx fixes both issues and matches FormWrapper/FormScrollView:

                         <ScrollView
                             contentContainerStyle={styles.homePageContentContainer}
                             addBottomSafeAreaPadding
    +                        keyboardShouldPersistTaps="handled"
                         >

    Taps on empty space still dismiss the keyboard, so nothing else changes.

    (Georgia's Agent)

  13. m-natarajan commented on Aug 26, 2026

    @m-natarajan

    Issue not reproduce using build 9.4.61-1.
    Device : iphone 14/26.6 and Samsung a54/android 16

    2026-08-26.7.34.10.PM.mp4
    ScreenRecording_08-26-2026.19-26-53_1.MP4
  14. puneetlath commented on Aug 26, 2026

    @puneetlath
    Contributor

    Great! The fix worked.

  15. moved this from Backlog to Done in Home pageon Aug 26, 2026
  16. changed the title [-]Android - Home - Add attachment modal does not open after tapping + when keyboard is opened[/-] [+][Due for payment 2026-09-02] Android - Home - Add attachment modal does not open after tapping + when keyboard is opened[/+] on Aug 26, 2026
  17. melvin-bot commented on Aug 26, 2026

    @melvin-bot

    @ZhenjaHorbach

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.61-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-09-02. 🎊

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

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions