Repository navigation
TSGPUI v0.3.0-beta.1 (pre-release)
Pre-release
Pre-release
Pre-release for testing. It is not for production use, and it may have bugs and breaking changes before 0.3.0.
Full change list: v0.2.0...v0.3.0-beta.1
Highlights
- Native host API (
api.native): file access confined to granted folders, process spawn from an allowlist (no shell), window control, desktop notifications, and local IPC between the app and other processes. - Host work runs in the background: calls run on worker threads so the window stays responsive. Backend tasks queue behind a waiting action and roll back cleanly if they fail.
- Browser preview runs
api.nativethroughtsgpui preview, using a token-checked local endpoint. examples/notes: a small app that saves, opens, deletes and lists notes through the native file API.- Development workflow: persisted state (
"persist": true), a development overlay (F12 or Ctrl+Shift+I), and build diagnostics that keep the last good build running. - CSS and HTML: viewport units,
z-index, anddata-fetchPOST with state-bound bodies. - Website and docs: new landing page, documentation section, and refreshed README.
Known gaps
- The native window has not been run on macOS or Linux. CI builds the host on Windows and macOS only.
- The WebView renderer does not provide
api.nativeyet. process.spawnwaits for the child to exit, so long-running services need a separateprocess.startAPI.- Window minimize, maximize and restore work only in the native host, not in the browser preview.
- IPC peers disconnect when the app reloads.
- The landing page's status section is out of date.
Try the notes example
bun install
bun run gpui:host
node packages/cli/bin/tsgpui.mjs build --project examples/notes