Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.1k stars 2.6k forks source link

[$250] `react-native-keyboard-controller` migration plan #37203

Open kirillzyusko opened 4 months ago

kirillzyusko commented 4 months ago

Problem statement

In Expensify app keyboard handling is not consistent across iOS/Android platforms:

With react-native-keyboard-controller:

Migration plan

I see next potential way for improving keyboard handling (aka migration plan):

Additional resources

melvin-bot[bot] commented 4 months ago

Triggered auto assignment to @JmillsExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

roryabraham commented 4 months ago

this is kind of halfway between a new feature and a bug, but I'm going to treat it as a bug for the sake of accounting (no CAP SW project it fits with)

roryabraham commented 4 months ago

Marking this as Internal even though it will be almost 100% external. Doing so because I don't want to create an external Upwork job, but I do want a C+ to help review all the PR(s) for this. I think it will be a series of PRs, so I think we should compensate for the review of each.

melvin-bot[bot] commented 4 months ago

Job added to Upwork: https://www.upwork.com/jobs/~01360efa253e7a2c60

melvin-bot[bot] commented 4 months ago

Triggered auto assignment to Contributor Plus for review of internal employee PR - @cubuspl42 (Internal)

roryabraham commented 4 months ago

welcome @cubuspl42! I encourage you to familiarize yourself with the context on this issue and decide whether you want to take it on or pass it off. Excited to have you help if you're interested!

roryabraham commented 4 months ago

moving this to weekly

shubham1206agra commented 4 months ago

@roryabraham I was already assigned https://github.com/Expensify/App/pull/16356.

roryabraham commented 4 months ago

Fair enough. This is a broader migration than just that issue/PR though, basically we'll be refactoring keyboard handling across the whole app.

roryabraham commented 4 months ago

probably wouldn't hurt to get more than 1 C+ involved here either.

shubham1206agra commented 4 months ago

@roryabraham Can you assign me here also?

cubuspl42 commented 4 months ago

Sounds interesting; I can get on board. This will be implemented by an expert agency, and C+ reviewed, right?

shubham1206agra commented 4 months ago

@cubuspl42 Please have a look at the https://github.com/Expensify/App/pull/16356.

cubuspl42 commented 4 months ago

@shubham1206agra I took a look. It's a PR with a 1-year-long post history. Let me know what exact aspect of that PR you'dl like me to focus on!

shubham1206agra commented 4 months ago

Take a look at the top description and go through code once.

roryabraham commented 4 months ago

This will be implemented by an expert agency, and C+ reviewed, right?

correct. 2 C+ in this case

roryabraham commented 3 months ago

@kirillzyusko looks like we need to resolve conflicts in https://github.com/Expensify/App/pull/16356, then @shubham1206agra and @cubuspl42 can begin review whenever they're ready

melvin-bot[bot] commented 3 months ago

@JmillsExpensify @cubuspl42 @kirillzyusko @roryabraham @shubham1206agra this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

roryabraham commented 3 months ago

Also, this is not a bug

kirillzyusko commented 3 months ago

looks like we need to resolve conflicts in https://github.com/Expensify/App/pull/16356, then @shubham1206agra and @cubuspl42 can begin review whenever they're ready

@roryabraham done. I'll merge main branch every day to keep the Pr without conflicts ๐Ÿ‘

JmillsExpensify commented 3 months ago

Still working on this one.

cubuspl42 commented 3 months ago

Yes, we found some bugs but they are already fixed. I'll give it another testing round today, I also bumped @shubham1206agra so they give it another pair of eyes.

JmillsExpensify commented 2 months ago

Same as above.

cubuspl42 commented 2 months ago

We have an OOO situation in SWM, the author will likely be back soon

roryabraham commented 2 months ago

agree, we'll pick this back up when @kirillzyusko is back from OOO. He works for Margelo, btw ๐Ÿ™‚

melvin-bot[bot] commented 2 months ago

Current assignee @shubham1206agra is eligible for the Internal assigner, not assigning anyone new.

mallenexpensify commented 2 months ago

@shubham1206agra reassigning, please take over as C+. If you don't have bandwidth, unassign yourself. Thanks

melvin-bot[bot] commented 2 months ago

Triggered auto assignment to Contributor Plus for review of internal employee PR - @rojiphil (Internal)

mallenexpensify commented 2 months ago

@rojiphil reassigning, please take over as C+. If you don't have bandwidth, unassign yourself. Thanks

roryabraham commented 2 months ago

@kirillzyusko any thoughts on when you'll be prioritizing this?

kirillzyusko commented 1 month ago

@roryabraham I think the current plan is to finish native-stack integration and after that I'll switch back to this task ๐Ÿ‘€

In a meantime @perunt is also making some progress on integrating react-native-keyboard-controller into Expensify codebase (recently I added a cursor position tracking with coordinates and it will give us an ability to avoid RN core patching and push a task with emoji autosuggestion forward).

JmillsExpensify commented 1 month ago

Are we still working on finishing native-stack ahead of this task, or is work resuming elsewhere via another issue?

kirillzyusko commented 1 month ago

@JmillsExpensify I'm working on this issue (and I updated issue description to mention that one PR link has been changed).

melvin-bot[bot] commented 2 weeks ago

This issue has not been updated in over 15 days. @JmillsExpensify, @rojiphil, @kirillzyusko, @roryabraham, @shubham1206agra eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!