fix: seven quick-win bug fixes across engine, server, TUI, CLI
1. Alertless monitors no longer spam error logs — triggerAlert returns early when alertID <= 0. 2. HTTP response body drained before close — enables connection reuse via keep-alive instead of fresh TCP+TLS per check. 3. /api/backup/export enforces GET — was the only endpoint accepting any HTTP method. 4. limitStr guards against max < 3 — prevents negative slice index panic on very narrow terminals. 5. Filter input accepts multibyte characters — len(msg.Runes) instead of len(msg.String()) for proper Unicode support. 6. Startup warning corrected — with no UPTOP_CLUSTER_SECRET, endpoints reject (401), not accept. Warning now says so. 7. UPTOP_KEYS file open failure logged — was silently swallowed, leaving operators with no admin seeded and no message.
This commit was merged in pull request #111.
This commit is contained in:
@@ -34,6 +34,9 @@ func (m Model) emptyState(message, hint string) string {
|
||||
}
|
||||
|
||||
func limitStr(text string, max int) string {
|
||||
if max < 3 {
|
||||
return text
|
||||
}
|
||||
runes := []rune(text)
|
||||
if len(runes) > max {
|
||||
return string(runes[:max-3]) + "..."
|
||||
|
||||
Reference in New Issue
Block a user