You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Expense - No background blur when Month/Year RHP is opened while editing report field inline #101810
Version Number: 9.4.91-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:#100735 Email or phone of affected tester (no customers):sjodjoijsonjoinj@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.5 / Chrome App Component: Money Requests
Action Performed:
Precondition:
Create a date type report field
Go to staging.new.expensify.com
Go to workspace chat.
Create an expense.
Open the expense.
Click Date report field.
Click month or year.
Expected Result:
There will be background blur when Month/Year RHP is opened while editing report field inline.
Actual Result:
There is no background blur when Month/Year RHP is opened while editing report field inline.
👋 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:
Identify the pull request that introduced this issue and revert it.
The offending PR is the large inline report-field editing feature, and the defect is one missing opt-in prop (shouldEnableMonthYearBackdropInNarrowPane) that an existing inline date-editing flow already sets — a two-line fix is far safer than reverting the whole feature.
Assigned: @Gonals and @daledah (approving reviewers of Expensify/App#100735) — already assigned. The PR author is a bot account, so there is no human author to add. Labels: No changes. DeployBlockerCash is kept (App-side fix). DeployBlocker was not present and was not added.
📋 Detailed Analysis
Evidence
The bug only exists on staging and is explicitly "N/A - new feature, doesn't exist in prod". The feature being exercised — editing a date report field inline from the expense report view — was introduced by Expensify/App#100735, which added ReportFieldInlineInput.tsx and rewired MoneyRequestViewReportFields from MenuItemWithTopDescription rows (which navigated to the edit page) to in-place inputs.
Before that PR, clicking a Date report field navigated to the EDIT_REPORT_FIELD page, so the calendar (and its Month/Year picker) never opened from inside the report view — there was no prior behavior to regress. This is a new-feature gap, not a regression of existing code.
The last three commits touching src/components/DatePicker/index.tsx are all from that PR's branch (claude-reportFieldsGridInlineEditing). Nothing else in the 9.4.91 checklist touches the date picker or the modal backdrop logic; the only recent BaseModal.tsx change (2026-09-11, wide search router scrim) is purely additive (shouldShowBackdrop opt-in) and does not affect this path.
Verification
Affected files (all in Expensify/App, all touched or introduced by Expensify/App#100735):
src/components/DatePicker/types.ts#L42-L46 — the prop is declared on DatePickerBaseProps (and therefore inherited by DateInputWithPickerProps), so passing it to DatePicker type-checks today but silently does nothing.
Root Cause
The Month/Year pickers are RIGHT_DOCKED modals (YearPickerModal.tsx#L61-L72, MonthPickerModal.tsx#L74). BaseModal deliberately suppresses the backdrop for a right-docked modal opened inside a narrow pane:
The expense report view is a RightModalNavigator screen, and that navigator wraps its content in NarrowPaneContextProvider, so isInNarrowPane is true for every modal opened from the report fields. On a wide screen (!isSmallScreenWidth, which matches the reported Windows/macOS Chrome repro) the condition above is satisfied and backdropOpacityAdjusted becomes 0 — no dim, no blur.
That call site uses DatePickerModaldirectly. The new inline report field goes through the DatePicker wrapper instead, and the wrapper drops the prop on the floor, so there was no working way to opt in.
Suggested fix (two changes, both in Expensify/App)
src/components/DatePicker/index.tsx: destructure shouldEnableMonthYearBackdropInNarrowPane (already declared on DatePickerBaseProps) and forward it to <DatePickerModal>.
src/components/MoneyRequestReportView/ReportFieldInlineInput.tsx: pass shouldEnableMonthYearBackdropInNarrowPane={isInNarrowPaneModal} (from useResponsiveLayout) on the date branch, mirroring DateCell. Report fields rendered in the central-pane MoneyReportView are unaffected, since isInNarrowPaneModal is false there and the backdrop already shows.
Activity
applause-bot commentedon Sep 21, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/bc8c44f245ef148f28e5be27d981ec2d9c61a851f690f045c909182920d40129
melvin-bot commentedon Sep 21, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #100735
github-actions commentedon Sep 21, 2026
👋 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:
melvin-bot commentedon Sep 21, 2026
@Gonals @daledah you have been assigned to this deploy blocker because you reviewed the offending PR: #100735
melvin-bot commentedon Sep 21, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Sep 21, 2026
🔍 Investigation Summary
Classification: Frontend bug
Causing PR: Show up to three report fields per row and edit them inline (
Expensify/App#100735) — merged 2026-09-21, part of the 9.4.91-0 checklist (High confidence)Related Issues: Deploy Checklist: New Expensify 2026-09-21
Recommendation: ROLL FORWARD
The offending PR is the large inline report-field editing feature, and the defect is one missing opt-in prop (
shouldEnableMonthYearBackdropInNarrowPane) that an existing inline date-editing flow already sets — a two-line fix is far safer than reverting the whole feature.Assigned: @Gonals and @daledah (approving reviewers of
Expensify/App#100735) — already assigned. The PR author is a bot account, so there is no human author to add.Labels: No changes.
DeployBlockerCashis kept (App-side fix).DeployBlockerwas not present and was not added.📋 Detailed Analysis
Evidence
Expensify/App#100735, which addedReportFieldInlineInput.tsxand rewiredMoneyRequestViewReportFieldsfromMenuItemWithTopDescriptionrows (which navigated to the edit page) to in-place inputs.EDIT_REPORT_FIELDpage, so the calendar (and its Month/Year picker) never opened from inside the report view — there was no prior behavior to regress. This is a new-feature gap, not a regression of existing code.src/components/DatePicker/index.tsxare all from that PR's branch (claude-reportFieldsGridInlineEditing). Nothing else in the 9.4.91 checklist touches the date picker or the modal backdrop logic; the only recentBaseModal.tsxchange (2026-09-11, wide search router scrim) is purely additive (shouldShowBackdropopt-in) and does not affect this path.Verification
Affected files (all in
Expensify/App, all touched or introduced byExpensify/App#100735):src/components/MoneyRequestReportView/ReportFieldInlineInput.tsx#L129-L147— renders<DatePicker>forREPORT_FIELD_TYPES.DATEwithoutshouldEnableMonthYearBackdropInNarrowPane.src/components/DatePicker/index.tsx#L31-L56and#L266-L278—DatePickerneither destructures nor forwards that prop toDatePickerModal.src/components/DatePicker/types.ts#L42-L46— the prop is declared onDatePickerBaseProps(and therefore inherited byDateInputWithPickerProps), so passing it toDatePickertype-checks today but silently does nothing.Root Cause
The Month/Year pickers are
RIGHT_DOCKEDmodals (YearPickerModal.tsx#L61-L72,MonthPickerModal.tsx#L74).BaseModaldeliberately suppresses the backdrop for a right-docked modal opened inside a narrow pane:(
BaseModal.tsx#L299-L308)The expense report view is a
RightModalNavigatorscreen, and that navigator wraps its content inNarrowPaneContextProvider, soisInNarrowPaneistruefor every modal opened from the report fields. On a wide screen (!isSmallScreenWidth, which matches the reported Windows/macOS Chrome repro) the condition above is satisfied andbackdropOpacityAdjustedbecomes0— no dim, no blur.The escape hatch already exists and is threaded all the way down:
DatePickerModal→CalendarPicker→Year/MonthPickerModal→shouldKeepRightDockedBackdropInNarrowPane(DatePickerModal.tsx#L48,DatePickerModal.tsx#L105,CalendarPicker/index.tsx#L435-L449). The Search list's inline date editing already opts in:(
DateCell.tsx#L84)That call site uses
DatePickerModaldirectly. The new inline report field goes through theDatePickerwrapper instead, and the wrapper drops the prop on the floor, so there was no working way to opt in.Suggested fix (two changes, both in
Expensify/App)src/components/DatePicker/index.tsx: destructureshouldEnableMonthYearBackdropInNarrowPane(already declared onDatePickerBaseProps) and forward it to<DatePickerModal>.src/components/MoneyRequestReportView/ReportFieldInlineInput.tsx: passshouldEnableMonthYearBackdropInNarrowPane={isInNarrowPaneModal}(fromuseResponsiveLayout) on the date branch, mirroringDateCell. Report fields rendered in the central-paneMoneyReportVieware unaffected, sinceisInNarrowPaneModalisfalsethere and the backdrop already shows.melvin-bot commentedon Sep 22, 2026
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.
Gonals commentedon Sep 22, 2026
PR Reverted
IuliiaHerets commentedon Sep 22, 2026
Chrome / 9.4.91-1
Passed
bandicam.2026-09-22.13-49-30-245.mp4