summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-04-07 22:43:19 +1000
committerJesse Duffield <jessedduffield@gmail.com>2021-04-07 22:59:53 +1000
commit4f700c23ba1bc43c0d42d223470a8c2a8e2408dc (patch)
treef0fd023d339c1ed28194fc16d584cfb3ee7b391c
parentb69fc19b35f35c17578251fd7b024913c9b7e2bf (diff)
fix crash on first open
-rw-r--r--pkg/gui/gui.go9
-rw-r--r--pkg/gui/layout.go9
-rw-r--r--test/integration/initialOpen/config/config.yml0
-rw-r--r--test/integration/initialOpen/expected/.git_keep/COMMIT_EDITMSG1
-rw-r--r--test/integration/initialOpen/expected/.git_keep/FETCH_HEAD0
-rw-r--r--test/integration/initialOpen/expected/.git_keep/HEAD1
-rw-r--r--test/integration/initialOpen/expected/.git_keep/config10
-rw-r--r--test/integration/initialOpen/expected/.git_keep/description1
-rw-r--r--test/integration/initialOpen/expected/.git_keep/indexbin0 -> 209 bytes
-rw-r--r--test/integration/initialOpen/expected/.git_keep/info/exclude7
-rw-r--r--test/integration/initialOpen/expected/.git_keep/logs/HEAD2
-rw-r--r--test/integration/initialOpen/expected/.git_keep/logs/refs/heads/master2
-rw-r--r--test/integration/initialOpen/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52bin0 -> 52 bytes
-rw-r--r--test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefbbin0 -> 121 bytes
-rw-r--r--test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4bin0 -> 57 bytes
-rw-r--r--test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5bin0 -> 21 bytes
-rw-r--r--test/integration/initialOpen/expected/.git_keep/objects/e4/776798a2a73374b45e6321b60b5578b9fb590c2
-rw-r--r--test/integration/initialOpen/expected/.git_keep/refs/heads/master1
-rw-r--r--test/integration/initialOpen/expected/myfile11
-rw-r--r--test/integration/initialOpen/expected/myfile21
-rw-r--r--test/integration/initialOpen/recording.json1
-rw-r--r--test/integration/initialOpen/setup.sh14
-rw-r--r--test/integration/initialOpen/test.json1
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
new file mode 100644
index 000000000..825adac84
--- /dev/null
+++ b/test/integration/initialOpen/expected/.git_keep/index
Binary files differ
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
new file mode 100644
index 000000000..7f2ebf4ee
--- /dev/null
+++ b/test/integration/initialOpen/expected/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52
Binary files differ
diff --git a/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb b/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb
new file mode 100644
index 000000000..c38595873
--- /dev/null
+++ b/test/integration/initialOpen/expected/.git_keep/objects/46/f86259c48ec60496e43d9c962e32f40e7cdefb
Binary files differ
diff --git a/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4 b/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4
new file mode 100644
index 000000000..dff6f06c8
--- /dev/null
+++ b/test/integration/initialOpen/expected/.git_keep/objects/62/b35f5751dd871e0908247223d276b5efeb4cb4
Binary files differ
diff --git a/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 000000000..285df3e5f
--- /dev/null
+++ b/test/integration/initialOpen/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
Binary files differ
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 }