feat: add a lot more tui functionality#2635
Conversation
|
This is very welcome! High-level overview:
I think it might be worth splitting this up. A decision we need to make if we really want PTY to be the default, because that complicates writing logs, which are now mixed with terminal codes. We definitely should allow it at least as an option, like |
|
Sure, I can work on adding the option to use PTYs, but I think opt out is the better way to do it since it renders like the process expects it to. The previous one would lose a bunch of logs for mean (QR code in Expo, among other things) which I don't think is a great default experience. If you let me know how you wanna split the PR into others I can also work on that. |
|
@sandydoo thoughts on making pty the default for processes? |
4593098 to
c63d624
Compare
|
@domenkozar I added the option and set it to default for now. The PR also no longer needs my fork of iocraft and has been updated to main. |
This PR changes the native process manager to use PTY's instead of log streaming which allows more complex UIs (qr codes, colors, etc) to be rendered properly. It properly shuts processes down instead of them surviving. Adds support for providing input into a process, such as interacting with Expo. Fixes flickering issues.
needs cachix/iocraft#1
Disclaimer: this PR was entirely done by AI but I've been using it locally without issue
More in depth summary by AI:
Summary
Key changes
TUI process rendering
Interactive process input
F12Expanded and collapsed process views
Process lifecycle and controls
Stoppedstate instead of treating manually stopped processes the same as never-started onesStoppingstate before settling intoStopped, which makes the UI reflect that transition more clearlyPTY and process supervision changes
UI polish and behavior