Skip to content

Commit edcfce2

Browse files
authored
Change Refresh to not return an error (#4680)
- **PR Description** Refresh is one of those functions that shouldn't require error handling (similar to triggering a redraw of the UI, see #3887).
2 parents 2b1f150 + c87661d commit edcfce2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+251
-222
lines changed

pkg/gui/background.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ func (self *BackgroundRoutineMgr) startBackgroundFilesRefresh(refreshInterval in
9393
self.gui.waitForIntro.Wait()
9494

9595
self.goEvery(time.Second*time.Duration(refreshInterval), self.gui.stopChan, func() error {
96-
return self.gui.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
96+
self.gui.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
97+
return nil
9798
})
9899
}
99100

@@ -125,7 +126,7 @@ func (self *BackgroundRoutineMgr) goEvery(interval time.Duration, stop chan stru
125126
func (self *BackgroundRoutineMgr) backgroundFetch() (err error) {
126127
err = self.gui.git.Sync.FetchBackground()
127128

128-
_ = self.gui.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.BRANCHES, types.COMMITS, types.REMOTES, types.TAGS}, Mode: types.SYNC})
129+
self.gui.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.BRANCHES, types.COMMITS, types.REMOTES, types.TAGS}, Mode: types.SYNC})
129130

130131
if err == nil {
131132
err = self.gui.helpers.BranchesHelper.AutoForwardBranches()

pkg/gui/controllers/bisect_controller.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo,
175175
return err
176176
}
177177

178-
return self.c.Helpers().Bisect.PostBisectCommandRefresh()
178+
self.c.Helpers().Bisect.PostBisectCommandRefresh()
179+
return nil
179180
},
180181
DisabledReason: self.require(self.singleItemSelected())(),
181182
Key: 'b',
@@ -192,7 +193,8 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo,
192193
return err
193194
}
194195

195-
return self.c.Helpers().Bisect.PostBisectCommandRefresh()
196+
self.c.Helpers().Bisect.PostBisectCommandRefresh()
197+
return nil
196198
},
197199
DisabledReason: self.require(self.singleItemSelected())(),
198200
Key: 'g',
@@ -211,7 +213,8 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo,
211213
return err
212214
}
213215

214-
return self.c.Helpers().Bisect.PostBisectCommandRefresh()
216+
self.c.Helpers().Bisect.PostBisectCommandRefresh()
217+
return nil
215218
},
216219
})
217220
return nil
@@ -245,7 +248,8 @@ func (self *BisectController) showBisectCompleteMessage(candidateHashes []string
245248
return err
246249
}
247250

248-
return self.c.Helpers().Bisect.PostBisectCommandRefresh()
251+
self.c.Helpers().Bisect.PostBisectCommandRefresh()
252+
return nil
249253
},
250254
})
251255

@@ -270,20 +274,21 @@ func (self *BisectController) afterMark(selectCurrent bool, waitToReselect bool)
270274
}
271275

