-
Notifications
You must be signed in to change notification settings - Fork 49.8k
[DevTools] Apply Activity slice filter when double clicking Activity #34908
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
[DevTools] Apply Activity slice filter when double clicking Activity #34908
Conversation
83ee7f9 to
4c7ddf7
Compare
| ▾ <Layout> | ||
| <Activity name="/blog"> | ||
| [suspense-root] rects={[{x:1,y:2,width:4,height:1}, {x:1,y:2,width:13,height:1}]} | ||
| <Suspense name="Unknown" rects={[{x:1,y:2,width:4,height:1}, {x:1,y:2,width:13,height:1}]}> |
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.
Name heuristic breaks once the Owner is filtered. Need to think about how to fix this. Only problematic when the Activity and Suspense share the same owner.
0ab7239 to
fe34bef
Compare
1e3e641 to
ac9430f
Compare
ac9430f to
f8d9db4
Compare
abc787f to
85f1f2c
Compare
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 this is landable. A few things I'd like to see:
- Fix the bug where you can't dismiss the ActivitySlice component (with multiple roots?)
- Hide content of other roots than the one the focused ID is in. Not the root itself.
- Rename everything that refers to Activity here, to just be general focusedFiber, focusedID, FocusedSlice, etc. Also allow double click on any built-in (none of which are owners). Except ActivityList since that one is specifically for help surfacing Activity boundaries.
|
Ofc additional follow ups include:
|
f66641e to
9b496af
Compare
72b94c4 to
32164cb
Compare
32164cb to
e86dd12
Compare
Stacked on #34929
Initial idea was to just filter on the frontend but this is hard to do with the reliance on node weights for virtualization. Removing the part below the slice is trivial since that's just collapsing but the part above is harder.
This implements the slices with a backend filter and frontend collapsing. During reconciliation, we keep track on the stack whether we're in the focused Activity or not.
On the frontend, we collapse the Activities at the lower boundary. That way you can see the slice in the Components tab but the Suspense tab shows the full loading sequence of the segment.
Will add the Activity pane to the Components tab in a follow-up. Double clicking an Activity already switches to the slice view. The Activity will not own any Components anyway.
CleanShot.2025-11-07.at.14.17.53.mp4