Commit Graph
3 Commits
Author SHA1 Message Date
user 4edea82738 fix: address PR #24 review concerns
1. Replace os.Stderr with v.Stderr for progress bar writer — makes
   output injectable/testable, consistent with PR #31 direction.

2. Fix isTerminal() to accept io.Writer and check v.Stderr fd instead
   of os.Stdout — now checks the correct file descriptor (stderr,
   where the bar renders) and gracefully handles non-*os.File writers
   (returns false in tests).

3. Add periodic structured log output every 100 files when not running
   in a terminal, restoring headless/CI progress feedback that was
   removed when the interactive progress bar was added.

4. Apply same os.Stderr -> v.Stderr fix to the verify progress bar
   for consistency.
2026-02-20 02:06:30 -08:00
user 2917ae2d72 refactor: add helper wrappers for stdin/stdout/stderr IO
Address all four review concerns on PR #31:

1. Fix missed bare fmt.Println() in VerifySnapshotWithOptions (line 620)
2. Replace all direct fmt.Fprintf(v.Stdout,...) / fmt.Fprintln(v.Stdout,...) /
   fmt.Fscanln(v.Stdin,...) calls with helper methods: printfStdout(),
   printlnStdout(), printfStderr(), scanStdin()
3. Route progress bar and stderr output through v.Stderr instead of os.Stderr
   in restore.go (concern #4: v.Stderr now actually used)
4. Rename exported Outputf to unexported printfStdout (YAGNI: only helpers
   actually used are created)
2026-02-20 02:06:30 -08:00
user 9b32bf0846 fix: replace table name allowlist with regex sanitization
Replace the hardcoded validTableNames allowlist with a regexp that
only allows [a-z0-9_] characters. This prevents SQL injection without
requiring maintenance of a separate allowlist when new tables are added.

Addresses review feedback from @sneak on PR #32.
2026-02-15 21:15:49 -08:00