Repository navigation
Conversation
Finish the row exit within a fixed 500ms budget instead of holding its layout space until the mutation resolves. The slide/fade remains 350ms; the grid track then collapses over 150ms so slow networks cannot leave an invisible blank row. Group actions collapse the header and rows together, failures restore the layout, and Reduce Motion collapses immediately. Cache updates remain pessimistic.
Close the row's layout space at the end of the 350ms slide instead of animating a further 150ms height transition. This matches main's instant vertical reflow while keeping the gap bounded on slow requests.
The exit wrapper's grid needs an explicit single column and min-width constraints so an unwrapped long title cannot widen the row and drag the hover action rail offscreen. Add browser coverage for the row width and rail alignment.
Upgrade the renderer to react-router 8.5.0 and add a shared navigation wrapper that starts route transitions for React view transitions. Add route enter/exit CSS with reduced-motion handling, retain the notifications route with Activity, and refresh notification alerts through useEffectEvent. Keep the tray effect unchanged because it has no resubscription work to remove. Add route, transition, rapid-navigation, reduced-motion, retention, and Electron smoke coverage. Document the deferred change-02 focus-intent dependency.
Keep the sidebar out of the view-transition tree and use opaque route snapshots with a short slide instead of a full-page crossfade. Revert the retained Activity notifications route because keeping it mounted slowed switches to heavier views such as Filters. Park stray pointer hover before route screenshots so high-contrast visual baselines are deterministic.
Give the sidebar its own static view-transition snapshot so the root crossfade cannot fade it during route changes.
Browser view transitions repeatedly captured and faded the sidebar despite named layers. Replace them with a route-only CSS slide and remove the route background that covered the fixed sidebar padding.
Route changes now swap immediately. This keeps the sidebar stable and interactive and removes the animation timing that made heavy views feel slow.
|
Member
Author
|
replaced by #3593 impl |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
react-router-dom@7.18.5toreact-router@8.5.0and migrate all imports, test helpers, and mocks.useAppNavigate, wrapping the router hook with a guard test that keeps rawuseNavigateusage inside the wrapper.<Activity>notifications route after local testing showed it added cost to route switches.useEffectEvent; keep the tray effect unchanged because it has no resubscription work to remove.ARCHITECTURE.mdfor the route composition.Verification
pnpm checkpnpm test:visual— 176 tests passed in the pinned Linux containerpnpm buildDeferred
02-add-notification-list-positioningare not present onmain(removed inb15d4c92), so the focus-intent navigation test cannot be written yet.The change remains a draft until those two focus-related items can be completed.