fix: improve Docker clone reliability and log display

- Use bash with pipefail instead of sh to detect pg_dump failures in pipes
- Switch full clone from binary format (pg_dump -Fc | pg_restore) to plain
  text (pg_dump | psql) for reliable transfer through docker exec
- Add --no-owner --no-acl flags to avoid errors from missing roles
- Extract shared run_pipe_cmd helper with proper error handling
- Remove shell commands from progress events to prevent credential leaks
- Fix process log layout overflow with break-all and block-level details

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 19:41:59 +03:00
parent 1ce5f78de8
commit 20b00e55b0
2 changed files with 78 additions and 61 deletions

View File

@@ -67,17 +67,17 @@ function ProcessLog({
Process Log ({entries.length})
</button>
{logOpen && (
<div className="mt-1.5 rounded-md bg-muted p-3 text-xs font-mono max-h-40 overflow-y-auto">
<div className="mt-1.5 rounded-md bg-muted p-3 text-xs font-mono max-h-40 overflow-auto">
{entries.map((entry, i) => (
<div key={i} className="flex gap-2 leading-5">
<span className="text-muted-foreground shrink-0 w-8 text-right">
<div key={i} className="leading-5 min-w-0">
<span className="text-muted-foreground">
{entry.percent}%
</span>
</span>{" "}
<span>{entry.message}</span>
{entry.detail && (
<span className="text-muted-foreground truncate">
{entry.detail}
</span>
<div className="text-muted-foreground break-all pl-6">
{entry.detail}
</div>
)}
</div>
))}