-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Feature: add loading indicator when ReconnectApp is running #48772
base: main
Are you sure you want to change the base?
Conversation
@dubielzyk-expensify I updated to fix this case. |
Awesome. Can you update the recordings please 😇? |
@dubielzyk-expensify i'll update soon |
@dubielzyk-expensify @getusha i updated, please check again |
I am really excited for this to be in the product 😊 |
@getusha i updated |
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.
minor comments
withTiming(0, {duration: CONST.ANIMATED_PROGRESS_BAR_DURATION, easing: Easing.bezier(0.65, 0, 0.35, 1)}), | ||
withTiming(100, {duration: CONST.ANIMATED_PROGRESS_BAR_DURATION, easing: Easing.bezier(0.65, 0, 0.35, 1)}), | ||
), | ||
-1, |
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.
should we add this to const as well?
withSequence( | ||
withTiming(0, {duration: 0}), | ||
withTiming(0, {duration: CONST.ANIMATED_PROGRESS_BAR_DURATION, easing: Easing.bezier(0.65, 0, 0.35, 1)}), | ||
withTiming(100, {duration: CONST.ANIMATED_PROGRESS_BAR_DURATION, easing: Easing.bezier(0.65, 0, 0.35, 1)}), |
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.
same here
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.
friendly bump @getusha
@nkdengineer the UI is still jumpy, didn't we position it absolute? Screen.Recording.2024-09-27.at.10.48.14.in.the.morning.mov |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeScreen.Recording.2024-10-01.at.12.20.56.in.the.afternoon.moviOS: NativeiOS: mWeb SafariScreen.Recording.2024-09-27.at.11.04.27.in.the.morning.movMacOS: Chrome / SafariScreen.Recording.2024-09-27.at.11.00.26.in.the.morning.movMacOS: Desktop |
@getusha I fixed, please check again |
|
||
const animatedContainerStyle = useAnimatedStyle(() => { | ||
return { | ||
opacity: opacity.value, |
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.
From this comment, Do I need to fix 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.
I think so yes, looks off to leave it like that. WDYT @dubielzyk-expensify?
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.
@nkdengineer have we covered this?
This is looking great! All 👍 from me on the visual end. Love the entry and exit fade too |
Not sure if this is related but the performance on native is really bad it's nearly unusable, i'll check if this is any different on main Screen.Recording.2024-10-01.at.1.04.58.in.the.afternoon.mov |
This comment has been minimized.
This comment has been minimized.
@srikarparsi could you add my device to the provisioning profile? |
Hey @getusha, we have a limited number of devices we can add and we're quite on the edge so I asked @mountiny if he could test. He saw some weird behavior so I wanted to ask, @nkdengineer, can you please merge main and I'll generate a new build and test? |
@srikarparsi merged main, please move forward |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
Yeah, it looks like we introduced a problem with login which is being looked at here. (Slack thread). Once it's fixed, we'll have to merge main again and spin up a new AdHoc build. Once this PR gets merged I'll move forward with that. |
In the meanwhile @shawnborton you can login with a new account (that hasn't been created before) and should be able to test it out. |
Hi @nkdengineer, do you think you could merge main one more time as the sign in bug got merged here? |
I believe this is expected if ReconnectApp is indeed still running. |
@srikarparsi I merged. |
I am not sure, I feel like its misleading as the OpenReport is what is loading all the details for the report so if anything I would expect the loader to indicate that the OpenReport is running on that screen. |
I guess I can't really speak to the technical side of it, but from the linked issue, this is what we decided: On larger screens, display it only on the LHN, and on smaller screens, display it in both the LHN and the content pane (since the content pane takes up the whole screen on mobile) |
Yeah, I'm not really sure but kind of agree with what @dannymcclain said here I also generated a new AdHoc build https://github.com/Expensify/App/actions/runs/11490278696 |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
No problem, I do not want to block on this, I just wanted to note that it was kind of confusing for me. Essentially you are on the Report screen, you see that something is loading but when it stops, nothing really changes for you (as it was not loading the specific report data necessarily) |
Oh dang. Maybe I have been misunderstanding this from the start. So are you saying that ReconnectApp may or may not be loading data for the specific report you're on? In your comment you said nothing really changed for you, but is it possible that something might change based on ReconnectApp running/finishing? Just trying to figure out if it makes sense to keep it on the report screen or not. If it's NEVER going to impact what you see on a report then maybe it's not... But if it might, then it probably is. Would love some more thoughts from @Expensify/design. I'm worried that I haven't quite understood what ReconnectApp is actually doing all this time 😅 (I also don't want to block on this because I think this is a hugely valuable improvement to the app—but we can always make follow-ups if we need to) |
I guess I would view this as the app is checking to see if anything has changed, and it very well could be that nothing has changed but the app needs to think about it and check first. So I don't find this too weird personally I guess? But I also don't feel too strongly, even just having this on the LHN only is a big improvement. |
Yeah that makes sense to me.
In the interest of getting this in the product so we can see how it feels, I'd be down to just proceed how it's been implemented thus far. If we find that it DOES feel super strange, we could come back to it? |
Yeah I don't have much to add other than that I agree with all viewpoints here. I guess the only thing is that I think we should get this into the product, cause I think that we need to see how this performs in real life scenario and over some time before making adjustments. I'm happy to do LHN only though, but agree with Shawn that it's more of a "check in" and that things changing or not isn't really that important |
I'll try wrapping this up today |
Friendly bump on the above @getusha, also there's conflicts now @nkdengineer |
Resolved conflict |
Details
Fixed Issues
$ #46611
PROPOSAL: #46611 (comment)
Tests
Offline tests
QA Steps
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: Native
android.mov
Android: mWeb Chrome
android-mweb.mov
iOS: Native
ios.mov
iOS: mWeb Safari
ios-mweb.mov
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
desktop.mov