diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2021-04-07 22:43:19 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2021-04-07 22:59:53 +1000 |
commit | 4f700c23ba1bc43c0d42d223470a8c2a8e2408dc (patch) | |
tree | f0fd023d339c1ed28194fc16d584cfb3ee7b391c | |
parent | b69fc19b35f35c17578251fd7b024913c9b7e2bf (diff) |
fix crash on first open
23 files changed, 54 insertions, 9 deletions
diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index 3da085f2f..5b5a3426d 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -515,15 +515,6 @@ func (gui *Gui) Run() error { return err } - if !gui.Config.GetUserConfig().DisableStartupPopups { - popupTasks := []func(chan struct{}) error{} - storedPopupVersion := gui.Config.GetAppState().StartupPopupVersion - if storedPopupVersion < StartupPopupVersion { - popupTasks = append(popupTasks, gui.showIntroPopupMessage) - } - gui.showInitialPopups(popupTasks) - } - gui.waitForIntro.Add(1) if gui.Config.GetUserConfig().Git.AutoFetch { go utils.Safe(gui.startBackgroundFetch) diff --git a/pkg/gui/layout.go b/pkg/gui/layout.go index 52dbbe10c..c6e272ccd 100644 --- a/pkg/gui/layout.go +++ b/pkg/gui/layout.go @@ -375,6 +375,15 @@ func (gui *Gui) onInitialViewsCreation() error { return err } + if !gui.Config.GetUserConfig().DisableStartupPopups { + popupTasks := []func(chan struct{}) error{} + storedPopupVersion := gui.Config.GetAppState().StartupPopupVersion + if storedPopupVersion < StartupPopupVersion { + popupTasks = append(popupTasks, gui.showIntroPopupMessage) + } + gui.showInitialPopups(popupTasks) + } + if gui.showRecentRepos { if err := gui.handleCreateRecentReposMenu(); err != nil { return err diff --git a/test/integration/initialOpen/config/config.yml b/test/integration/initialOpen/config/config.yml new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/integration/initialOpen/config/config.yml diff --git a/test/integration/initialOpen/expected/.git_keep/COMMIT_EDITMSG b/test/integration/initialOpen/expected/.git_keep/COMMIT_EDITMSG new file mode 100644 index 000000000..d72af3146 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/COMMIT_EDITMSG @@ -0,0 +1 @@ +asd diff --git a/test/integration/initialOpen/expected/.git_keep/FETCH_HEAD b/test/integration/initialOpen/expected/.git_keep/FETCH_HEAD new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/FETCH_HEAD diff --git a/test/integration/initialOpen/expected/.git_keep/HEAD b/test/integration/initialOpen/expected/.git_keep/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/test/integration/initialOpen/expected/.git_keep/config b/test/integration/initialOpen/expected/.git_keep/config new file mode 100644 index 000000000..8ae104545 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[user] + email = CI@example.com + name = CI diff --git a/test/integration/initialOpen/expected/.git_keep/description b/test/integration/initialOpen/expected/.git_keep/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration/initialOpen/expected/.git_keep/index b/test/integration/initialOpen/expected/.git_keep/index Binary files differnew file mode 100644 index 000000000..825adac84 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/index diff --git a/test/integration/initialOpen/expected/.git_keep/info/exclude b/test/integration/initialOpen/expected/.git_keep/info/exclude new file mode 100644 index 000000000..8e9f2071f --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/info/exclude @@ -0,0 +1,7 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ +.DS_Store diff --git a/test/integration/initialOpen/expected/.git_keep/logs/HEAD b/test/integration/initialOpen/expected/.git_keep/logs/HEAD new file mode 100644 index 000000000..9728b11df --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 46f86259c48ec60496e43d9c962e32f40e7cdefb CI <CI@example.com> 1617799345 +1000 commit (initial): myfile1 +46f86259c48ec60496e43d9c962e32f40e7cdefb e4776798a2a73374b45e6321b60b5578b9fb590c CI <CI@example.com> 1617799348 +1000 commit: asd diff --git a/test/integration/initialOpen/expected/.git_keep/logs/refs/heads/master b/test/integration/initialOpen/expected/.git_keep/logs/refs/heads/master new file mode 100644 index 000000000..9728b11df --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 46f86259c48ec60496e43d9c962e32f40e7cdefb CI <CI@example.com> 1617799345 +1000 commit (initial): myfile1 +46f86259c48ec60496e43d9c962e32f40e7cdefb e4776798a2a73374b45e6321b60b5578b9fb590c CI <CI@example.com> 1617799348 +1000 commit: asd diff --git a/test/integration/initialOpen/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/initialOpen/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 Binary files differnew file mode 100644 index 000000000..7f2ebf4ee --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 diff --git a/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb b/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb Binary files differnew file mode 100644 index 000000000..c38595873 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb diff --git a/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4 b/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4 Binary files differnew file mode 100644 index 000000000..dff6f06c8 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4 diff --git a/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 Binary files differnew file mode 100644 index 000000000..285df3e5f --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 diff --git a/test/integration/initialOpen/expected/.git_keep/objects/e4/776798a2a73374b45e6321b60b5578b9fb590c b/test/integration/initialOpen/expected/.git_keep/objects/e4/776798a2a73374b45e6321b60b5578b9fb590c new file mode 100644 index 000000000..013f3deb3 --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/objects/e4/776798a2a73374b45e6321b60b5578b9fb590c @@ -0,0 +1,2 @@ +xÎM +1@a×=E÷‚¤iš6 "¸šcô'EÁq†±‚ÇwŽàöñ-^]æù1¬8ŒMÕ2zˆÁµ–¢SHHÑ7Œ\‚v-T™5oú–¸'Æ •’VVòMª0ªÇN ±6íÅäϸ/›½Mö|›®úÍóúÔS]æ‹uìbñ”ìÑ€Ùë>5ôOnò»™¨q8™
\ No newline at end of file diff --git a/test/integration/initialOpen/expected/.git_keep/refs/heads/master b/test/integration/initialOpen/expected/.git_keep/refs/heads/master new file mode 100644 index 000000000..89a4ee75f --- /dev/null +++ b/test/integration/initialOpen/expected/.git_keep/refs/heads/master @@ -0,0 +1 @@ +e4776798a2a73374b45e6321b60b5578b9fb590c diff --git a/test/integration/initialOpen/expected/myfile1 b/test/integration/initialOpen/expected/myfile1 new file mode 100644 index 000000000..a5bce3fd2 --- /dev/null +++ b/test/integration/initialOpen/expected/myfile1 @@ -0,0 +1 @@ +test1 diff --git a/test/integration/initialOpen/expected/myfile2 b/test/integration/initialOpen/expected/myfile2 new file mode 100644 index 000000000..a5bce3fd2 --- /dev/null +++ b/test/integration/initialOpen/expected/myfile2 @@ -0,0 +1 @@ +test1 diff --git a/test/integration/initialOpen/recording.json b/test/integration/initialOpen/recording.json new file mode 100644 index 000000000..2fdf83dc0 --- /dev/null +++ b/test/integration/initialOpen/recording.json @@ -0,0 +1 @@ +{"KeyEvents":[{"Timestamp":891,"Mod":0,"Key":27,"Ch":0},{"Timestamp":1344,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1639,"Mod":0,"Key":256,"Ch":99},{"Timestamp":2128,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2176,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2280,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2592,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2960,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file diff --git a/test/integration/initialOpen/setup.sh b/test/integration/initialOpen/setup.sh new file mode 100644 index 000000000..84ad82d36 --- /dev/null +++ b/test/integration/initialOpen/setup.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +cd $1 + +git init + +git config user.email "CI@example.com" +git config user.name "CI" + +echo test1 > myfile1 +git add . +git commit -am "myfile1" + +echo test1 > myfile2 diff --git a/test/integration/initialOpen/test.json b/test/integration/initialOpen/test.json new file mode 100644 index 000000000..f7fd28fab --- /dev/null +++ b/test/integration/initialOpen/test.json @@ -0,0 +1 @@ +{ "description": "testing the initial popup appears when first starting lazygit", "speed": 15 } |