-
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
Dismissing onboarding fix #45327
Dismissing onboarding fix #45327
Conversation
cc @allgandalf as you were the reviewer of the original PR - basically I just added one check if the user is authenticated before we do some actions with navigation state. |
@allgandalf 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] |
@filip-solecki can you please include all the issues that were identified as test/ qa in the PR? |
This issue #45206 also magically got fixed after the revert (So i assume the offending PR was ours) , so can you also test it out @filip-solecki |
Just FYI - #44600 is still open and happening on staging. Calling it out because it says in the description here that the original PR was reverted... So it might not be related? but if this PR fixes it, great! |
It seems like that issue existed before this original pr no? |
Do you have any idea how can I test it? |
sorry, my bad - I've made a mistake while copy pasting links - this issue is not fixed here |
@mountiny I've mentioned all issues I know are fixed here. There is one mentioned by @allgandalf and I don't know how to test it, maybe you have any idea @allgandalf ? |
@mountiny @filip-solecki sorrg mostly ooo these days I have triggered a build here You can test it by intercepting the link to new dot with the shortlived token and change it for localhost or to the adhoc build link |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
Seems to be solved, thanks @mountiny 🙇 Screen.Recording.2024-07-16.at.5.03.52.PM.mov |
Reviewer Checklist
Screenshots/VideosMacOS: Chrome / SafariScreen.Recording.2024-07-08.at.7.58.51.PM.movScreen.Recording.2024-07-08.at.8.05.35.PM.movMacOS: DesktopScreen.Recording.2024-07-08.at.8.17.07.PM.movScreen.Recording.2024-07-08.at.8.18.54.PM.movAndroid: NativeScreen.Recording.2024-07-08.at.8.25.22.PM.movAndroid: mWeb ChromeScreen.Recording.2024-07-09.at.3.12.41.PM.moviOS: NativeScreen.Recording.2024-07-09.at.3.10.08.PM.moviOS: mWeb SafariScreen.Recording.2024-07-09.at.3.08.10.PM.mov |
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 approve off this PR, LGTM, hopefully no issues arise this time 🙏
@filip-solecki we have conflicts here ;) |
Resolved |
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 for the patience!
✋ 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/mountiny in version: 9.0.10-2 🚀
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.0.10-3 🚀
@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes. |
Onboarding still can be skipped by navigating to page with RHP. This PR is failing with the original issue #44401 45327.web.mp4 |
@filip-solecki , can you look at this please |
🚀 Deployed to production by https://github.com/mountiny in version: 9.0.10-7 🚀
|
@adamgrzybowski is taking a look |
Hi! I'll take a look at it :) |
@mvtglobally Could you recheck it? I tried to reproduce that and it seems to work fine :) I tested it on a local build and on staging, in both cases it behaves correctly. Screen.Recording.2024-07-24.at.07.34.55.mov |
🚀 Deployed to production by https://github.com/francoisl in version: 9.0.11-5 🚀
|
// We reset the URL as the browser sets it in a way that doesn't match the navigation state | ||
// eslint-disable-next-line no-restricted-globals | ||
history.replaceState({}, '', getPathFromState(state, linkingConfig.config)); |
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.
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.
Yeah, we definetly should make this part platform-specific.
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.
Agree, should we make a issue for this @adamgrzybowski @s77rt ?
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.
Somebody from SWM can take care of this issue if you want
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.
@mountiny Could you please create an issue for this?
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.
const initialState = useMemo(() => { | ||
if (!user || user.isFromPublicDomain) { | ||
return; | ||
} |
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.
This return is too early and prevented public domain users from using the lastVisitedPath
feature.
Repro steps:
- Go to settings
- Open https://dev.new.expensify.com:8082/
- Verify that you land on settings
This only works with private domain users. cc @mountiny
Details
This PR is second attempt to solve this issue. Original PR was reverted due to issues listed below:
#45157
#45196
#44235
#45284
Fixed Issues
$ #44401
PROPOSAL:
Tests
NOTE
While testing on iOS web or Android web the app should not be running in the background on native devices
CASE 1:
onboarding/purpose
with eg.settings/profile
in the URLCASE 2:
Offline tests
QA Steps
While testing on iOS web or Android web the app should not be running in the background on native devices
Dismissing onboarding test steps
CASE 1:
onboarding/purpose
with eg.settings/profile
in the URLCASE 2:
Previous regressions fix test steps
CASE 3
)
CASE 4
CASE 5
CASE 6
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.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: mWeb Chrome
android.webm
iOS: mWeb Safari
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-07-12.at.11.30.39.mp4
MacOS: Chrome / Safari
Web.mov
SSO login issue
SSO.mov
Magic link issue
Magic-link.mov