KEMBAR78
Comparing df38ac9a...d15d7fd7 · facebook/react · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: facebook/react
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: df38ac9a
Choose a base ref
...
head repository: facebook/react
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d15d7fd7
Choose a head ref
  • 15 commits
  • 32 files changed
  • 3 contributors

Commits on Sep 26, 2025

  1. flags: make enableAsyncDebugInfo dynamic for www (#34430)

    As titled. This adds dev-only debugging information to Fizz / Flight
    that could be used for tracking Promise's stack traces in "suspended by"
    section of DevTools.
    hoxyq authored Sep 26, 2025
    Configuration menu
    Copy the full SHA
    c552618 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8a24ef3 View commit details
    Browse the repository at this point in the history
  3. [DevTools] Move Timeline to footer instead of header (#34617)

    One thing that always bothered me is that the collapse buttons on either
    side of the toolbar looks like left/right buttons which would conflict
    with some steps buttons I plan to add. Another issue is that we'll need
    to add more tool buttons to the top and probably eventually a Search
    field. Ideally this whole section should line up vertically with the
    height of the title row.
    
    I also realized that all UIs that have some kind of timeline control
    (and play/pause/skip) do that in the bottom below the content. E.g.
    music players and video players all do that. We're better off playing
    into that structure since that's the UI analogy we're going for here.
    Makes it clearer what the weird timeline is for.
    
    By moving it to the bottom it also frees up the top for the collapse
    buttons and more controls.
    
    __Horizontal__
    
    <img width="794" height="809" alt="Screenshot 2025-09-26 at 3 40 35 PM"
    src="https://github.com/user-attachments/assets/dacad9c4-d52f-4b66-9585-5cc74f230e6f"
    />
    
    __Vertical__
    
    <img width="570" height="812" alt="Screenshot 2025-09-26 at 3 40 53 PM"
    src="https://github.com/user-attachments/assets/db225413-849e-46f1-b764-8fbd08b395c4"
    />
    sebmarkbage authored Sep 26, 2025
    Configuration menu
    Copy the full SHA
    2622487 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2025

  1. Configuration menu
    Copy the full SHA
    e08f53b View commit details
    Browse the repository at this point in the history
  2. [DevTools] Recursively compute the bounding rect of the roots (#34629)

    It's possible for the children to overflow the bounding rect of the root
    in general when they overflow in the DOM. However even when it doesn't
    overflow in the DOM, the bounding rect of the root can shrink while the
    content is suspended. In fact, it's very likely.
    
    Originally I thought we didn't need to consider this recursively because
    document scrolling takes absolute positioned content into account but
    because we're using nested overflow scrolling, we have to manually
    compute this.
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    f78b234 View commit details
    Browse the repository at this point in the history
  3. [DevTools] Larger panel buttons and center (#34619)

    The panel icons are quite small. Especially compared to the equivalent
    buttons elsewhere in Chrome DevTools that otherwise use the same icons.
    This makes them a little bigger to make them similar size to our other
    button icons.
    
    They were also a bit off center. This centers them as well.
    
    Before:
    
    <img width="409" height="426" alt="Screenshot 2025-09-26 at 4 23 15 PM"
    src="https://github.com/user-attachments/assets/4a5de032-e316-44ed-9424-8bccce00f0cd"
    />
    
    After:
    
    <img width="519" height="388" alt="Screenshot 2025-09-26 at 4 22 57 PM"
    src="https://github.com/user-attachments/assets/1763e522-5683-4fac-a913-27910a30a039"
    />
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    09d3cd8 View commit details
    Browse the repository at this point in the history
  4. [Fiber][DevTools] Add scheduleRetry to DevTools Hook (#34635)

    When forcing suspense/error we're doing that by scheduling a sync update
    on the fiber. Resuspending a Suspense boundary can only happen sync
    update so that makes sense. Erroring also forces a sync commit. This
    means that no View Transitions fire.
    
    However, unsuspending (and dismissing an error dialog) can be async so
    the reveal should be able to be async.
    
    This adds another hook for scheduling using the Retry lane. That way
    when you play through a reveal sequence of Suspense boundaries (like
    playing through the timeline), it'll run the animations that would've
    ran during a loading sequence.
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    8309724 View commit details
    Browse the repository at this point in the history
  5. [DevTools] Add Settings button on Suspense Tab (#34624)

    The settings dialog appears on all tabs and should be reachable from
    Suspense tab too. It's a bit weird because it's not contextual to the
    tab and it shows you whatever your last settings tab was opened. Maybe
    it should default to opening to the current tab's settings?
    
    There aren't any Suspense specific settings yet but there definitely
    will be. We could move the "Show all" into settings but it might be
    frequently that you want to check why something isn't suspending a
    Suspense boundary or test SSR streaming.
    
    However, the general settings still apply to the Suspense tab. E.g.
    switching dark/light mode.
    
    <img width="857" height="233" alt="Screenshot 2025-09-27 at 12 35 05 PM"
    src="https://github.com/user-attachments/assets/4a38e94f-2074-4dce-906b-9a1c40bccb9b"
    />
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    a7d8ddd View commit details
    Browse the repository at this point in the history
  6. [DevTools] Use pretty icon with icon for unique suspenders toggle (#3…

    …4625)
    
    Stacked on #34624.
    
    <img width="638" height="170" alt="Screenshot 2025-09-27 at 12 57 10 PM"
    src="https://github.com/user-attachments/assets/f67023b1-e7be-4252-93ab-6302bc63ac26"
    />
    <img width="641" height="250" alt="Screenshot 2025-09-27 at 12 57 21 PM"
    src="https://github.com/user-attachments/assets/f96a9b48-c6f4-406f-a0ea-b3da288411b5"
    />
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    e2d19bf View commit details
    Browse the repository at this point in the history
  7. [DevTools] Add Play/Pause and Skip Controls to the Timeline (#34620)

    Stacked on #34625.
    
    This is a nice way to step through the timeline and simulate the visuals
    on screen as you do it. It's also convenient to step through one at a
    time, especially with the forwards button.
    
    However, the secondary purpose of this is that it helps anchor the UI
    visually as something like a timeline like in a video so that the
    timeline itself becomes more identifiable.
    
    
    https://github.com/user-attachments/assets/cb367c8e-9efb-4a00-a58e-4579be20beb8
    sebmarkbage authored Sep 28, 2025
    Configuration menu
    Copy the full SHA
    7c0fff6 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2025

  1. [DevTools] Custom Scrubber Design (#34627)

    Stacked on #34620.
    
    This will let us use different color for different segments of the
    timeline.
    
    Since we're modeling discrete steps (sometimes just a couple), a
    scrubber with a handle that you have to move is quite annoying and
    misleading. Doesn't show you how many steps there are. Therefore I went
    with a design that highlights each segment as its own step and you can
    click to jump to a step.
    
    This is still backed by an input range for accessibility and keyboard
    controls.
    
    <img width="1213" height="434" alt="Screenshot 2025-09-27 at 4 50 21 PM"
    src="https://github.com/user-attachments/assets/2c81753d-1b66-4434-8b1d-0a163fa22ab3"
    />
    <img width="1213" height="430" alt="Screenshot 2025-09-27 at 4 50 45 PM"
    src="https://github.com/user-attachments/assets/07983978-a8f6-46ed-8c51-6ec96487af66"
    />
    
    
    https://github.com/user-attachments/assets/bc725f01-f0b5-40a8-bbb5-24cc4e84e86d
    sebmarkbage authored Sep 29, 2025
    Configuration menu
    Copy the full SHA
    dce1f6c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2bbb7be View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    24e260d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8674c3b View commit details
    Browse the repository at this point in the history
  5. [DevTools] Double click a Suspense Rect to jump to its position in th…

    …e timeline (#34642)
    
    When you double click it will hide or show by jumping to the selected
    index or one step before the selected.
    
    Let's you go from a suspense boundary into the timeline to find its
    position. I also highlight the step in the timeline when you hover the
    rect.
    
    This only works if it's in the selected root but all of those should be
    merged into one single timeline.
    
    One thing that's weird about the SuspenseNodes now is that they
    sometimes gets deleted but not always when they're resupended. Nested
    ones maybe? This means that if you double click to hide it, you can't
    double click again to show it. This seems like an unrelated bug that we
    should fix.
    
    We could potentially repurpose the existing "Suspend" button in the
    toolbar to do this too, or maybe add another icon there.
    sebmarkbage authored Sep 29, 2025
    Configuration menu
    Copy the full SHA
    d15d7fd View commit details
    Browse the repository at this point in the history
Loading