v1.3.179
v1.3.179
Release date: 2026-07-25
Summary
Stability and security hardening release: 15 commits fixing nil-pointer panics, goroutine safety, atomic file writes, process group cleanup, screenshot output accuracy, and mobile connection status / event ordering.
New Features
- Screenshot
raw_output_path: New parameter to save the original full-resolution capture alongside the compressed version sent to the LLM
Bug Fixes
- TUI mobile connection status:
RuntimeMobile()andRuntimeStatus()now querytunnelHost.OnlineBroker()directly instead of relying on Model-leveltunnelSessionfields that can become stale after relay reconnection — aligns TUI with desktop implementation - Desktop StartShare nil pointer: Guard against nil
chatwhenStartShareis called before initialization - Harness orphan processes:
CancelAllnow kills the entire process group (SIGKILLto-pid) to prevent orphaned child processes lingering after cancellation - Stream manager restart:
stopChis recreated onStart()to allow the stream manager to be restarted after a previousStop() - code_execution plan-mode classification: Reclassified as read-only so it is permitted in
planmode (same ascode_executionsandbox) - Agent verify command safety: LLM-proposed
verifycommands now pass throughDangerousDetectorinstead of being executed directly - Screenshot output_path accuracy:
output_pathpreviously saved the raw screenshot before resize/format conversion — the saved file differed from the image returned to the LLM. NowfinalizeImageoverwrites the file with the processed image data after all transformations - Mobile server_ack ordinal gap:
server_ackevents early-returned without updating_lastAppliedEventId, causing every subsequent streaming event to trigger false gap-detection recovery
Security
- Cost file atomic write + path traversal guard:
cost.Savenow uses atomic write (os.WriteFile→ temp+rename) and validates the path to prevent directory traversal - MCP disabled servers atomic write: Plugin config file write now uses atomic write to prevent corruption on concurrent access
- Mobile TunnelCrypto hardening:
decryptDataguards against malformed ciphertext that could cause panics on truncated/invalid base64 input - Goroutine panic safety: Replaced bare
go func()/recover()withsafego.Go/safego.Recoverin browser tool, IM rebind notice, and lanchat UDP ACK sender
Chores
- Wails v2.13.0: Updated wails bindings and dependency