-
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
[No QA][Internal] Set up firebase performance for web #47795
[No QA][Internal] Set up firebase performance for web #47795
Conversation
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.
Left comments.
import {initializeApp} from 'firebase/app'; | ||
import {getPerformance, initializePerformance} from 'firebase/performance'; | ||
|
||
// TODO add newly created Firebase web project details before merging |
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.
Let's mention an issue or PR link.
// TODO add newly created Firebase web project details before merging | |
// TODO add newly created Firebase web project details before merging |
apiKey: 'YOUR_API_KEY', | ||
authDomain: 'YOUR_AUTH_DOMAIN', | ||
projectId: 'YOUR_PROJECT_ID', | ||
storageBucket: 'YOUR_STORAGE_BUCKET', | ||
messagingSenderId: 'YOUR_MESSAGING_SENDER_ID', | ||
appId: 'YOUR_APP_ID', | ||
measurementId: 'YOUR_MEASUREMENT_ID', |
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 import values from env
?
measurementId: 'YOUR_MEASUREMENT_ID', | ||
}; | ||
|
||
// Initialize Firebase |
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 is clear here.
// Initialize Firebase |
@hungvu193 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] |
Not sure if this one need a C+ |
@hungvu193 I think we can skip C+ review on this one. |
.env.example
Outdated
|
||
FB_API_KEY=YOUR_API_KEY | ||
FB_APP_ID=YOUR_APP_ID | ||
FB_PROJECT_ID=YOUR_PROJECT_ID |
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 you add a new empty line at the end of the file please? This will help avoid lint warnings
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.
Also are these public API keys?
Looking into setting up the new project and the keys |
@rinej here's the firebase config file for the production App. Let me know if we also need projects for dev and adhoc builds:
|
@rinej let me know if there's anything else you need from me at this point |
I think it would best to have it in the env, to not to store in the public repo. Are we ok with storing it just in the repo? Or there is other way we can get it from config? |
Those credentials are public so I think we can just store them in the .env file |
ok, sounds good @luacmartins thanks! |
@rinej here's the config for the dev project
|
Thank you! I added the changes, I added the Prod values in the |
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 one minor comment
@rinej is this ready for review again? |
@luacmartins Yes, it's 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.
LGTM
Reviewer Checklist
Screenshots/VideosN/A internal metric tracking only 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/luacmartins in version: 9.0.38-0 🚀
|
🚀 Deployed to production by https://github.com/grgia in version: 9.0.38-4 🚀
|
Details
Currently we use react-native-firebase for tracking performance issues on mobile, we need to add firebase web lib to support it on the WEB.
❗️ We will need someone from the internal team to create new Firebase Project and set the proper environmental variables so we can take it from ENV:
Fixed Issues
$ #47707
PROPOSAL: https://callstack-hq.slack.com/archives/C01GTK53T8Q/p1724785119841979
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.-[x] I verified that comments were added to code that is not self explanatory
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