-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update SearchPageHeaderInput to display recent search and chats #53198
Update SearchPageHeaderInput to display recent search and chats #53198
Conversation
8e813c9
to
4ee583b
Compare
549ff19
to
3b68543
Compare
3b68543
to
fc50688
Compare
Reviewing now |
@rojiphil I have pushed 1 additional commit with the changes suggested by @blazejkustra |
Thanks @Kicu for the update.
The above-mentioned case is implemented for 53198-initialquery-issue.mp4 |
Yes you're right, thanks for pointing this out.
I think it makes some sense because if you're on But it could be considered confusing. Do you have any thought @luacmartins ? |
This is an interesting case. I think the empty first item is confusing. I'd just remove it to make it consistent with the router. |
Ok I will remove the empty item, however there was a convo about this here: https://swmansion.slack.com/archives/C06ML6X0W9L/p1732623340138529, and Vit suggested it's confusing for him. |
bb85e0e
to
9675b9c
Compare
@rojiphil I added the change suggested by Carlos (no empty item), and fixed newest conflicts with main. I did a |
@rojiphil let's prioritize reviewing this PR once you're available |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -124,6 +136,7 @@ function SearchPageHeaderInput({queryJSON, children}: SearchPageHeaderInputProps | |||
return; | |||
} | |||
|
|||
// TODO remove special handling of policyID after navigation is merged https://github.com/Expensify/App/pull/49539 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created an issue for this. Let's remove the comment - #53480
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Only issue left is #53198 (comment). I think we're in a good spot to get this merged tomorrow.
FYI this bug is quite tricky, and it does not always reproduce - it only appears if user has entered the search page more than once. I'm working on it but I don't yet have a solution, there's something wonky happening with navigation + ref to the input. |
@luacmartins @rojiphil the bug ended up being veeeery tricky, connected to how navigation mounts and unmounts screens, and when they run their rec-focus.mp4 |
yeah that was a nasty one but looks like it's fixed. Working on the checklist now |
Reviewer Checklist
Screenshots/VideosMacOS: Chrome / Safari53198-web-safari-003.mp4MacOS: Desktop53198-desktop-003.mp4Android: Native53198-android-native-003.mp4Android: mWeb Chrome53198-mweb-chrome-003.mp4iOS: Native53198-ios-native-004.mp4iOS: mWeb Safari53198-mweb-safari-003.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Kicu for the fix.
Code LGTM and works well too.
@luacmartins All yours for review. Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Awesome job on this one! |
✋ 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/luacmartins in version: 9.0.73-0 🚀
|
Found KI on mWeb only - issue #53783 |
🚀 Deployed to production by https://github.com/luacmartins in version: 9.0.73-8 🚀
|
This had a regression: which was confirmed by author in follow-up PR #53859 description. |
Agree that was a regression. But we addressed multiple issues at once here and there was quite a lot of quality work that went into the PR. |
@ikevin127 Yeah, and next time, please tag me also for regression issues where I am the original PR reviewer and as mentioned in the C+ Process Doc here. Thanks. |
I concur that we should not avoid the penalty as this would set a precedent for both past / future issues, when the rules are clear on regressions regardless of how many test cases were included in PR description (as long as they were included).
Sure, I'll try to be more careful next time - hopefully will not get a penalty for this 🤕 |
Oh! What I meant is that as per the process, there is a provision to increase the compensation when there is more work involved. And usually, I take this up at the time of payment considering the entire issue holistically. |
I don't think it matters how you word it, it's the same thing since you are only asking for increase after the regression was brought to your attention, not before you started the review, Not sure what the procedure is on issues that don't have a set price, as far as I know it's $250 unless an increase was asked for, justfied and granted before starting the PR review (at least that would make sense to me), during issue / proposal review. Maybe I'm missing something though! |
@ikevin127 As per the process, I think it's incorrect to say |
I think it's fine to keep the original amount in this case given the workload for the original issue. |
Explanation of Change
This PR refactors SearchPageHeaderInput and SearchRouter, to put all (expect contextual search) Router features into the Input on Search results.
Also when
cmd+k
shortcut is used while on Search Results Page, then we will focus on the Input and not show the Router.Fixed bugs
Other things
I'm providing a video which shows that from the perspective of Search list components there is exactly 1 render, which introduces all the items, and there is nothing weird happening with data lengths. Thus the source of the flicker is most likely inside
SelectionList
, and I'd prefer to not change this list in this PRflicker with console logs of renders
rec-web-list-flicker.mp4
Fixed Issues
$ #53126
PROPOSAL:
Tests
Offline tests
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
Android focus bug fixrec-andr-focus-bug.mp4
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
rec-search-web.mp4
MacOS: Desktop