Repository navigation
v0.99.70
fix: rewrite resize as full pipeline teardown/rebuild, remove picom dependency
Resize was breaking NvFBC animation because the surgical reinit path
(recreateSession + reinitBuffers + reconfigure) had thread safety issues
and picom's compositing state broke after xrandr. This replaces it with
a clean teardown/rebuild approach:
- Move resize from libdatachannel callback thread to capture loop via
atomic pending_resize flag (fixes thread safety) - Full deinit/init of encoder, NvFBC, CUDA, NVENC on resize (~300ms)
- Remove picom entirely — NvFBC polling mode works without a compositor
- Remove surgical reinit methods (recreateSession, reinitBuffers,
reconfigure, encoder.reinit) for clean-room rewrite later - Add per-stage timing logs for resize operations
- Suppress no-op resizes on both server and browser side
- Fix window.open/resizeTo to account for window decoration offset
- Make video fill viewport (width/height: 100vw/100vh) so browser
resize triggers app resize in both directions
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com