wraith/src-tauri
Vantz Stockwell a2770d3edf
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 4m20s
perf: double-buffered RDP frames + frontend rAF throttling
Root cause: RDP was unresponsive due to frame pipeline bottleneck.
- get_frame() held tokio::Mutex while cloning 8.3MB, blocking the
  RDP session thread from writing new frames (mutex contention)
- Frontend fetched on every backend event with no coalescing
- Every GraphicsUpdate emitted an IPC event, flooding the frontend

Fix:
- Double-buffer: back_buffer (tokio::Mutex, write path) and
  front_buffer (std::sync::RwLock, read path) — reads never block writes
- get_frame() now synchronous, reads from front_buffer via RwLock
- Backend throttles frame events to every other GraphicsUpdate
- Frontend coalesces events via requestAnimationFrame
- RdpView props now reactive (computed) for correct resize behavior
- rdp_get_frame command no longer async (no .await needed)
- screenshot_png_base64 no longer async

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 09:19:40 -04:00
..
capabilities feat: Help menu + fix tab detach rendering 2026-03-26 14:07:45 -04:00
gen/schemas feat: Help menu + fix tab detach rendering 2026-03-26 14:07:45 -04:00
icons feat: Phase 1 complete — Tauri v2 foundation 2026-03-17 15:09:41 -04:00
src perf: double-buffered RDP frames + frontend rAF throttling 2026-03-30 09:19:40 -04:00
windows fix: remove desktop shortcut from NSIS installer by default 2026-03-24 20:04:06 -04:00
build.rs feat: Phase 1 complete — Tauri v2 foundation 2026-03-17 15:09:41 -04:00
Cargo.lock fix: SEC-3/CONC-1/2/3 vault zeroize + async mutex + cancellation tokens 2026-03-29 16:40:10 -04:00
Cargo.toml merge: SEC-3/CONC-1/2/3 vault zeroize + async mutex + cancellation (resolved lib.rs conflict) 2026-03-29 16:41:47 -04:00
installer.nsi.template feat: Local PTY Copilot Panel — replace Gemini stub with real terminal 2026-03-24 20:43:18 -04:00
tauri.conf.json fix: SEC-4/SEC-5 CSP lockdown + IPC-1 serde camelCase 2026-03-29 16:40:00 -04:00