jesseduffield.lazygit/pkg/gui
Stefan Haller fce4816a0d Fix branch selection jumping back on background fetch
When refreshing the branches list, we have code to keep the same branch selected
even when the refresh changes the sort order; this code remembers the selected
branch before the refresh, and then tries to select it again afterwards (looking
it up by name) if it is still there.

However, we stored the previously selected branch too early, before even
obtaining the branches list; if the user moved the selection between that point
and the end of the refresh, it would jump back. Fix this by remembering the
previous selection only at the last moment, right before assigning the new
branches slice.

We still have a race condition here between the UI code that manages the
selection as the user presses arrow keys, and the background thread doing the
refresh that reads and restores the selection; however, the race was there
before, and we make it neither better nor worse with this PR. It doesn't seem to
be a problem in practice.
2025-05-29 14:41:59 +02:00
..
context Add user config gui.addRootItemInFileTree 2025-05-24 18:17:25 +02:00
controllers Fix branch selection jumping back on background fetch 2025-05-29 14:41:59 +02:00
filetree Add user config gui.addRootItemInFileTree 2025-05-24 18:17:25 +02:00
keybindings Move labelByKey to config package 2025-02-21 13:20:33 +01:00
mergeconflicts Remove utils.Clamp, use lo.Clamp instead 2025-04-21 18:03:18 +02:00
modes Make Commit.Hash a getter for an unexported hash field 2025-04-29 14:57:15 +02:00
patch_exploring Fix crash when dragging from below the end of the diff upwards and then staging the range 2025-04-11 10:14:46 +02:00
popup Remove return value of Alert/Confirm/Prompt 2024-09-06 08:45:48 +02:00
presentation Add user config gui.addRootItemInFileTree 2025-05-24 18:17:25 +02:00
services/custom_commands Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
status Move Loader to presentation package 2025-05-06 09:52:53 +02:00
style Add function to render a hyperlink 2024-08-24 10:36:01 +02:00
types Add ContextMgr.NextInStack and use it to access side panel of focused main view 2025-05-22 14:38:40 +02:00
background.go Add config for auto-forwarding branches after fetching 2025-04-21 18:06:09 +02:00
command_log_panel.go fix wording of random tip 2025-04-29 14:13:55 +02:00
context.go Add ContextMgr.NextInStack and use it to access side panel of focused main view 2025-05-22 14:38:40 +02:00
context_config.go move some methods 2023-04-30 13:19:53 +10:00
controllers.go Add new command "Move commits to new branch" 2025-04-21 18:12:50 +02:00
dummies.go Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
editors.go Show "hooks disabled" in title bar of commit message editor 2025-04-10 08:57:32 +02:00
extras_panel.go Add pageUp/pageDown/top/bottom keybindings to focused command log panel 2025-04-08 16:11:15 +02:00
global_handlers.go Make home and end keys work in prompts 2025-05-22 08:48:38 +02:00
gui.go Remove ICmdObj interface 2025-05-01 15:21:37 +02:00
gui_common.go Remove ICmdObj interface 2025-05-01 15:21:37 +02:00
gui_driver.go Fix clicking multiple times in an integration test 2024-10-18 10:06:52 +02:00
information_panel.go Bump gocui and adapt lazygit code 2024-12-01 10:40:08 +01:00
keybindings.go Add pageUp/pageDown/top/bottom keybindings to focused command log panel 2025-04-08 16:11:15 +02:00
layout.go Add IGuiCommon.GetViewBufferManagerForView 2025-04-21 18:03:18 +02:00
main_panels.go Fix race with PTYs in integration tests 2025-03-28 11:16:04 +01:00
menu_panel.go Cleanup: get rid of the variadic parameter of ContextMgr.Push 2025-04-08 16:08:25 +02:00
options_map.go Make WorkingTreeState a struct, and add cherry-picking and reverting states 2025-04-20 15:53:17 +02:00
pty.go Fix race with PTYs in integration tests 2025-03-28 11:16:04 +01:00
pty_windows.go Format code to pass lint 2021-09-16 21:38:43 +08:00
recent_repos_panel.go Remove unused field gui.IsNewRepo 2024-12-01 10:44:26 +01:00
tasks_adapter.go Change NewRenderStringWith{out}ScrollTask to reuse the task key of the existing task 2024-10-18 22:46:47 +02:00
test_mode.go Don't wait in integration tests when running in headless mode 2024-06-05 14:44:02 +02:00
view_helpers.go Add ContextMgr.NextInStack and use it to access side panel of focused main view 2025-05-22 14:38:40 +02:00
views.go Enable AutoRenderHyperLinks for the tooltip view 2025-04-08 16:05:34 +02:00