opentui
opentui copied to clipboard
OpenTUI is a library for building terminal user interfaces (TUIs)
# Describe the bug When running an application using @opentui/core (opencode) inside tmux, a cryptic string resembling `Gi=31337,s=1,v=1,a=q,t=d,f=24;AAAA` appears in the tmux pane title or leaks into the shell output...
Title. Originally discovered this in opencode when cycling between parent session and subagent session: https://github.com/user-attachments/assets/39f729aa-3770-446f-8d76-0c2c04192461 Will have a PR ready shortly. Minimalistic reproduction repo: https://github.com/veracioux/opentui-332-repro - Look at `index.tsx`, then...
This is both an issue report and a fix for the same. https://github.com/user-attachments/assets/fb472a65-00e8-4bc9-8b68-0f139f2c8d33
I'm not sure how the behavior is best described. But it seems that the grapheme width is not being calculated correctly so the characters are not being overwritten, leaving artifacts....
The default keybindings for `Ctrl+A` and `Ctrl+E` in `TextareaRenderable` were incorrectly mapped to `buffer-home` and `buffer-end` (jumping to the start/end of the entire textarea). This PR changes them to `line-home`...
# Description When a `SelectRenderable` (s0) handles `ITEM_SELECTED`, and the handler makes another selector (s1) visible and focuses it, the same keypress event leaks into s1, causing s1 to immediately...
Define the export properly for solid plugin in package.json, so instead of ```typescript import solidPlugin from "./node_modules/@opentui/solid/scripts/solid-plugin" await Bun.build({ entrypoints: ["./index.tsx"], target: "bun", outdir: "./build", plugins: [solidPlugin], compile: { target:...
See title. Just wanted to report that.
Bun's bytecode compilation reduces startup from ~520ms to ~44ms but requires no top-level await. This is blocking https://github.com/sst/opencode/issues/4843 There are 3 top-level await locations: **yoga-layout WASM** https://github.com/sst/opentui/blob/5dbe0b4be9b647f2d10ac90b63acdecf1a6998d8/packages/core/src/index.ts#L18 yoga-layout uses async...