mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-06-09 22:05:16 +02:00
101d7965ae
Commit4f0393f97bcaused a regression: for operations that use WithWaitingStatusSync (examples are squashing fixups, moving commits up or down, cherry-picking, creating fixup commits, and more), the waiting status wouldn't show during the operation; however, it would show after the operation was done, and then linger forever. The cause: since4f0393f97b, layout sizes the bottom line from the actual content of the AppStatus view rather than from the status manager. The async render path keeps the view in sync (it sets the buffer on the first tick and clears it to "" when the status ends), but the sync path used by WithWaitingStatusSync did not: - It called ForceLayoutAndRedraw before writing anything to the view, so layout saw an empty buffer and left no room; the status never appeared during the operation. - When the operation finished it just broke out of the loop, leaving the last spinner frame in the buffer. Every subsequent layout kept reserving room for that stale content, so the status stuck around forever. Fix this by writing the status into the view before the initial layout, and clearing it again when stopping.