272276
func (self *BisectController) afterBisectMarkRefresh(selectCurrent bool, waitToReselect bool) error {
273-
selectFn := func() error {
277+
selectFn := func() {
274278
if selectCurrent {
275279
self.selectCurrentBisectCommit()
276280
}
277-
return nil
278281
}
279282

280283
if waitToReselect {
281-
return self.c.Refresh(types.RefreshOptions{Mode: types.SYNC, Scope: []types.RefreshableView{}, Then: selectFn})
284+
self.c.Refresh(types.RefreshOptions{Mode: types.SYNC, Scope: []types.RefreshableView{}, Then: selectFn})
285+
return nil
282286
}
283287

284-
_ = selectFn()
288+
selectFn()
285289

286-
return self.c.Helpers().Bisect.PostBisectCommandRefresh()
290+
self.c.Helpers().Bisect.PostBisectCommandRefresh()
291+
return nil
287292
}
288293

289294
func (self *BisectController) selectCurrentBisectCommit() {

pkg/gui/controllers/branches_controller.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -263,15 +263,13 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc
263263
if err := self.c.Git().Branch.UnsetUpstream(selectedBranch.Name); err != nil {
264264
return err
265265
}
266-
if err := self.c.Refresh(types.RefreshOptions{
266+
self.c.Refresh(types.RefreshOptions{
267267
Mode: types.SYNC,
268268
Scope: []types.RefreshableView{
269269
types.BRANCHES,
270270
types.COMMITS,
271271
},
272-
}); err != nil {
273-
return err
274-
}
272+
})
275273
return nil
276274
},
277275
Key: 'u',
@@ -289,15 +287,13 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc
289287
if err := self.c.Git().Branch.SetUpstream(upstreamRemote, upstreamBranch, selectedBranch.Name); err != nil {
290288
return err
291289
}
292-
if err := self.c.Refresh(types.RefreshOptions{
290+
self.c.Refresh(types.RefreshOptions{
293291
Mode: types.SYNC,
294292
Scope: []types.RefreshableView{
295293
types.BRANCHES,
296294
types.COMMITS,
297295
},
298-
}); err != nil {
299-
return err
300-
}
296+
})
301297
return nil
302298
})
303299
},
@@ -478,7 +474,8 @@ func (self *BranchesController) forceCheckout() error {
478474
if err := self.c.Git().Branch.Checkout(branch.Name, git_commands.CheckoutOptions{Force: true}); err != nil {
479475
return err
480476
}
481-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
477+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
478+
return nil
482479
},
483480
})
484481

@@ -526,7 +523,8 @@ func (self *BranchesController) createNewBranchWithName(newBranchName string) er
526523
}
527524

528525
self.context().SetSelection(0)
529-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, KeepBranchSelectionIndex: true})
526+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, KeepBranchSelectionIndex: true})
527+
return nil
530528
}
531529

532530
func (self *BranchesController) localDelete(branches []*models.Branch) error {
@@ -655,7 +653,7 @@ func (self *BranchesController) fastForward(branch *models.Branch) error {
655653
WorktreePath: worktreePath,
656654
},
657655
)
658-
_ = self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
656+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
659657
return err
660658
}
661659

@@ -664,7 +662,7 @@ func (self *BranchesController) fastForward(branch *models.Branch) error {
664662
err := self.c.Git().Sync.FastForward(
665663
task, branch.Name, branch.UpstreamRemote, branch.UpstreamBranch,
666664
)
667-
_ = self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
665+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
668666
return err
669667
})
670668
}
@@ -679,7 +677,8 @@ func (self *BranchesController) createSortMenu() error {
679677
self.c.GetAppState().LocalBranchSortOrder = sortOrder
680678
self.c.SaveAppStateAndLogError()
681679
self.c.Contexts().Branches.SetSelection(0)
682-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
680+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES}})
681+
return nil
683682
}
684683
return nil
685684
},
@@ -702,7 +701,7 @@ func (self *BranchesController) rename(branch *models.Branch) error {
702701
}
703702

704703
// need to find where the branch is now so that we can re-select it. That means we need to refetch the branches synchronously and then find our branch
705-
_ = self.c.Refresh(types.RefreshOptions{
704+
self.c.Refresh(types.RefreshOptions{
706705
Mode: types.SYNC,
707706
Scope: []types.RefreshableView{types.BRANCHES, types.WORKTREES},
708707
})

pkg/gui/controllers/commits_files_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,8 @@ func (self *CommitFilesController) checkout(node *filetree.CommitFileNode) error
289289
return err
290290
}
291291

292-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
292+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
293+
return nil
293294
}
294295

