jesseduffield.lazygit/pkg/gui
Stefan Haller f0ea537956 Fetch pull requests using the freshly-loaded branches and remotes
The PR fetch needs the current branches (for their upstreams) and
remotes to know what to query. It read them from Model().Branches /
Model().Remotes on its own worker, after waiting on branchesAndRemotesWg
for the branches and remotes refreshes to finish.

That wait no longer guarantees fresh data: those refreshes now write the
model in a bounce onto the UI thread, and Done() fires before the bounce
has been processed. So the fetch read the pre-refresh lists — most
visibly, checking out a branch that has a PR wouldn't show that PR until
the next refresh, because the fetch queried the old branch set.

Have refreshBranches / refreshReflogAndBranches / refreshRemotes return
what they loaded, stash it in locals in Refresh, and hand it to the
fetch. The wait on branchesAndRemotesWg orders the fetch after both
loads have stored their slices, so it fetches against exactly the
branches and remotes that were just loaded, with no model read on the
worker. The previous commit guarantees both are always in scope when
pull requests are, so no fallback is needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 18:09:33 +02:00
..
context Show renamed files in the custom patch builder 2026-07-04 13:05:09 +02:00
controllers Fetch pull requests using the freshly-loaded branches and remotes 2026-07-07 18:09:33 +02:00
filetree Clamp the commit-file tree selection when the tree is rebuilt 2026-07-07 18:09:33 +02:00
mergeconflicts Pick both hunks, not the common ancestor, in diff3 conflicts 2026-07-01 09:57:26 +02:00
modes Make Commit.Hash a getter for an unexported hash field 2025-04-29 14:57:15 +02:00
patch_exploring Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
popup Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
presentation Show renamed files in the custom patch builder 2026-07-04 13:05:09 +02:00
services/custom_commands Only prompt to continue a rebase/merge if we started it 2026-07-03 18:28:07 +02:00
status Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
style Modernize all codes 2025-11-15 10:46:23 +01:00
types Select the checked-out branch via a refresh intent, not off-thread 2026-07-07 18:09:33 +02:00
background.go Tag background routines and their refreshes as background tasks 2026-07-07 18:09:33 +02:00
command_log_panel.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
context.go Bump gocui (and tcell) 2025-12-23 16:49:16 +01:00
context_config.go Remove some unused code 2025-07-08 15:14:45 +02:00
controllers.go Redesign the 'w' worktree-creation flow 2026-07-03 18:53:05 +02:00
dummies.go Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
editors.go Move modifiers into Key 2026-04-30 22:22:53 +02:00
extras_panel.go Rename Key to Keys in Binding, KeybindingsOpts, and MenuItem 2026-05-25 15:18:18 +02:00
global_handlers.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
gui.go Add background tasks and a synchronous busy query to gocui 2026-07-07 18:09:33 +02:00
gui_common.go Add background tasks and a synchronous busy query to gocui 2026-07-07 18:09:33 +02:00
gui_driver.go Only prompt to continue a rebase/merge if we started it 2026-07-03 18:28:07 +02:00
information_panel.go Rename ModeStatus.Description to InfoLabel 2025-08-14 17:59:38 +02:00
keybindings.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
layout.go Show each panel's first configured tab by default 2026-06-23 14:15:18 +02:00
main_panels.go Run moveMainContextPairToTop before queueing main-view tasks 2026-07-02 17:32:01 +02:00
menu_panel.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
options_map.go Cleanup: filter out empty keybindings earlier 2026-05-28 19:26:43 +02:00
pty.go Add pty support on Windows via ConPTY 2026-07-03 18:47:15 +02:00
recent_repos_panel.go Remove unused field gui.IsNewRepo 2024-12-01 10:44:26 +01:00
side_panels.go Re-apply the side panel config on a live config reload 2026-06-23 14:15:18 +02:00
side_panels_test.go Drive the side panel layout from gui.sidePanels 2026-06-23 14:15:18 +02:00
tasks_adapter.go Exclude view-buffer render tasks from the busy query 2026-07-07 18:09:33 +02:00
test_mode.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
view_helpers.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
views.go Clear tab strips on views that are no longer tabs 2026-06-23 14:15:18 +02:00