-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Internal QA]: feat: Unmask tooltip copy for Fullstory #55650
Conversation
@twilight2294 Any update on this? |
Should we mark this no QA ? I don't think we can test this one, if so I can open this for review |
@twilight2294 I think you're right, based on this PR they had to do |
@@ -122,12 +122,20 @@ function BaseGenericTooltip({ | |||
|
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.
@jjcoffee do you have any idea if we have FS sessions for Native devices as well, if so then i need to update index.native.tsx as well, let me know
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'm not sure about this, maybe @puneetlath knows?
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.
Yes, we do.
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
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.
LGTM overall, this needs internal testing though as the changes will only be visible in FS.
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.
We need to update for native mobile as well.
thanks for the review @puneetlath , I updated the code accordingly |
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.
@puneetlath I'm not too familiar with how we use FS, but based on this, it might need to be on staging before it can be tested? |
I was testing locally, but it's possible I was doing something wrong. What about the constant. Shall we change that? |
Yes, I like that idea! Let's use the |
<View style={[styles.mh100, onboardingIsMediumOrLargerScreenWidth && StyleUtils.getWidthStyle(width), safeAreaPaddingBottomStyle]}> | ||
<View | ||
style={[styles.mh100, onboardingIsMediumOrLargerScreenWidth && StyleUtils.getWidthStyle(width), safeAreaPaddingBottomStyle]} | ||
fsClass="fs-unmask" |
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.
@jjcoffee @puneetlath if we use const then the above prop will be:
fsClass=`${CONST.FULL_STORY.UNMASK}`
This is what is expected right ? we would need to include `` because we are using a const, asking just to be sure
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 you just want to do fsClass={CONST.FULL_STORY.UNMASK}
? Please also see this comment, I think we need to use parseFSAttributes
in order for this to work.
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.
you sure that it would assign fsClass
an string value? because i think fsClass
will only need string values
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.
Please also see #55766 (comment), I think we need to use parseFSAttributes in order for this to work.
I'll take a look
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.
you sure that it would assign fsClass an string value? because i think fsClass will only need string values
@twilight2294 I'm not sure what you mean here, can't you just test it and see if the class gets added? I don't see why it wouldn't, however!
Also bump on the parseFSAttributes
question.
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 updated, working on the failing unit tests, do you have any idea what might have caused it
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'm not sure but if I comment out useLayoutEffect(parseFSAttributes, [])
only on ProductTrainingContext
, the test no longer fails.
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.
umm, testing what can be done 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.
@jjcoffee I got the fix, we didn't mock FullStory
lib in the unit tests like we do here:
App/tests/perf-test/ReportActionsList.perf-test.tsx
Lines 29 to 33 in 631006e
jest.mock('@libs/Fullstory', () => ({ | |
default: { | |
consentAndIdentify: jest.fn(), | |
}, | |
getFSAttributes: jest.fn(), |
So the tests were failing, I have updated it now 🥳
Apologies for the delay here, I will push the update now
<View style={[styles.mh100, onboardingIsMediumOrLargerScreenWidth && StyleUtils.getWidthStyle(width), safeAreaPaddingBottomStyle]}> | ||
<View | ||
style={[styles.mh100, onboardingIsMediumOrLargerScreenWidth && StyleUtils.getWidthStyle(width), safeAreaPaddingBottomStyle]} | ||
fsClass={CONST.FULL_STORY.UNMASK} |
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.
yes thanks, will update
Any update here? |
Working on fixing the failing test |
@jjcoffee @puneetlath all yours, apologies for the delay |
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, LGTM!
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.
Just a comment about comments. Otherwise looks good!
Also, you have conflicts.
@@ -264,6 +265,9 @@ function FeatureTrainingModal({ | |||
onConfirm?.(); | |||
}, [onConfirm, closeModal]); | |||
|
|||
// Parse Fullstory attributes on initial render |
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.
Can we please update this comment to say "why", not just "what"?
@@ -36,6 +37,9 @@ function OnboardingWelcomeVideo() { | |||
const StyleUtils = useStyleUtils(); | |||
const {shouldUseNarrowLayout} = useResponsiveLayout(); | |||
|
|||
// Parse Fullstory attributes on initial render |
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.
Can we please update this comment to say "why", not just "what"?
@@ -173,11 +174,15 @@ const useProductTrainingContext = (tooltipName: ProductTrainingTooltipName, shou | |||
}; | |||
}, [tooltipName, registerTooltip, unregisterTooltip, shouldShow]); | |||
|
|||
// Parse Fullstory attributes on initial render |
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 comment.
@@ -101,15 +102,26 @@ function BaseGenericTooltip({ | |||
}); | |||
}); | |||
|
|||
// Parse Fullstory attributes on initial render |
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 comment.
@@ -120,12 +121,16 @@ function BaseGenericTooltip({ | |||
return StyleUtils.getTooltipAnimatedStyles({tooltipContentWidth: contentMeasuredWidth, tooltipWrapperHeight: wrapperMeasuredHeight, currentSize: animation}); | |||
}); | |||
|
|||
// Parse Fullstory attributes on initial render |
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 comment.
✋ 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/puneetlath in version: 9.0.98-0 🚀
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.0.98-8 🚀
|
Explanation of Change
Fixed Issues
$ #55425
PROPOSAL: #55425 (comment)
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)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: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop