feat: Don't inject search syntax into the NewDot search field unless the user explicitly enters it#75828
Conversation
…the user explicitly enters it
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
Let me know if you all agree with Test steps, if I am missing any. |
situchan
left a comment
There was a problem hiding this comment.
Please add screen recordings on all platforms
src/components/Search/SearchPageHeader/SearchPageHeaderInput.tsx
Outdated
Show resolved
Hide resolved
Adding now. I was waiting for green light from @JmillsExpensify about this comment what the thinks about the Test Steps since I record based on that. |
|
yes, you can add web screenshot for now. So design/product team can review |
Added Video for MacOS Safari. The Linter and Type errors are not related with our PR. |
…o-the-NewDot-search-field-unless-the-user-explicitly-enters-it
…o-the-NewDot-search-field-unless-the-user-explicitly-enters-it
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Good from a product perspective 👍
|
Awesome. Thanks @joekaufmanexpensify 🙏 Friendly Bump for Checklist here @situchan Thanks! |
…o-the-NewDot-search-field-unless-the-user-explicitly-enters-it
…o-the-NewDot-search-field-unless-the-user-explicitly-enters-it
|
Please merge main to fix failing tests |
…nject-search-syntax-into-the-NewDot-search-field-unless-the-user-explicitly-enters-it
|
Hey @situchan
Done. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppUploading Screen Recording 2025-12-18 at 2.59.08 AM.mov… Android: mWeb ChromeiOS: HybridAppios.moviOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2025-12-18.at.1.51.54.AM.movScreen.Recording.2025-12-18.at.1.54.53.AM.mov |
|
Kicked off an adhoc build, as I'd like to test this one. |
|
Resolved Merge Conflicts |
|
More conflicts @TaduJR |
…nject-search-syntax-into-the-NewDot-search-field-unless-the-user-explicitly-enters-it
…nject-search-syntax-into-the-NewDot-search-field-unless-the-user-explicitly-enters-it
|
Jason has this one from a product side, so removing my review |
JS00001
left a comment
There was a problem hiding this comment.
See
App/src/libs/actions/Search.ts
Line 963 in 858fab6
Please remove the clearAdvancedFilters calls. Otherwise, looks good, thanks!
…nject-search-syntax-into-the-NewDot-search-field-unless-the-user-explicitly-enters-it
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/JS00001 in version: 9.2.86-0 🚀
|
|
@TaduJR search syntax is injected after using the browser back navigation, should I create a new ticket for this one or is this expected? 2025-12-23.17-42-31.mp4 |
|
Thanks informing @nlemma Investigating now. |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.2.86-4 🚀
|
Explanation of Change
This PR implements the feature request to prevent search syntax from being automatically injected into the search input field unless the user explicitly enters it.
Fixed Issues
$ #75087
PROPOSAL: #75087 (comment)
Tests
Test 1: Sidebar navigation should keep search field empty
Test 2: Filter chips should keep search field empty (without prior manual search)
Test 3: Manual search should show query in field
Test 4: Manual search + filter chips should preserve and update query
Test 5: Saved searches should keep field empty
Test 6: Advanced filters after manual search should preserve query
Test 7: X/Clear button should clear in one click
Test 8: Advanced filters without prior manual search should keep field empty
Test 9: Navigation after manual search should clear field
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android-Native.mp4
Android: mWeb Chrome
Android-mWeb.mp4
iOS: Native
iOS-Native.mp4
iOS: mWeb Safari
iOS-Safari.mp4
MacOS: Chrome / Safari
output.mp4