-
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
[No QA] [Reassure] Sign in base perf flow #34228
Conversation
@cubuspl42 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] |
@cubuspl42 oh yeah, we split the work to help Olimpia, #33229 is a big ticket with sub-tickets, should I comment there that we are working on this? |
@gedu Yeah, let's do that to keep track of who's responsible for which tasks |
Actually, as the issue is complex, as you say, could you fill the "Details" section with a (possibly short) summary of what is done in the scope of this PR? |
import * as TestHelper from '../utils/TestHelper'; | ||
import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; | ||
import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; | ||
|
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 assume that there's no easy or conventional way to make this .perf-test
file a TypeScript one?
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 can try for sure, will double check if it is a must
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 the TS team, they told me it is optional
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 just checked, and the existing perf-tests are roughly 50% TypeScript.
I think this is not good just having the general consistency practices in mind; we should decide to use either (preferably TypeScript)
As the general tendency in the project is to migrate things to TypeScript, not add more JS when TypeScript is already used somewhere, I'll ask to rewrite this to TypeScript; sorry.
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 guess it seems it depends if the tested components are in TS, if we can write this in TS now @gedu @OlimpiaZurek lets do it, but if not fine to keep it js until the dependencies are ready
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.
Does it give type errors to use the not-yet-migrated stuff, or just a bunch of any
s flying around?
isSAMLEnabled: false, | ||
isLoading: false, | ||
requiresTwoFactorAuth: false, | ||
} as Account; |
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.
Is the cast really necessary?
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.
It isn't, just helped me at first with auto-complete
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.
Then remove it, please! Don't ever leave unnecessary casts.
Please fill the "Tests" section. We changed both the app code and added tests. How did you check that this works? What is another engineer supposed to do to reproduce your actions? Please fill the "QA Steps". Does this project depend on QA at all? If no, then write "No QA". Please add at least one video, can be for the "MacOS: Chrome / Safari" platform. This serves as proof that the PR author actually did the first phase of testing, increasing our confidence that the changes are adequately tested. |
I'm asking Olimpia who is in charge of the ticket what should be the expected steps, and what kind of information should I add. |
@cubuspl42 I asked Olimpia, and there is no need of testing, reproduction steps and videos. Sorry for the missing information, learning the process. |
import * as TestHelper from '../utils/TestHelper'; | ||
import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; | ||
import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; | ||
|
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 just checked, and the existing perf-tests are roughly 50% TypeScript.
I think this is not good just having the general consistency practices in mind; we should decide to use either (preferably TypeScript)
As the general tendency in the project is to migrate things to TypeScript, not add more JS when TypeScript is already used somewhere, I'll ask to rewrite this to TypeScript; sorry.
isSAMLEnabled: false, | ||
isLoading: false, | ||
requiresTwoFactorAuth: false, | ||
} as Account; |
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.
Then remove it, please! Don't ever leave unnecessary casts.
import * as TestHelper from '../utils/TestHelper'; | ||
import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; | ||
import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; | ||
|
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 guess it seems it depends if the tested components are in TS, if we can write this in TS now @gedu @OlimpiaZurek lets do it, but if not fine to keep it js until the dependencies are ready
@mountiny All good now, I changed the type to support null, given that it is being used on some parts of the project |
@mountiny Do you confirm this? Does it mean that I also should just review the code? |
@cubuspl42 Yes, sorry for the confusion, all the perf tests PRs did not have c+ review since there is nothing to test and the code is more about mocking correct data |
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 @gedu! The test looks solid, lets be on a look out for any flakiness
Reviewer Checklist
Screenshots/VideosN/A Android: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
✋ 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: 1.4.32-0 🚀
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.4.32-5 🚀
|
Details
Fixed Issues
$ #33229
PROPOSAL: -
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 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)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label 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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop