feat: terminal tabs - several machines at once, up to four terminals split in a tab by drag and drop, resizable, renamable; the top bar keeps its status in sight

This commit is contained in:
redtea committed 2026-10-14 20:42:41 +03:00
1 parent e7b5d28470
commit 67222e2e05
4 files changed
+769 -210

No files matched your search

+7 -4
View File
@@ -151,14 +151,17 @@ func (s *Server) handlePresence(w http.ResponseWriter, r *http.Request) {
return
}
type item struct {
ID string `json:"id"`
Online bool `json:"online"`
Seen string `json:"seen"`
ID string `json:"id"`
Name string `json:"name"`
Hostname string `json:"hostname"`
User string `json:"user"` // who a terminal opens as
Online bool `json:"online"`
Seen string `json:"seen"`
}
out := make([]item, 0, len(agents))
for _, a := range agents {
on := s.online(&a)
out = append(out, item{ID: a.ID, Online: on, Seen: seenText(on, a.LastSeen)})
out = append(out, item{ID: a.ID, Name: a.Name, Hostname: a.Hostname, User: a.TerminalUser(), Online: on, Seen: seenText(on, a.LastSeen)})
}
writeJSON(w, out)
}