Commit Graph

73 Commits

Author SHA1 Message Date
3cedac371c Use conservative colors: replace bright colors with standard terminal palette 2025-11-07 12:49:04 +00:00
e4e8e59762 Remove all lipgloss styling from history view - use plain text only 2025-11-07 12:44:25 +00:00
0a5fba166d Simplify history selection: remove styled background, use plain arrow marker 2025-11-07 12:41:34 +00:00
a8ce8c4457 Fix format detection: check file content for PGDMP signature, not just extension 2025-11-07 12:39:09 +00:00
069313e70b Fix line rendering: write arrow outside of style render 2025-11-07 12:31:41 +00:00
b824a9ffa2 Fix newline rendering: separate WriteString calls for content and newline 2025-11-07 12:22:08 +00:00
c36a052769 Fix history line rendering: add newline after style render 2025-11-07 12:14:06 +00:00
22c635d7ae Enhanced history navigation: start at recent, add PgUp/PgDn/Home/End keys 2025-11-07 12:10:26 +00:00
5286d94c8b Fix: Add viewport scrolling to operation history
PROBLEM:
- History displayed ALL entries at once
- With many backups, first entries scroll off screen
- Cursor navigation worked but selection was invisible
- User had to "blindly" navigate 5+ entries to see anything

SOLUTION:
- Added viewport with max 15 visible items at once
- Viewport auto-scrolls to follow cursor position
- Scroll indicators show when there are more entries:
  * "▲ More entries above..."
  * "▼ X more entries below..."
- Cursor always visible within viewport

RESULT:
-  Always see current selection
-  Works with any number of history entries
-  Clear visual feedback with scroll indicators
-  Smooth navigation experience
2025-11-07 11:58:46 +00:00
d51653a857 Fix: Operation history navigation now visible with arrow keys
FIXED:
- Removed unused cursor variable that was always a space
- Arrow up/down now visibly highlights selected item
- Added position counter (Viewing X/Y)
- Changed selection indicator from ">" to "→"
- Explicit cursor initialization to 0

RESULT:
- ↑/↓ keys now work and show visual feedback
- Current selection clearly visible with highlight
- Position indicator shows which item is selected
2025-11-07 11:54:08 +00:00
567400a582 Update binary with quality improvements 2025-11-07 11:47:36 +00:00
95ea807d18 Quality improvements: Remove dead code, add unit tests, fix ignored errors
HIGH PRIORITY FIXES:
1. Remove unused progressCallback mechanism (dead code cleanup)
2. Add unit tests for restore package (formats, safety checks)
   - Test coverage for archive format detection
   - Test coverage for safety validation
   - Added NullLogger for testing
3. Fix ignored errors in backup pipeline
   - Handle StdoutPipe() errors properly
   - Log stderr pipe errors
   - Document CPU detection errors

IMPROVEMENTS:
- formats_test.go: 8 test functions, all passing
- safety_test.go: 6 test functions for validation
- logger/null.go: Test helper for unit tests
- Proper error handling in streaming compression
- Fixed indentation in stderr handling
2025-11-07 11:47:07 +00:00
bf9a2b652a chore:megafix 2025-11-07 11:28:50 +00:00
64bdd964a2 Update binary with unified spinner indicator 2025-11-07 11:26:33 +00:00
bcf1cabb7c Simplify TUI: unified spinner for all operations, remove progress bar from cluster restore 2025-11-07 11:26:14 +00:00
2b868f859c Add rotating spinner to TUI status for visual progress feedback 2025-11-07 11:20:36 +00:00
91a41f043f Update binary with clean TUI progress 2025-11-07 10:51:00 +00:00
07ab4109ec Fix: Disable stdout progress in TUI mode to prevent display breaking 2025-11-07 10:50:45 +00:00
e002d3f8f9 Update binary with cluster restore --clean fix 2025-11-07 10:47:00 +00:00
281934be38 Fix: Enable --clean flag for cluster restore to handle existing tables 2025-11-07 10:46:27 +00:00
fb5d5d7b90 Update binary with TUI and auth fixes 2025-11-07 10:35:38 +00:00
98fa594f59 Fix: Ctrl+C now works in TUI, improve database creation with peer auth support 2025-11-07 10:35:24 +00:00
d2fa4025db Update linux_amd64 binary with database creation fix 2025-11-07 10:27:28 +00:00
cd7a66aab3 Fix: Ensure databases exist before cluster restore - resolves 11 failures issue 2025-11-07 10:27:03 +00:00
21e0ac2cb2 build: update binaries with cluster restore check fix 2025-11-07 10:19:09 +00:00
07400f2828 fix: skip target database check for cluster restores
- Cluster restores restore multiple databases, not a single target
- Database existence check was failing with exit status 2
- Now shows "Will restore all databases from cluster backup" instead
- Removes confusing warning for cluster restore operations
2025-11-07 10:18:39 +00:00
de13fdfafd build: update binaries with backspace fix 2025-11-07 10:04:48 +00:00
6058971a73 fix: add ctrl+h as alternative backspace key for better terminal compatibility
- Some terminals send ctrl+h instead of backspace
- Added ctrl+h handling in settings.go and input.go
- Ensures backspace works in all terminal emulators
2025-11-07 10:04:17 +00:00
b685a8afc7 build: update linux_amd64 binaries with restore functionality 2025-11-07 09:48:01 +00:00
87e0ca3b39 feat: implement full restore functionality with TUI integration
- Add complete restore engine (internal/restore/)
  - RestoreSingle() for single database restore
  - RestoreCluster() for full cluster restore
  - Archive format detection (7 formats supported)
  - Safety validation (integrity, disk space, tools)
  - Streaming decompression with pigz support

