detached b375212

fix(daemon): word color downgrade notice per mode

commit
b37521290671a0eb17ab8e10ffd9fe3115ef8fa2
author
brice · · 2026-10-03 13:23 UTC
committer
brice · · 2026-10-03 14:14 UTC
parent
da842a4
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +8 -8
M internal/usecase/daemon/client.go +3 -3
@@ -702,11 +702,11 @@ func colorDowngradeNotice(color terminalcap.ColorCapabilities) (string, bool) {
702702 }
703703 switch color.Mode {
704704 case terminalcap.ANSI256:
705- return "TrueColor was not detected; rendering with 256 colors.", true
705+ return "Terminal supports 256 colors; vev UI colors are reduced.", true
706706 case terminalcap.ANSI16:
707- return "TrueColor was not detected; rendering with 16 colors.", true
707+ return "Terminal supports 16 colors; vev UI colors are reduced.", true
708708 case terminalcap.Monochrome:
709- return "TrueColor was not detected; rendering without colors.", true
709+ return "Terminal has no color support; vev UI uses bold and reverse.", true
710710 default:
711711 return "", false
712712 }
@@ -702,11 +702,11 @@ func colorDowngradeNotice(color terminalcap.ColorCapabilities) (string, bool) {
702 }702 }
703 switch color.Mode {703 switch color.Mode {
704 case terminalcap.ANSI256:704 case terminalcap.ANSI256:
705- return "TrueColor was not detected; rendering with 256 colors.", true705+ return "Terminal supports 256 colors; vev UI colors are reduced.", true
706 case terminalcap.ANSI16:706 case terminalcap.ANSI16:
707- return "TrueColor was not detected; rendering with 16 colors.", true707+ return "Terminal supports 16 colors; vev UI colors are reduced.", true
708 case terminalcap.Monochrome:708 case terminalcap.Monochrome:
709- return "TrueColor was not detected; rendering without colors.", true709+ return "Terminal has no color support; vev UI uses bold and reverse.", true
710 default:710 default:
711 return "", false711 return "", false
712 }712 }
M internal/usecase/daemon/color_notice_test.go +5 -5
@@ -14,9 +14,9 @@ func TestColorDowngradeNotice(t *testing.T) {
1414 color terminalcap.ColorCapabilities
1515 want string
1616 }{
17- {name: "declared 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering with 256 colors."},
18- {name: "declared 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering with 16 colors."},
19- {name: "declared monochrome", color: terminalcap.ColorCapabilities{Mode: terminalcap.Monochrome, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering without colors."},
17+ {name: "declared 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, want: "Terminal supports 256 colors; vev UI colors are reduced."},
18+ {name: "declared 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, want: "Terminal supports 16 colors; vev UI colors are reduced."},
19+ {name: "declared monochrome", color: terminalcap.ColorCapabilities{Mode: terminalcap.Monochrome, Source: terminalcap.SourceDeclared}, want: "Terminal has no color support; vev UI uses bold and reverse."},
2020 {name: "declared truecolor", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},
2121 {name: "forced 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceForced}},
2222 {name: "forced 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},
@@ -42,8 +42,8 @@ func TestFinishAttachedClientColorToast(t *testing.T) {
4242 color terminalcap.ColorCapabilities
4343 wantToast string
4444 }{
45- {name: "declared 256 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, wantToast: "TrueColor was not detected; rendering with 256 colors."},
46- {name: "declared 16 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, wantToast: "TrueColor was not detected; rendering with 16 colors."},
45+ {name: "declared 256 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, wantToast: "Terminal supports 256 colors; vev UI colors are reduced."},
46+ {name: "declared 16 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, wantToast: "Terminal supports 16 colors; vev UI colors are reduced."},
4747 {name: "forced 16 colors is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},
4848 {name: "declared truecolor is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},
4949 }
@@ -14,9 +14,9 @@ func TestColorDowngradeNotice(t *testing.T) {
14 color terminalcap.ColorCapabilities14 color terminalcap.ColorCapabilities
15 want string15 want string
16 }{16 }{
17- {name: "declared 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering with 256 colors."},17+ {name: "declared 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, want: "Terminal supports 256 colors; vev UI colors are reduced."},
18- {name: "declared 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering with 16 colors."},18+ {name: "declared 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, want: "Terminal supports 16 colors; vev UI colors are reduced."},
19- {name: "declared monochrome", color: terminalcap.ColorCapabilities{Mode: terminalcap.Monochrome, Source: terminalcap.SourceDeclared}, want: "TrueColor was not detected; rendering without colors."},19+ {name: "declared monochrome", color: terminalcap.ColorCapabilities{Mode: terminalcap.Monochrome, Source: terminalcap.SourceDeclared}, want: "Terminal has no color support; vev UI uses bold and reverse."},
20 {name: "declared truecolor", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},20 {name: "declared truecolor", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},
21 {name: "forced 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceForced}},21 {name: "forced 256 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceForced}},
22 {name: "forced 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},22 {name: "forced 16 colors", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},
@@ -42,8 +42,8 @@ func TestFinishAttachedClientColorToast(t *testing.T) {
42 color terminalcap.ColorCapabilities42 color terminalcap.ColorCapabilities
43 wantToast string43 wantToast string
44 }{44 }{
45- {name: "declared 256 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, wantToast: "TrueColor was not detected; rendering with 256 colors."},45+ {name: "declared 256 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI256, Source: terminalcap.SourceDeclared}, wantToast: "Terminal supports 256 colors; vev UI colors are reduced."},
46- {name: "declared 16 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, wantToast: "TrueColor was not detected; rendering with 16 colors."},46+ {name: "declared 16 colors toasts", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceDeclared}, wantToast: "Terminal supports 16 colors; vev UI colors are reduced."},
47 {name: "forced 16 colors is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},47 {name: "forced 16 colors is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.ANSI16, Source: terminalcap.SourceForced}},
48 {name: "declared truecolor is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},48 {name: "declared truecolor is silent", color: terminalcap.ColorCapabilities{Mode: terminalcap.TrueColor, Source: terminalcap.SourceDeclared}},
49 }49 }

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close