mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-13 09:06:27 -04:00
When escaping to a focused main view scrolled down, the re-render keeps the previous content as a placeholder and the task scrolls to the saved position at its first paint. But the task's writes mark the view tainted, so any layout pass landing between the first write and the first paint rebuilds the view lines from the half-loaded buffer and draws them at the placeholder's scroll — a brief frame of the wrong content at the wrong scroll before it snaps into place. Intermittent, and only visible when the load is slow enough for a layout pass to fall in that window. Give the view a hold: while set, refreshViewLinesIfNeeded keeps the current view lines instead of rebuilding from the buffer, so the view goes on drawing the coherent placeholder. The re-render task sets it only when restoring a scroll position (so the normal load-from-top case is untouched) and releases it at its first paint, which applies the saved scroll in the same step — so the loaded content appears at the restored scroll with no intermediate frame. While held, the displayed view lines need not match the loading buffer, so the view-line→buffer-line mapping reports no result. This needs interactive verification (LAZYGIT_SLOW_RENDER + a real pager); see focused-main-view-notes.md §13. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| cheatsheet | ||
| commands | ||
| common | ||
| config | ||
| constants | ||
| env | ||
| fakes | ||
| gocui | ||
| gui | ||
| i18n | ||
| integration | ||
| jsonschema | ||
| logs | ||
| snake | ||
| tasks | ||
| theme | ||
| updates | ||
| utils | ||