diff --git a/bin/README.md b/bin/README.md index 37645c1..1d7f786 100644 --- a/bin/README.md +++ b/bin/README.md @@ -4,8 +4,8 @@ This directory contains pre-compiled binaries for the DB Backup Tool across mult ## Build Information - **Version**: 1.1.0 -- **Build Time**: 2025-11-05_13:20:08_UTC -- **Git Commit**: 161f577 +- **Build Time**: 2025-11-05_13:29:48_UTC +- **Git Commit**: b6d56da ## Recent Updates (v1.1.0) - ✅ Fixed TUI progress display with line-by-line output diff --git a/bin/dbbackup_darwin_amd64 b/bin/dbbackup_darwin_amd64 index 2358fd1..0f5b4b1 100755 Binary files a/bin/dbbackup_darwin_amd64 and b/bin/dbbackup_darwin_amd64 differ diff --git a/bin/dbbackup_darwin_arm64 b/bin/dbbackup_darwin_arm64 index b9a3d8b..7f5cf42 100755 Binary files a/bin/dbbackup_darwin_arm64 and b/bin/dbbackup_darwin_arm64 differ diff --git a/bin/dbbackup_freebsd_amd64 b/bin/dbbackup_freebsd_amd64 index ee16a64..020f7a1 100755 Binary files a/bin/dbbackup_freebsd_amd64 and b/bin/dbbackup_freebsd_amd64 differ diff --git a/bin/dbbackup_linux_amd64 b/bin/dbbackup_linux_amd64 index 48110a4..a23c349 100755 Binary files a/bin/dbbackup_linux_amd64 and b/bin/dbbackup_linux_amd64 differ diff --git a/bin/dbbackup_linux_arm64 b/bin/dbbackup_linux_arm64 index 93e1d21..f4f8f5e 100755 Binary files a/bin/dbbackup_linux_arm64 and b/bin/dbbackup_linux_arm64 differ diff --git a/bin/dbbackup_linux_arm_armv7 b/bin/dbbackup_linux_arm_armv7 index b72a593..9db21d7 100755 Binary files a/bin/dbbackup_linux_arm_armv7 and b/bin/dbbackup_linux_arm_armv7 differ diff --git a/bin/dbbackup_netbsd_amd64 b/bin/dbbackup_netbsd_amd64 index e8f8f97..d55edcd 100755 Binary files a/bin/dbbackup_netbsd_amd64 and b/bin/dbbackup_netbsd_amd64 differ diff --git a/bin/dbbackup_openbsd_amd64 b/bin/dbbackup_openbsd_amd64 index 992f62e..8f86de3 100755 Binary files a/bin/dbbackup_openbsd_amd64 and b/bin/dbbackup_openbsd_amd64 differ diff --git a/bin/dbbackup_windows_amd64.exe b/bin/dbbackup_windows_amd64.exe index 95a50a1..3a21a54 100755 Binary files a/bin/dbbackup_windows_amd64.exe and b/bin/dbbackup_windows_amd64.exe differ diff --git a/bin/dbbackup_windows_arm64.exe b/bin/dbbackup_windows_arm64.exe index a986e44..2f75f59 100755 Binary files a/bin/dbbackup_windows_arm64.exe and b/bin/dbbackup_windows_arm64.exe differ diff --git a/dbbackup b/dbbackup index 48110a4..a23c349 100755 Binary files a/dbbackup and b/dbbackup differ diff --git a/internal/tui/backup_exec.go b/internal/tui/backup_exec.go index 5f862b3..4e0c253 100644 --- a/internal/tui/backup_exec.go +++ b/internal/tui/backup_exec.go @@ -195,31 +195,36 @@ func (m BackupExecutionModel) View() string { header := titleStyle.Render("🔄 Backup Execution") s.WriteString(fmt.Sprintf("\n%s\n\n", header)) - s.WriteString(fmt.Sprintf("Type: %s\n", m.backupType)) + // Backup details + s.WriteString(fmt.Sprintf("%-12s %s\n", "Type:", m.backupType)) if m.databaseName != "" { - s.WriteString(fmt.Sprintf("Database: %s\n", m.databaseName)) + s.WriteString(fmt.Sprintf("%-12s %s\n", "Database:", m.databaseName)) } if m.ratio > 0 { - s.WriteString(fmt.Sprintf("Sample Ratio: %d\n", m.ratio)) + s.WriteString(fmt.Sprintf("%-12s %d\n", "Sample Ratio:", m.ratio)) } - s.WriteString(fmt.Sprintf("Duration: %s\n\n", time.Since(m.startTime).Round(time.Second))) - - s.WriteString(fmt.Sprintf("Status: %s\n", m.status)) + s.WriteString(fmt.Sprintf("%-12s %s\n", "Duration:", time.Since(m.startTime).Round(time.Second))) + s.WriteString("\n") + // Status with spinner if !m.done { spinner := []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"} frame := int(time.Since(m.startTime).Milliseconds()/100) % len(spinner) - s.WriteString(fmt.Sprintf("\n%s Processing...\n", spinner[frame])) + s.WriteString(fmt.Sprintf("%-12s %s %s\n", "Status:", spinner[frame], m.status)) } else { + s.WriteString(fmt.Sprintf("%-12s %s\n", "Status:", m.status)) s.WriteString("\n") + if m.err != nil { - s.WriteString(fmt.Sprintf("Error: %v\n\n", m.err)) - } - lines := strings.Split(m.result, "\n") - for _, line := range lines { - if strings.Contains(line, "✅") || strings.Contains(line, "completed") || - strings.Contains(line, "Size:") || strings.Contains(line, "backup_") { - s.WriteString(line + "\n") + s.WriteString(fmt.Sprintf("❌ Error: %v\n", m.err)) + } else if m.result != "" { + // Parse and display result cleanly + lines := strings.Split(m.result, "\n") + for _, line := range lines { + line = strings.TrimSpace(line) + if line != "" { + s.WriteString(line + "\n") + } } } s.WriteString("\n⌨️ Press Enter or ESC to return to menu\n")