Skip to content

Conversation

@sreya
Copy link
Contributor

@sreya sreya commented Nov 20, 2025

No description provided.

- Make terminal.options public and mutable with Proxy interception
- Make open() synchronous (WASM pre-loads in constructor)
- Add windowsMode and allowProposedApi options for xterm.js compatibility
- Add unicode.activeVersion property
- Add onReady event that fires immediately for late subscribers
- Implement event-based FitAddon auto-retry (no timers)
- Add write queueing for data sent before WASM loads
- Support runtime option changes (disableStdin, windowsMode, etc)
- Fix: setupTerminal uses this.cols/rows instead of options.cols/rows

Breaking changes:
- open() is now synchronous (remove await keyword)
- options is now public (was private)
- WASM loading starts in constructor (slight startup cost)

This enables true zero-friction migration from xterm.js - just change
the import statement and all existing code works unchanged.

Includes comprehensive test suite (18 xterm.js compatibility tests).

Fixes resize issue where PTY was created before FitAddon could update
terminal dimensions. Now term.cols/rows are used when creating WASM
terminal, ensuring correct initial size.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant