[NoQA] Add INP improvement workflow guide to contributingGuides#91941
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a408f36c0b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Tag me when it's ready |
|
@OlGierd03 Can you please fix the spell check? |
|
All clear now. I added the word 'Flamegraph' to cspell.json. It's a proper name for a view in React Profiler. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
mountiny
left a comment
There was a problem hiding this comment.
Good guide overall — the iterative framing, console snippet, and example PR links are all really useful. A few things need fixing before merge.
|
@mountiny all comments addressed |
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.2-0 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.4-1 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.4.4-3 🚀
|
Explanation of Change
The guide to improving INP metrics for specific labels was created to help contributors effectively address these common issues. The document, added under
contributingGuides/INP_IMPROVEMENT_WORKFLOW.md, explains how interactions are grouped bydata-sentry-labeland why each entry must be analyzed case-by-case depending on where it was triggered.It then walks contributors through ten areas to consider when tackling an INP regression, covering how to locate relevant call sites, capture baseline React Profiler traces, reduce unnecessary rerenders, speed up rendered components and quantify the gain with the trace analyzer. Each area is accompanied by concrete techniques and links to merged PRs that illustrate the approach in practice.
The document is framed as a set of guidelines rather than a rigid procedure.
Fixed Issues
$ #76128
Tests
N/A
Offline tests
N/A
QA Steps
N/A
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
N/A