- Add CLI restore commands (cmd/restore.go)
  - restore single: restore single database backup
  - restore cluster: restore full cluster backup
  - restore list: list available backup archives
  - Safety-first design: dry-run by default, --confirm required

- Add TUI restore integration (internal/tui/)
  - Archive browser: browse and select backups
  - Restore preview: safety checks and confirmation
  - Restore execution: real-time progress tracking
  - Backup manager: comprehensive archive management

- Features:
  - Format auto-detection (.dump, .dump.gz, .sql, .sql.gz, .tar.gz)
  - Archive validation before restore
  - Disk space verification
  - Tool availability checks
  - Target database configuration
  - Clean-first and create-if-missing options
  - Parallel decompression support
  - Progress tracking with phases

Phase 1 (Core Functionality) complete and tested
2025-11-07 09:41:44 +00:00
33d53612d2 docs: add comprehensive restore implementation plan 2025-11-07 08:50:18 +00:00
d89be8f0b1 chore: force push all changes 2025-11-06 09:36:58 +00:00
24608bf217 docs: add dbbackup.png to README 2025-11-06 09:35:57 +00:00
26ad1dc130 docs: simplify README - remove marketing tone 2025-11-06 08:04:23 +00:00
a5560fd6b1 fix: NullIndicator for truly silent TUI mode - no stdout at all 2025-11-05 13:55:41 +00:00
e2596c4207 fix: completely silent TUI - no stdout indicators 2025-11-05 13:47:20 +00:00
07b3c746d4 fix: remove tea.Println causing misaligned status messages 2025-11-05 13:38:34 +00:00
0c626fd047 fix: properly aligned TUI layout with consistent spacing 2025-11-05 13:33:49 +00:00
b44ee26770 fix: clean aligned TUI layout - remove duplicates 2025-11-05 13:30:21 +00:00
b6d56daf07 fix: use silent logger in TUI mode to prevent console conflicts 2025-11-05 13:21:16 +00:00
161f577c3a fix: clean log formatter - remove message field redundancy 2025-11-05 13:07:17 +00:00
f2f6021996 build: complete rebuild all platforms (v1.1.0 final) 2025-11-05 13:00:56 +00:00
cea19cad9c build: alle Platformen mit perfekt ausgerichteter Log-Ausgabe 2025-11-05 12:58:41 +00:00
f76bedc474 fix: perfekt ausgerichtete Log-Ausgabe (Spalten untereinander) 2025-11-05 12:56:05 +00:00
437ceb8f63 build: complete rebuild with aligned logging (v1.1.0 - commit 5569ee4) 2025-11-05 12:50:09 +00:00
5569ee4a8f build: all platforms with aligned log formatting 2025-11-05 12:39:05 +00:00
3e9f55b6a9 fix: align log levels for better readability (fixed-width formatting) 2025-11-05 12:36:56 +00:00
4a584a1502 build: rebuild all platforms with clean logging formatter 2025-11-05 12:26:15 +00:00
93790ddc1f build: all platforms with clean human-readable logging 2025-11-05 12:23:44 +00:00
c6ecf0a242 feat: human-readable log formatter (clean output without structured fields noise) 2025-11-05 12:22:30 +00:00