• v1.12.0 09c2f1a1ff

    feat: RDP dynamic resize on window resize (MobaXTerm-style)
    All checks were successful
    Build & Sign Wraith / Build Windows + Sign (push) Successful in 3m59s

    Ghost released this 2026-03-30 14:44:43 +00:00 | 12 commits to main since this release

    When the Wraith window is resized, the RDP session now resizes to fill
    the entire canvas area — matching MobaXTerm behavior.

    Implementation:

    • Enabled ironrdp displaycontrol feature for Display Control Virtual Channel
    • Added Resize input event to RDP session thread
    • ActiveStage::encode_resize() sends monitor layout PDU to server
    • Server re-renders at new resolution and sends updated frames
    • Frontend ResizeObserver on canvas wrapper, debounced 500ms
    • Canvas CSS changed from max-width/max-height to width/height: 100%
    • Mouse coordinate mapping uses canvas.width/height (actual resolution)
      instead of initial rdpWidth/rdpHeight
    • Image and front buffer reallocated on resize to match new dimensions
    • Width constrained to even numbers per RDP spec, min 200px

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    Downloads