Closed azimgd closed 1 year ago
@andrewgable Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]
Please correct the linking
Directly paste the link to the issue after the dollar
$ https://github.com/Expensify/App/issues/6883
@luacmartins @parasharrajat I kept original structure of KeyboardShortcut and added RNKeyCommand integration on top of that.
We also need to merge https://github.com/Expensify/react-native-key-command/pull/15 and update version here.
FYI: arrow up/down is broken on main: https://expensify.slack.com/archives/C049HHMV9SM/p1675634800267959
Electron desktop fix (tested): https://github.com/Expensify/react-native-key-command/pull/17. This fix needs to be deployed before Electron is tested.
Tested on Android and Web. Everything is ready for review.
Electron desktop fix (tested): https://github.com/Expensify/react-native-key-command/pull/17. This fix needs to be deployed before Electron is tested.
0.7.0 is published!
@parasharrajat have you started to review this ?
Yup. A little busy with some stuff but I will share updates today.
I will share the update in some time. I am currently AFK.
@parasharrajat Can we set an exact timeframe and stick to this please ? Given dates are missed over and over again. We can agree upon a schedule that suits you and work together if you would like. Happy to help so we can get this finished asap.
I am back now. Give me 20 mins and I will continue on this issue. Hope that works for you.
Thanks, I will be available for the next 5-6h.
Checking now.
So the question is do we need a close icon on the modal on native? Normally, all of our native modal/popover are bottom docked. But I agree it is a little different. Let me try a few different variants first.
BUG: Android: Escape key does not close the Search page opened via shortcuts in Native. Does it have different behavior on native?
Steps:
Ctrl + K
to open the search page from the hardware keyboard.Escape
to close it.BUG: Android: Arrow keys are not traversing the search page list.
Steps:
Ctrl + K
to open the search page from the hardware keyboard.BUG: Escape key does not close the Search page opened via shortcuts in Native. Does it have different behavior on native?
Which device, hardware keyboard ?
Added more details. I am running the app on a real android device with keyboard attached with OTG.
BUG: Android: Arrow keys are not traversing the search page list.
FYI: arrow up/down is broken on main: https://expensify.slack.com/archives/C049HHMV9SM/p1675634800267959
This is working on the web on this branch and staging for me. May be desktop has some problem. haven't tested it yet.
BUG: Android: Escape key does not close the Search page opened via shortcuts in Native. Does it have different behavior on native?
Just tested this and this is working for me: https://user-images.githubusercontent.com/4882133/216602144-6bc2ee7f-80f3-4578-bd92-cda60d071d29.MOV
BUG: Android: Arrow keys are not traversing the search page list.
Fixed
Make sure to "unfocus" from text input by pressing enter, when testing Arrow keys.
Can you please update the about page to also show the option for View keyboard shortcuts
on native?
Please rephrase, "about page" you mean the popup triggered on CTRL+K ?
Go to Settings > About menu > there you will see View keyboard shortcuts
on web. https://staging.new.expensify.com/settings/about
done.
Make sure to "unfocus" from text input by pressing enter, when testing the Arrow keys.
Android: The arrow keys are not working reliably. They only select one user and then does not work. If I press Tab once, then the arrow keys select one more user. I can repeat Tab and arrow down pattern a few times.
Before I continue, can you please complete the checklist? And fix the videos.
Reproduction steps please:
doesn’t work ?
Before I continue, can you please complete the checklist? And fix the videos.
I’m not able to test on ios device, waiting for @luacmartins to deploy.
could we clear everything except ios today please?
If any new file was added I verified that:
Only 2 new files were added into bindHandlerToKeydownEvent
folder, and are self explanatory with comments on top, so I'm going to check this as well.
Everything else except iOS is checked in the "PR Author Checklist".
Talked to azim 1-1 to explain him the arrow key problem. It seems to be working fine for me. I will try to get better reproduction steps tomorrow.
FYI @azimgd, tests are failing too.
Continuing testing now.
There was a further discussion today on this PR. We are still stuck on the Arrow key issue. I will post the videos for these tomorrow and do some digging from my side. Hopefully, those are just setup issues and we will be good to close this in the next few days.
Here is the video of the bug report.
@azimgd Please merge the main as well. There are some breaking changes for react-native-reanimated.
That's the side effect of communication over bridge while it's overfilled + RN is busy with other calculations (Onyx, Component updates etc.). There are no other improvements I can do to speed this up for your case, beside adding JSI support. Please try production build which should be much better than this. cc @luacmartins
Ok, let me test the production build.
Could you merge main into this?
I will merge main right after full testing/review cycle is accomplished and I get a complete feedback list with everything you found in one batch. I'm positive that this PR doesn't interfere with reanimated update. I don't currently have a capacity to merge and retest until we decide on the current state for this PR as this was supposed to get done a while ago.
Can I get a status update ?
No update for now. But there will be one soon.
I am traveling today so can't share any updates. Surely, I will be able to do it tomorrow. let's get this wrapped up.
Can I get an update please ?
Hoping to do it today. Can you please merge the main into this? Apologies for the delay, travelling is tiring.
https://github.com/Expensify/App/pull/14767#issuecomment-1430283541
Rajat, I can spend time and keep merging main if you can keep your estimates intact. So far most of your estimates were delayed for days / weeks.
@luacmartins May I ask for some involvement from your side as well here? How can we improve this process?
Yes, For long and time taking issues, I think it should be expected. There were multiple PRs. I understand that you have two tasks at your hand and you want them to be completed asap. But as this issue is open for me for a long time, priorities have been shifted many times.
There have been times when I was available but you were not. There have been also delays during previous PRs. I understand that you might be busy with other stuff but I expect the same from you as well.
The last update was https://github.com/Expensify/App/pull/14767#issuecomment-1430202337 a week before from me. But due to other important work being pushed in, I had to manage.
Hopefully, if things are working well, it should be approved soon. I have been trying iOS for some time but no luck on the simulator.
How can we improve this process?
You can make sure that things are working perfecting in before the review is started on the PR and enough details are added to the PR description for making it easier for the reviewer to understand this quickly.
I can make sure to post complete testing in one go so that you don't have to work on the PR multiple times.
So, I think if you can merge the main into this and add tests, It will also help.
No luck.
Details
Fixed Issues
$ https://github.com/Expensify/App/issues/6883 PROPOSAL: https://github.com/Expensify/App/issues/6883
Tests
Offline tests
Same as QA Steps.
QA Steps
Note: you need to connect hardware keyboard to test mobile keyboard shortcuts on iOS and Android.
https://github.com/Expensify/App/blob/ef6937c38197da7124341faefd2218260da7effe/src/CONST.js#L231-L282 All of the shortcuts here should work on Web.
List of known issues on Android and iOS: https://github.com/Expensify/App/pull/14767#issuecomment-1494158230 which are not counted as regressions.
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.Screenshots/Videos
Web
https://user-images.githubusercontent.com/4882133/217061211-7b10e95f-ca0c-46b1-bec7-64d143e0df37.movMobile Web - Chrome
https://user-images.githubusercontent.com/4882133/228418338-0c398127-98ba-43c6-a8f8-217a0ede50a6.movMobile Web - Safari
https://user-images.githubusercontent.com/4882133/228415502-02486d6c-e8a6-4e30-92bb-2ebd9260064d.mp4Desktop
https://user-images.githubusercontent.com/4882133/217061108-29148272-46de-4c5d-ae54-c5107f1d8927.moviOS
https://user-images.githubusercontent.com/4882133/228414893-628d999f-0e2c-4de5-82ba-2b30dbb5734c.mp4Android
https://user-images.githubusercontent.com/4882133/216602144-6bc2ee7f-80f3-4578-bd92-cda60d071d29.MOV