Commit Graph
7 Commits
Author SHA1 Message Date
realrasengan c82251169f revert: use NewEmulator with scrollback (NoScrollback breaks mosh rendering) 2026-03-31 19:04:53 -07:00
realrasengan f065464e2c mosh server: disable scrollback in VT emulator (saves ~200MB/session) 2026-03-31 17:55:00 -07:00
realrasengan 4a40090a5f switch to unixshells/vt-go, ungate framebuffer for WASM
- Replace charmbracelet/x/vt with unixshells/vt-go (IRM support)
- Remove ultraviolet import from framebuffer.go (use local attr constants)
- Framebuffer compiles for all platforms including js/wasm
- WASM build requires -tags osusergo for os/user compatibility
2026-03-30 20:35:55 -07:00
realrasengan 2939a82eca add 60s association timeout: kill mosh server if no client connects
Prevents stale mosh servers from failed setups holding relay bridges
indefinitely. Once a client connects, the 24h network timeout applies.
2026-03-30 19:46:22 -07:00
realrasengan bbe416444b add Conn interface, WASM client with WebTransport transport
- Conn interface: abstracts datagram I/O (Read/Write/SetReadDeadline/Close)
- Client.DialConn(): create client over any Conn (not just UDP)
- cmd/mosh-wasm: WASM binary exposing moshConnect(url, key) to JS
- WebTransport adapter: browser datagrams as mosh.Conn
- Build tags: server.go and framebuffer.go excluded from js/wasm
- Shared constants moved to conn.go

Existing UDP paths unchanged. Latch unaffected.
2026-03-30 12:05:33 -07:00
realrasengan b8b5994527 server: VT emulator framebuffer diffing
Replace raw PTY passthrough with proper VT emulator processing.
PTY output feeds into charmbracelet/x/vt, snapshots are diffed
against the last-acked framebuffer using CUP-based positioning.
Fixes character doubling during fast typing.
2026-03-14 20:34:30 -07:00
realrasengan bb08f71e30 Initial release: pure Go mosh client and server
Wire-compatible with C mosh. AES-128-OCB3, SSP transport, fragmentation,
protobuf state sync, latch extension fields.

Includes ServeRW bridge mode for embedding.
2026-03-12 18:33:41 -07:00