Diff
1diff --git a/internal/tui/commands.go b/internal/tui/commands.go
2index 2e6ef22a9e5be73a655d870b55d46398b618d089..5b6f32605b4dc6ae3e65298fb49e71f26c1b16b6 100644
3--- a/internal/tui/commands.go
4+++ b/internal/tui/commands.go
5@@ -62,29 +62,36 @@ func (b *Bubble) setupCmd() tea.Msg {
6
7 func (b *Bubble) menuEntriesFromSource() ([]MenuEntry, error) {
8 mes := make([]MenuEntry, 0)
9- rs := b.config.Source.AllRepos()
10-OUTER:
11- for _, r := range rs {
12- acc := b.config.AuthRepo(r.Name, b.session.PublicKey())
13- if acc == gm.NoAccess && r.Name != "config" {
14+ for _, cr := range b.config.Repos {
15+ acc := b.config.AuthRepo(cr.Repo, b.session.PublicKey())
16+ if acc == gm.NoAccess && cr.Repo != "config" {
17 continue
18 }
19- for _, cr := range b.config.Repos {
20- if r.Name == cr.Repo {
21- me, err := b.newMenuEntry(cr.Name, cr.Repo)
22- if err != nil {
23- return nil, err
24- }
25- mes = append(mes, me)
26- continue OUTER
27- }
28- }
29- me, err := b.newMenuEntry(r.Name, r.Name)
30+ me, err := b.newMenuEntry(cr.Name, cr.Repo)
31 if err != nil {
32 return nil, err
33 }
34 mes = append(mes, me)
35 }
36+ for _, r := range b.config.Source.AllRepos() {
37+ var found bool
38+ for _, me := range mes {
39+ if me.Repo == r.Name {
40+ found = true
41+ }
42+ }
43+ if !found {
44+ acc := b.config.AuthRepo(r.Name, b.session.PublicKey())
45+ if acc == gm.NoAccess {
46+ continue
47+ }
48+ me, err := b.newMenuEntry(r.Name, r.Name)
49+ if err != nil {
50+ return nil, err
51+ }
52+ mes = append(mes, me)
53+ }
54+ }
55 return mes, nil
56 }
57