Closed hayata-suenaga closed 10 months ago
We had some more discussion about this in https://expensify.slack.com/archives/C05DWUDHVK7/p1694542449982949 and I believe we should actually double-down on the URL based navigation. It has lots of benefits with the navigation flow (back buttons, screen animations, etc.).
Yes, it is pretty flawed and difficult to understand in its current state. I wouldn't mind taking this issue and having a go at cleaning this up so that it's more predictable and easier to use.
Two big pieces for this were merged today. I'll keep working on cleanup.
Note to self: Try to remove ONYXKEYS.IOU
I've been slowing chipping away at this over the last two days and have begun to implement a new way of routing and organizing the feature.
I'm having to temporarily drop this down to weekly as I have had some higher priority things crop up that I needed to address urgently. My general update on this issue is that I'm about 50% done. I have refactored about 90% of the creation flow, and then I need to do a pass on the edit flow (but it should be easier than the creation flow because it was already following better patterns).
I got back to working on this today. I made some good progress for trying to get the confirmation step cleaned up but I'm running into a low-level Onyx error that is causing participants to not be stored in Onyx. I posted about it here in Slack, but need to keep digging into that.
I made really good progress on this today. I've got all the screens built for the create request flow. The next part of this is completing the confirmation step (the part that actually creates the requests). Once that is done, then I'll need to go through and find some scattered TODO:
items and get them taken care of. Lastly, I'll need to go through the old components to ensure nothing has been added to them during development.
ETA is end of next week to have a PR ready for this.
I approached this refactoring in a way to reduce conflicts. My idea was to essentially make as few changes to existing code as possible while building the new flow from scratch (copying code from the original components). This results in essentially a 100% duplicated flow. Once the two existing flow exist side-by-side, the original flow and files will be removed and they will be audited to ensure any changes since they were originally copied are incorporated into the new files.
I am creating a second issue for this final cleanup: https://github.com/Expensify/App/issues/29107
Tasks remaining to be done:
Today I:
Tasks remaining to be done:
Today I:
Final things left to do:
Today I was trying to get the PR mostly ready for review and I got all the components updated with what's in main
. I then ran into issues with npm i
failing and pod install
failing, so I was unable to move into the testing phase. I'll dig into those tomorrow.
OK, I finished my local testing today on all platforms 🎉 and I've moved the PR out of draft so it can begin to be reviewed.
I had a discussion with @mountiny and @luacmartins and I'm taking a bit of a different approach to getting this PR merged. It seems that it's going to cause a lot of headaches with Money 2020 next week, so we agreed to hold on the majority of the refactor pieces. In the meantime, I am splitting off smaller PRs from it that will be easier to review and merge in isolation without as big of a risk of causing regressions. I created the first PR for that today: https://github.com/Expensify/App/pull/29696
Split out these PRs yesterday:
Split out these PRs today:
I'm adding an official HOLD to the title. There was at least one more PR that I could split out from this refactoring, and I should hopefully be able to get to it next week.
Money2020 is over tomorrow, removing the HOLD
Pushing this back to daily now that the HOLD is removed.
I have been working on updating the PR to get it ready for review. I began testing it today and it went OK-ish. I had to fix quite a few things, but I'm getting there slowly. The PR should be ready for review by EOD tomorrow.
@tgolen Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
I'm planning to work on more testing today. I found that the participants screen wasn't working with splits properly. It should be ready by the EOD today if all goes well.
The PR is ready for review now and I'm taking it out of draft and added some tips for reviewing it.
The PR is actively being reviewed and testing. I have one bug that I was not able to look into today. That's where I will pick back up on tomorrow.
I'm moving this back to daily to reflect my current priority.
Today I am getting the PR ready to create an ad-hoc build for Applause to start regression testing.
The testing is held up on a Web-E PR that adds an additional API call necessary for testing. As soon as https://github.com/Expensify/Web-Expensify/pull/39758 is on staging, then the testing can commence on the App PR.
Looks like we got Web-E merged and on prod!!
Lots of testing happened on this last week and 22 bugs have been reported so far. Applause hasn't been able to test on desktop yet with the builds failing. I'll start tackling these today and also solving all the conflicts.
I was able to make it through about half of these today. Gonna keep the gas pedal down tomorrow and keep working through them.
I made some good progress on this. Only three bugs left to go!
All the reported bugs have been fixed and I need to check today to see if there were any new ones reported with the last round of testing. If there were no new bugs, then I will push to have this merged today.
@tgolen Re-testing Summary:
https://github.com/Expensify/App/pull/28618#issuecomment-1826084751 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1816801720 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1816805031 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824765990 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824768199 is NOT fixed, still reproducible https://github.com/Expensify/App/pull/28618#issuecomment-1824797444 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824770628 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824773907 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824776162 is NOT fixed, still reproducible https://github.com/Expensify/App/pull/28618#issuecomment-1824777860 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824783919 is NOT fixed, still reproducible https://github.com/Expensify/App/pull/28618#issuecomment-1824785908 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824784736 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824790520 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824788253 is fixed https://github.com/Expensify/App/pull/28618#issuecomment-1824823713 is NOT fixed, still reproducible https://github.com/Expensify/App/pull/28618#issuecomment-1826082091, app is crashing after selecting WS - should we create an issue for this? https://github.com/Expensify/App/pull/28618#issuecomment-1826190134 is NOT fixed, still reproducible https://github.com/Expensify/App/pull/28618#issuecomment-1826388214 is fixed
Edit from Tim: https://github.com/Expensify/App/pull/28618#issuecomment-1816702786 is NOT fixed
@tgolen Also, seeing RHP tab button background colour is wrong, should we create an issue for this? Note: not reproduced on staging and production
Thank you for that update. I will look into those today.
Also, seeing RHP tab button background colour is wrong, should we create an issue for this?
No, that's probably related to this PR so I will look into it and fix it in this PR.
@kbecciv I had a look through the remaining bugs and here are my results. I still had some issues reproducing some of them, but I think we are in really good shape. I've triggered another ad-hoc build on the PR to ensure there is a build with the most recent changes.
https://github.com/Expensify/App/assets/1228807/39dd9056-6541-44fe-86a5-113d659804be
bump @jjcoffee and @kbecciv
@tgolen Could you please share the link for latest build? I will work on the above issues.
Is this correct build to re-test https://github.com/Expensify/App/pull/28618#issuecomment-1841478938? @tgolen
Yep, that's the right one. 👍
https://github.com/Expensify/App/pull/28618#issuecomment-1824776162 is still reproducible, try selecting a user you have never chatted with before and request money.
https://github.com/Expensify/App/assets/93399543/591074b2-331b-4ece-b210-126e6b0c7b7b
https://github.com/Expensify/App/pull/28618#issuecomment-1824823713 is still reproducible. I'm able to reproduce the issue by simply opening any IOU and refreshing the page.
https://github.com/Expensify/App/assets/93399543/0e45ae33-8ba6-4c43-950f-8d724d43aacd
https://github.com/Expensify/App/assets/93399543/6c8ec914-6d25-422d-82dc-f31a1703d85d
https://github.com/Expensify/App/pull/28618#issuecomment-1826082091 is reproducible, added 2 steps in OP
https://github.com/Expensify/App/assets/93399543/ec66bb4f-bd03-4c96-aad1-cb4cc155b830
https://github.com/Expensify/App/issues/26538#issuecomment-1840865247 is fixed!
Thank you! Those are helpful tips. I'll look into them.
On Thu, Dec 7, 2023 at 12:31 PM Kateryna Becciv @.***> wrote:
#28618 (comment) https://github.com/Expensify/App/pull/28618#issuecomment-1824776162 is still reproducible, try selecting a user you have never chatted with before and request money.
https://github.com/Expensify/App/assets/93399543/591074b2-331b-4ece-b210-126e6b0c7b7b
#28618 (comment) https://github.com/Expensify/App/pull/28618#issuecomment-1824823713 is still reproducible. I'm able to reproduce the issue by simply opening any IOU and refreshing the page.
https://github.com/Expensify/App/assets/93399543/0e45ae33-8ba6-4c43-950f-8d724d43aacd
https://github.com/Expensify/App/assets/93399543/6c8ec914-6d25-422d-82dc-f31a1703d85d
#28618 (comment) https://github.com/Expensify/App/pull/28618#issuecomment-1826082091 is Fixed!
https://github.com/Expensify/App/assets/93399543/14e5a57d-f8b0-4e85-a685-4a94d673a191
#26538 (comment) https://github.com/Expensify/App/issues/26538#issuecomment-1840865247 is fixed!
image.png (view on web) https://github.com/Expensify/App/assets/93399543/9b430d4e-d8f9-48cd-bd30-0c04cd828fbf
— Reply to this email directly, view it on GitHub https://github.com/Expensify/App/issues/26538#issuecomment-1845978364, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMAB7WFSLWFC3ZKWSESEDYIIKPJAVCNFSM6AAAAAA4IEQ4Z6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBVHE3TQMZWGQ . You are receiving this because you were mentioned.Message ID: @.***>
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
⚠️ Looks like this issue was linked to a Deploy Blocker here
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.
If a regression has occurred and you are the assigned CM follow the instructions here.
If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.
Remove deep-linking support for screens related to money request
In the current code, deep linking to the screen for each step of money request flow is allowed.
There are logics to handle deep linking to a screen that corresponds to a step in the middle of the money request flow. These logics are not scalable and adds additional complexity.
Let's remove the support for deep linking. All screens should be under a single URL and all steps should be completed under that URL.
Relevant Slack discussion: https://expensify.slack.com/archives/C01GTK53T8Q/p1692998235169129
Issue Owner
Current Issue Owner: @anmurali