Skip to content
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

fix[react-devtools]: update profiling status before receiving response from backend #31117

Merged

Conversation

hoxyq
Copy link
Contributor

@hoxyq hoxyq commented Oct 3, 2024

We can't wait for a response from Backend, because it might take some time to actually finish profiling.

We should keep a flag on the frontend side, so user can quickly see the feedback in the UI.

Copy link

vercel bot commented Oct 3, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
react-compiler-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Oct 4, 2024 1:37pm

Copy link
Contributor

@EdmondChuiHW EdmondChuiHW left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a risk of backend not being able to start profiling for some reason, then the UI would incorrectly show "it's profiling"?

Would it make sense to introduce additional states (other than boolean), e.g. "profiling", "start profiling requested by UI", "stop profiling requested by UI", "idle", etc. Can be done as a follow-up

@hoxyq
Copy link
Contributor Author

hoxyq commented Oct 9, 2024

Is there a risk of backend not being able to start profiling for some reason, then the UI would incorrectly show "it's profiling"?

Would it make sense to introduce additional states (other than boolean), e.g. "profiling", "start profiling requested by UI", "stop profiling requested by UI", "idle", etc. Can be done as a follow-up

Agree, this actually makes more sense. Will add it in a separate PR.

@hoxyq
Copy link
Contributor Author

hoxyq commented Oct 9, 2024

Is there a risk of backend not being able to start profiling for some reason, then the UI would incorrectly show "it's profiling"?

There is a chance, if something wrong happened on the Backend side, and it didn't respond. We should refactor this to a single state and display the message to the user according to the current state, like "Starting a profiler..." -> "Recording..." -> "Stopping profiler..." -> "Collecting data..." -> Success

@hoxyq hoxyq merged commit dbf80c8 into facebook:main Oct 9, 2024
184 checks passed
@hoxyq hoxyq deleted the react-devtools/optimistic-ui-for-profiler-button branch October 9, 2024 12:23
hoxyq added a commit that referenced this pull request Oct 9, 2024
hoxyq added a commit that referenced this pull request Oct 15, 2024
Changes in this release:

* Fix React Compiler badging ([poteto](https:/poteto) in
[#31196](#31196))
* fix[react-devtools]: fixed timeline profiler tests
([hoxyq](https:/hoxyq) in
[#31261](#31261))
* fix[react-devtools]: record timeline data only when supported
([hoxyq](https:/hoxyq) in
[#31154](#31154))
* refactor[react-devtools]: flatten reload and profile config
([hoxyq](https:/hoxyq) in
[#31132](#31132))
* fix[react-devtools]: remove all listeners when Agent is shutdown
([hoxyq](https:/hoxyq) in
[#31151](#31151))
* fix[react-devtools]: removed redundant startProfiling call
([hoxyq](https:/hoxyq) in
[#31131](#31131))
* refactor[react-devtools/fiber/renderer]: optimize durations resolution
([hoxyq](https:/hoxyq) in
[#31118](#31118))
* fix[react-devtools]: update profiling status before receiving response
from backend ([hoxyq](https:/hoxyq) in
[#31117](#31117))
* fix[react-devtools]: wrap key string in preformatted text html element
([hoxyq](https:/hoxyq) in
[#31153](#31153))
* chore[react-devtools]: drop legacy context tests
([hoxyq](https:/hoxyq) in
[#31059](#31059))
* chore[react-devtools]: add legacy mode error message to the ignore
list for tests ([hoxyq](https:/hoxyq) in
[#31060](#31060))
* fix[react-devtools]: request hook initialization inside http server
response ([hoxyq](https:/hoxyq) in
[#31102](#31102))
* [Flight] Serialize Server Components Props in DEV
([sebmarkbage](https:/sebmarkbage) in
[#31105](#31105))
* Add: reload to profile for Fusebox
([EdmondChuiHW](https:/EdmondChuiHW) in
[#31021](#31021))
* refactor: allow custom impl of backend realod-to-profile support check
([EdmondChuiHW](https:/EdmondChuiHW) in
[#31048](#31048))
* fix: use public instance in Fiber renderer and expose it from
getInspectorDataForViewAtPoint ([hoxyq](https:/hoxyq) in
[#31068](#31068))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants