You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #417 (upstream main after v0.11.0). Upstream commits 6003ae11feat(changes): add a permanent editor-style scrollbar (9 files, +227/-44) and 84d4fa18perf(diff): use static hover backgrounds in the diff sidebar rows (5 lines). Small dock polish; the second is a fork UX decision.
What upstream did
Permanent scrollbar: the Changes dock gets an always-visible Zed-style vertical scrollbar (15 px track, 25 px minimum thumb, 1 px left border, hover and drag tints) in its own gutter beside #diff-dock-scroll (min_w_0()), with centred track clicks and dragging. New widgets/scrollbar/geometry.rs (SCROLLBAR_SIZE, MIN_THUMB, Track, scrollbar_track, extracted from code/navigation/layout.rs of Zed minimap and scrollbar controls in dock file tabs (upstream e31cf649) #435) and widgets/editor_scrollbar.rs::EditorScrollbar (canvas paint, capture-phase mouse move/up, Rc<Cell<_>> state); DiffDockState.vertical_scrollbar. No tests.
Static hover: Review changed-files rows (file, directory, branch group) swap .animated_hover_bg(resting, hover) for .hover(|s| s.bg(hover)) at three sites and drop the AnimatedHoverExt imports, so a hover no longer schedules a fade animation and its redraws.
Fork still animates: diff_sidebar/mod.rs:18,434,524, rows.rs:8,90; the primitive is fork-authored (ui_primitives.rs:198-244, 7a8ab68a), and 10fbde55 reshaped these rows, so line numbers differ but the sites map 1:1.
Part of #417 (upstream main after v0.11.0). Upstream commits
6003ae11feat(changes): add a permanent editor-style scrollbar(9 files, +227/-44) and84d4fa18perf(diff): use static hover backgrounds in the diff sidebar rows(5 lines). Small dock polish; the second is a fork UX decision.What upstream did
#diff-dock-scroll(min_w_0()), with centred track clicks and dragging. Newwidgets/scrollbar/geometry.rs(SCROLLBAR_SIZE,MIN_THUMB,Track,scrollbar_track, extracted fromcode/navigation/layout.rsof Zed minimap and scrollbar controls in dock file tabs (upstream e31cf649) #435) andwidgets/editor_scrollbar.rs::EditorScrollbar(canvas paint, capture-phase mouse move/up,Rc<Cell<_>>state);DiffDockState.vertical_scrollbar. No tests..animated_hover_bg(resting, hover)for.hover(|s| s.bg(hover))at three sites and drop theAnimatedHoverExtimports, so a hover no longer schedules a fade animation and its redraws.What the fork has
widgets/editor_scrollbar.rs, nowidgets/scrollbar/directory;widgets/scrollbar.rsis the div-overlay design (:1-40,SCROLLBAR_MIN_THUMB = 24at:160). Nocode/navigation/(Zed minimap and scrollbar controls in dock file tabs (upstream e31cf649) #435 not ported).DiffDockStateatmain.rs:1139; dock scroll host atmod.rs:619-650(h_scroll_drag, fix(fork): Changes dock displays Git usage errors for folders without a repository #393 blank-dock branch).diff_sidebar/mod.rs:18,434,524,rows.rs:8,90; the primitive is fork-authored (ui_primitives.rs:198-244,7a8ab68a), and10fbde55reshaped these rows, so line numbers differ but the sites map 1:1.Port
geometry.rsfresh and drop thenavigation/layout.rshunk. Two scrollbar systems will coexist until Zed minimap and scrollbar controls in dock file tabs (upstream e31cf649) #435 lands; say so inwidgets/mod.rs.vertical_scrollbarinto the fork'smod.rs:619-650host, keeping the fix(fork): Changes dock displays Git usage errors for folders without a repository #393 blank-dock branch andh_scroll_drag.84d4fa18: decide whether the fork keeps its animated hover on those rows (it is a deliberate fork choice). If dropped, drop it consistently with the file rows Files tree on a worker thread with cached snapshots (upstream d6a44bfc) #430 touches.Done when
h_scroll_drag) still works and the empty-repo dock stays blank (fix(fork): Changes dock displays Git usage errors for folders without a repository #393).