detached 5a70030

tweak(tui): update banner emits the short domain install command

recommendedUpdateCommand() used to produce a raw.github URL
which is two redirects off the domain the rest of the project
hard-codes. The update-available banner in the TUI now matches
the README and website install snippets:

  curl -fsSL https://zot.patriceckhart.com/install.sh | bash
  iwr -useb https://zot.patriceckhart.com/install.ps1 | iex

Same surface (the domain 301s straight to raw.githubusercontent
via proxy.ts on the site) so users keep working even if we
later move the scripts. No functional behavior change.
commit
5a70030bb6d6948aa99c0114b93c483f329ad13c
author
patriceckhart · · 2026-04-20 15:47 UTC
parent
9d0b1d0
signature
unsigned
refs
tag: v0.0.72
1 file · +5 -4
M internal/agent/modes/update_banner.go +5 -4
@@ -48,11 +48,12 @@ func renderUpdateBanner(th tui.Theme, info UpdateInfo, width int) []string {
4848 }
4949
5050 // recommendedUpdateCommand returns the one-liner appropriate for the
51-// user's platform. All three point at the public install scripts so a
52-// single command updates in place.
51+// user's platform. Points at zot.patriceckhart.com, which 301s to
52+// the raw install scripts on github — same surface, stable short
53+// URL that's safe to hard-code even if the scripts later move.
5354 func recommendedUpdateCommand() string {
5455 if runtime.GOOS == "windows" {
55- return `iwr -useb https://raw.githubusercontent.com/patriceckhart/zot/main/install.ps1 | iex`
56+ return `iwr -useb https://zot.patriceckhart.com/install.ps1 | iex`
5657 }
57- return `curl -fsSL https://raw.githubusercontent.com/patriceckhart/zot/main/install.sh | bash`
58+ return `curl -fsSL https://zot.patriceckhart.com/install.sh | bash`
5859 }
@@ -48,11 +48,12 @@ func renderUpdateBanner(th tui.Theme, info UpdateInfo, width int) []string {
48 }48 }
49 49
50 // recommendedUpdateCommand returns the one-liner appropriate for the50 // recommendedUpdateCommand returns the one-liner appropriate for the
51-// user's platform. All three point at the public install scripts so a51+// user's platform. Points at zot.patriceckhart.com, which 301s to
52-// single command updates in place.52+// the raw install scripts on github — same surface, stable short
53+// URL that's safe to hard-code even if the scripts later move.
53 func recommendedUpdateCommand() string {54 func recommendedUpdateCommand() string {
54 if runtime.GOOS == "windows" {55 if runtime.GOOS == "windows" {
55- return `iwr -useb https://raw.githubusercontent.com/patriceckhart/zot/main/install.ps1 | iex`56+ return `iwr -useb https://zot.patriceckhart.com/install.ps1 | iex`
56 }57 }
57- return `curl -fsSL https://raw.githubusercontent.com/patriceckhart/zot/main/install.sh | bash`58+ return `curl -fsSL https://zot.patriceckhart.com/install.sh | bash`
58 }59 }

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 1

Tags 477

↑↓ moveenter openesc close