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
[Due for payment 2026-01-07] Applied filters are in empty state after resetting filters and closing RHP without saving it #77992
Version Number: 9.2.81-5 Reproducible in staging?: Yes Reproducible in production?: No If this was caught during regression testing, add the test name, ID and link from BrowserStack:#77673 Email or phone of affected tester (no customers):sjdnisnjosjoisnjsiod@gmail.com Issue reported by: Applause Internal Team Bug source: Pull Request QA execution Device used: Mac 26.1 / Chrome App Component: Search
Action Performed:
Go to staging.new.expensify.com
Go to Reports > Expenses.
Click Filters.
Click From.
Select any user > Save.
Click View results.
Click Filters.
Click Reset filters.
Close the RHP without saving it.
Click Reset filters.
Expected Result:
From filter should remain applied and Reset filters button will appear because user did not click View results after resetting filters.
Actual Result:
From filter is empty and Reset filters button does not appear when user did not click View results after resetting filters.
👋 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.
// Sync the advanced filters form with the current query when it changes
useEffect(()=>{
updateAdvancedFilters(formValues,true);
},[formValues]);
When the user closes the filters RHP without saving, the queryJSON hasn't changed (it's still the applied query), so the useEffect doesn't re-run to restore the filter form values. The form remains in the cleared state from when "Reset filters" was clicked
What changes do you think we should make in order to solve the problem?
We could restore the filter form values from the current query when the advanced filters page mounts with a useEffect that sync the form with the current URL query params
changed the title [-]Applied filters are in empty state after resetting filters and closing RHP without saving it[/-][+][Due for payment 2026-01-07] Applied filters are in empty state after resetting filters and closing RHP without saving it[/+]on Dec 31, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.2.89-6 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
@luacmartins / @JS00001@garrettmknight The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero 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]
[Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
Regression Test Proposal
Test:
Go to Reports > Expenses.
Click Filters.
Click From.
Select any user > Save.
Click View results.
Click Filters.
Click Reset filters.
Close the RHP without saving it.
Click Reset filters.
From filter should remain applied and Reset filters button will appear because user did not click View results after resetting filters.
Activity
melvin-bot commentedon Dec 18, 2025
Triggered auto assignment to @garrettmknight (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.melvin-bot commentedon Dec 18, 2025
Triggered auto assignment to @flodnv (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.melvin-bot commentedon Dec 18, 2025
💬 A slack conversation has been started in #expensify-open-source
github-actions commentedon Dec 18, 2025
👋 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:
nyomanjyotisa commentedon Dec 18, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Applied filters are in empty state after resetting filters and closing RHP without saving it
What is the root cause of that problem?
When the user clicks "Reset filters", it directly clears
ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORMusing `clearAdvancedFiltersApp/src/libs/actions/Search.ts
Lines 961 to 979 in c43ba15
The filter form is synced with the current query in
SearchPage, but this useEffect only runs whenformValueschanges, which is derived fromqueryJSONApp/src/pages/Search/SearchPage.tsx
Lines 197 to 204 in c43ba15
When the user closes the filters RHP without saving, the
queryJSONhasn't changed (it's still the applied query), so the useEffect doesn't re-run to restore the filter form values. The form remains in the cleared state from when "Reset filters" was clickedWhat changes do you think we should make in order to solve the problem?
We could restore the filter form values from the current query when the advanced filters page mounts with a useEffect that sync the form with the current URL query params
App/src/pages/Search/SearchAdvancedFiltersPage.tsx
Line 20 in c43ba15
What alternative solutions did you explore? (Optional)
None
15 remaining items
[-]Applied filters are in empty state after resetting filters and closing RHP without saving it[/-][+][Due for payment 2026-01-07] Applied filters are in empty state after resetting filters and closing RHP without saving it[/+]melvin-bot commentedon Dec 31, 2025
Reviewinglabel has been removed, please complete the "BugZero Checklist".melvin-bot commentedon Dec 31, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.2.89-6 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-01-07. 🎊
melvin-bot commentedon Dec 31, 2025
@luacmartins / @JS00001 @garrettmknight The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero 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]
brunovjk commentedon Jan 6, 2026
BugZero Checklist:
[Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
Regression Test Proposal
Test:
Do we agree 👍 or 👎
garrettmknight commentedon Jan 7, 2026
Payment summary:
twisterdotcom commentedon Jan 8, 2026
@brunovjk has submitted payment for this report on ND here.
SO: https://stackoverflowteams.com/c/expensify/questions/7582
Zapier Logs
Run ID: 00040eee-d850-a818-5548-b3aaeb260924