295296
func (self *CommitFilesController) discard(selectedNodes []*filetree.CommitFileNode) error {

pkg/gui/controllers/context_lines_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,13 @@ func (self *ContextLinesController) applyChange() error {
103103
switch currentContext.GetKey() {
104104
// we make an exception for our staging and patch building contexts because they actually need to refresh their state afterwards.
105105
case context.PATCH_BUILDING_MAIN_CONTEXT_KEY:
106-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.PATCH_BUILDING}})
106+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.PATCH_BUILDING}})
107107
case context.STAGING_MAIN_CONTEXT_KEY, context.STAGING_SECONDARY_CONTEXT_KEY:
108-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STAGING}})
108+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STAGING}})
109109
default:
110110
currentContext.HandleRenderToMain()
111-
return nil
112111
}
112+
return nil
113113
}
114114

115115
func (self *ContextLinesController) checkCanChangeContext() error {

pkg/gui/controllers/custom_patch_options_menu_action.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,8 @@ func (self *CustomPatchOptionsMenuAction) handleApplyPatch(reverse bool) error {
275275
if err := self.c.Git().Patch.ApplyCustomPatch(reverse, true); err != nil {
276276
return err
277277
}
278-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
278+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
279+
return nil
279280
}
280281

281282
func (self *CustomPatchOptionsMenuAction) copyPatchToClipboard() error {

pkg/gui/controllers/diffing_menu_action.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ func (self *DiffingMenuAction) Call() error {
2323
OnPress: func() error {
2424
self.c.Modes().Diffing.Ref = name
2525
// can scope this down based on current view but too lazy right now
26-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
26+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
27+
return nil
2728
},
2829
},
2930
}...)
@@ -38,7 +39,8 @@ func (self *DiffingMenuAction) Call() error {
3839
FindSuggestionsFunc: self.c.Helpers().Suggestions.GetRefsSuggestionsFunc(),
3940
HandleConfirm: func(response string) error {
4041
self.c.Modes().Diffing.Ref = strings.TrimSpace(response)
41-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
42+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
43+
return nil
4244
},
4345
})
4446

@@ -53,14 +55,16 @@ func (self *DiffingMenuAction) Call() error {
5355
Label: self.c.Tr.SwapDiff,
5456
OnPress: func() error {
5557
self.c.Modes().Diffing.Reverse = !self.c.Modes().Diffing.Reverse
56-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
58+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
59+
return nil
5760
},
5861
},
5962
{
6063
Label: self.c.Tr.ExitDiffMode,
6164
OnPress: func() error {
6265
self.c.Modes().Diffing = diffing.New()
63-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
66+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
67+
return nil
6468
},
6569
},
6670
}...)

pkg/gui/controllers/files_controller.go

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -486,9 +486,7 @@ func (self *FilesController) press(nodes []*filetree.FileNode) error {
486486
return err
487487
}
488488

489-
if err := self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC}); err != nil {
490-
return err
491-
}
489+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC})
492490

493491
self.context().HandleFocus(types.OnFocusOpts{})
494492
return nil
@@ -566,7 +564,8 @@ func (self *FilesController) handleNonInlineConflict(file *models.File) error {
566564
if err := command(file.GetPath()); err != nil {
567565
return err
568566
}
569-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
567+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
568+
return nil
570569
}
571570
keepItem := &types.MenuItem{
572571
Label: self.c.Tr.MergeConflictKeepFile,
@@ -611,9 +610,7 @@ func (self *FilesController) toggleStagedAll() error {
611610
return err
612611
}
613612

614-
if err := self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC}); err != nil {
615-
return err
616-
}
613+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC})
617614

618615
self.context().HandleFocus(types.OnFocusOpts{})
619616
return nil
@@ -683,7 +680,8 @@ func (self *FilesController) ignoreOrExcludeTracked(node *filetree.FileNode, trA
683680
return err
684681
}
685682

686-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
683+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
684+
return nil
687685
}
688686

689687
func (self *FilesController) ignoreOrExcludeUntracked(node *filetree.FileNode, trAction string, f func(string) error) error {
@@ -693,7 +691,8 @@ func (self *FilesController) ignoreOrExcludeUntracked(node *filetree.FileNode, t
693691
return err
694692
}
695693

696-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
694+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
695+
return nil
697696
}
698697

