Skip to content

Commit 65dfe90

Browse files
author
Datanoise
committed
feat: link version display to GitHub commit and clean up sidebar
1 parent 0f04e60 commit 65dfe90

4 files changed

Lines changed: 21 additions & 12 deletions

File tree

main.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
var (
2525
Version = "dev"
26+
Commit = "unknown"
2627

2728
configPath = flag.String("config", "tinyice.json", "Path to configuration file")
2829
bindHost = flag.String("host", "0.0.0.0", "Network interface to bind to")
@@ -106,11 +107,15 @@ func main() {
106107
}
107108
flag.Parse()
108109

109-
// Try to get version from build info if not set via ldflags
110-
if Version == "dev" {
111-
if info, ok := debug.ReadBuildInfo(); ok {
112-
if info.Main.Version != "" && info.Main.Version != "(devel)" {
113-
Version = info.Main.Version
110+
// Try to get version and commit from build info if not set via ldflags
111+
if info, ok := debug.ReadBuildInfo(); ok {
112+
if Version == "dev" && info.Main.Version != "" && info.Main.Version != "(devel)" {
113+
Version = info.Main.Version
114+
}
115+
for _, setting := range info.Settings {
116+
if setting.Key == "vcs.revision" {
117+
Commit = setting.Value
118+
break
114119
}
115120
}
116121
}
@@ -162,7 +167,7 @@ func main() {
162167
cfg.AutoUpdate = true
163168
}
164169

165-
srv := server.NewServer(cfg, authLogger, Version)
170+
srv := server.NewServer(cfg, authLogger, Version, Commit)
166171

167172
// Start Updater if enabled
168173
if cfg.AutoUpdate {

server/server.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ type Server struct {
7272
mpdServer *relay.MPDServer
7373
tmpl *template.Template
7474
Version string
75+
Commit string
7576
httpServers []*http.Server
7677
startTime time.Time
7778
AuthLog *logrus.Logger
@@ -189,7 +190,7 @@ func (p *protocolSniffer) sniff() {
189190
}
190191
}
191192

192-
func NewServer(cfg *config.Config, authLog *logrus.Logger, version string) *Server {
193+
func NewServer(cfg *config.Config, authLog *logrus.Logger, version, commit string) *Server {
193194
tmpl := template.New("base")
194195
tmpl, err := tmpl.ParseFS(templateFS, "templates/*.html")
195196
if err != nil {
@@ -211,6 +212,7 @@ func NewServer(cfg *config.Config, authLog *logrus.Logger, version string) *Serv
211212
StreamerM: relay.NewStreamerManager(r, cfg),
212213
tmpl: tmpl,
213214
Version: version,
215+
Commit: commit,
214216
startTime: time.Now(),
215217
AuthLog: authLog,
216218
sessions: make(map[string]*session),
@@ -1591,6 +1593,7 @@ func (s *Server) handleAdmin(w http.ResponseWriter, r *http.Request) {
15911593
"CSRFToken": csrf,
15921594
"Streamers": s.StreamerM.GetStreamers(),
15931595
"Version": s.Version,
1596+
"Commit": s.Commit,
15941597
}
15951598
if err := s.tmpl.ExecuteTemplate(w, "admin.html", data); err != nil {
15961599
if !strings.Contains(err.Error(), "broken pipe") {
@@ -2907,6 +2910,7 @@ func (s *Server) handleAutoDJStudio(w http.ResponseWriter, r *http.Request) {
29072910
"Config": s.Config,
29082911
"User": user,
29092912
"Version": s.Version,
2913+
"Commit": s.Commit,
29102914
}
29112915

29122916
w.Header().Set("Content-Type", "text/html")

server/templates/admin.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,10 @@
120120

121121
<a href="/logout" class="nav-link" style="color: var(--danger); margin-top: 1rem; text-decoration: none;"><i data-lucide="log-out"></i> Sign Out</a>
122122
</div>
123-
<div style="margin-top: auto; padding-top: 2rem;">
124-
<div style="font-size: 0.8rem; color: var(--text-dim); margin-bottom: 1rem;">User: <strong>{{.User.Username}}</strong> <span class="role-badge {{if eq .User.Role "superadmin"}}role-super{{else}}role-admin{{end}}">{{.User.Role}}</span></div>
125-
<div style="font-size: 0.75rem; color: var(--text-dim);">Powered by <strong>TinyIce {{.Version}}</strong><br>Host: {{.Config.HostName}}</div>
126-
</div> </aside>
123+
<div style="margin-top: auto; padding-top: 2rem;">
124+
<div style="font-size: 0.8rem; color: var(--text-dim); margin-bottom: 1rem;">User: <strong>{{.User.Username}}</strong> <span class="role-badge {{if eq .User.Role "superadmin"}}role-super{{else}}role-admin{{end}}">{{.User.Role}}</span></div>
125+
<div style="font-size: 0.75rem; color: var(--text-dim);">Powered by <a href="https://github.com/DatanoiseTV/tinyice/{{if .Commit}}commit/{{.Commit}}{{else}}releases/latest{{end}}" target="_blank" style="color: inherit; text-decoration: none;"><strong>TinyIce {{.Version}}</strong></a></div>
126+
</div> </aside>
127127
<main>
128128
<div id="tab-overview" class="tab-content active">
129129
<h1 class="page-title"><i data-lucide="layout-dashboard"></i> Dashboard</h1>

server/templates/autodj_studio.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
<a href="/admin#tab-streamer" class="studio-logo">
133133
<i data-lucide="chevron-left" style="width: 20px; color: var(--text-dim);"></i>
134134
<img src="/assets/logo.png" alt="TinyIce">
135-
<span>STUDIO <span style="font-size: 0.6rem; color: var(--text-dim); margin-left: 0.2rem; font-weight: 400;">{{.Version}}</span></span>
135+
<span>STUDIO <a href="https://github.com/DatanoiseTV/tinyice/{{if .Commit}}commit/{{.Commit}}{{else}}releases/latest{{end}}" target="_blank" style="font-size: 0.6rem; color: var(--text-dim); margin-left: 0.2rem; font-weight: 400; text-decoration: none;">{{.Version}}</a></span>
136136
</a>
137137
<div class="mount-badge">{{.Streamer.Mount}}</div>
138138
</div>

0 commit comments

Comments
 (0)