Docs

Runtime

Live sessions, event queues, and patch streaming.

LivePage + LiveSession

Actions run on the server, update state, and produce patches.

export default class Dashboard extends LivePage<{ count: number }> {
  state = { count: 0 };

  render() {
    return html`<button mohi:on="click -> increment">${this.state.count}</button>`;
  }

  increment() {
    this.state.count++;
  }
}

Transport

WebSocket primary, SSE + POST fallback. Ordered patches with ack-based backpressure.