699698
func (self *FilesController) ignoreOrExcludeFile(node *filetree.FileNode, trText string, trPrompt string, trAction string, f func(string) error) error {
@@ -755,7 +754,8 @@ func (self *FilesController) ignoreOrExcludeMenu(node *filetree.FileNode) error
755754
}
756755

757756
func (self *FilesController) refresh() error {
758-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
757+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}})
758+
return nil
759759
}
760760

761761
func (self *FilesController) handleAmendCommitPress() error {
@@ -900,10 +900,10 @@ func (self *FilesController) setStatusFiltering(filter filetree.FileTreeDisplayF
900900
// Whenever we switch between untracked and other filters, we need to refresh the files view
901901
// because the untracked files filter applies when running `git status`.
902902
if previousFilter != filter && (previousFilter == filetree.DisplayUntracked || filter == filetree.DisplayUntracked) {
903-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC})
903+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.FILES}, Mode: types.ASYNC})
904+
} else {
905+
self.c.PostRefreshUpdate(self.context())
904906
}
905-
906-
self.c.PostRefreshUpdate(self.context())
907907
return nil
908908
}
909909

@@ -1177,7 +1177,8 @@ func (self *FilesController) handleStashSave(stashFunc func(message string) erro
11771177
if err := stashFunc(stashComment); err != nil {
11781178
return err
11791179
}
1180-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STASH, types.FILES}})
1180+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STASH, types.FILES}})
1181+
return nil
11811182
},
11821183
})
11831184

@@ -1197,7 +1198,7 @@ func (self *FilesController) fetch() error {
11971198
return errors.New(self.c.Tr.PassUnameWrong)
11981199
}
11991200

1200-
_ = self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.BRANCHES, types.COMMITS, types.REMOTES, types.TAGS}, Mode: types.SYNC})
1201+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.BRANCHES, types.COMMITS, types.REMOTES, types.TAGS}, Mode: types.SYNC})
12011202

12021203
if err == nil {
12031204
err = self.c.Helpers().BranchesHelper.AutoForwardBranches()
@@ -1322,7 +1323,8 @@ func (self *FilesController) remove(selectedNodes []*filetree.FileNode) error {
13221323
}
13231324
}
13241325

1325-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}})
1326+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}})
1327+
return nil
13261328
},
13271329
Key: self.c.KeybindingsOpts().GetKey(self.c.UserConfig().Keybinding.Files.ConfirmDiscard),
13281330
Tooltip: utils.ResolvePlaceholderString(
@@ -1348,7 +1350,8 @@ func (self *FilesController) remove(selectedNodes []*filetree.FileNode) error {
13481350
}
13491351
}
13501352

1351-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}})
1353+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}})
1354+
return nil
13521355
},
13531356
Key: 'u',
13541357
Tooltip: utils.ResolvePlaceholderString(
@@ -1389,7 +1392,8 @@ func (self *FilesController) ResetSubmodule(submodule *models.SubmoduleConfig) e
13891392
return err
13901393
}
13911394

1392-
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.SUBMODULES}})
1395+
self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.SUBMODULES}})
1396+
return nil
13931397
})
13941398
}
13951399

pkg/gui/controllers/filtering_menu_action.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,10 @@ func (self *FilteringMenuAction) setFiltering() error {
122122

123123
self.c.Context().Push(self.c.Contexts().LocalCommits, types.OnFocusOpts{})
124124

125-
return self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.COMMITS}, Then: func() error {
125+
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.COMMITS}, Then: func() {
126126
self.c.Contexts().LocalCommits.SetSelection(0)
127127
self.c.Contexts().LocalCommits.FocusLine()
128-
return nil
129128
}})
129+
130+
return nil
130131
}

0 commit comments

Comments
 (0)