agent-desktop/crates
Lahfir 00a4282f19
fix: write the trace html export through the user-output primitive (#113)
The export hand-rolled temp+rename with a predictable {pid}.{counter}.tmp
name and, on non-unix, a bare fs::write that follows reparse points. The unix
arm opened the temp with create+truncate rather than create_new, so a
pre-created temp at the guessable name kept its own mode while receiving the
trace bytes. Routing through write_user_file adopts the hashed-nonce
create_new temp, destination validation, and cleanup that screenshot and
clipboard output already use.

Normalizing an empty parent in write_atomic_with is required for the swap:
Path::parent yields Some("") for a bare relative filename and metadata("")
fails NotFound, so --out report.html would otherwise be rejected. That bug was
already latent for screenshot --out and clipboard get --out.

Unifies the trace-export test modules on one lock so the process-global
JSON-size clamp cannot race across them.
2026-07-27 19:12:55 -07:00
..
core fix: write the trace html export through the user-output primitive (#113) 2026-07-27 19:12:55 -07:00
ffi feat: windows toolchain, ci & com bootstrap (sub-phase 2.1) (#112) 2026-07-27 18:35:51 -07:00
linux feat!: implement Playwright-grade foundation contract 2026-07-20 00:21:38 -07:00
macos feat!: implement Playwright-grade foundation contract 2026-07-20 00:21:38 -07:00
windows feat: windows toolchain, ci & com bootstrap (sub-phase 2.1) (#112) 2026-07-27 18:35:51 -07:00