Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rusty RPTerminal #31

Open
3 tasks
sanam2405 opened this issue Dec 15, 2024 · 0 comments
Open
3 tasks

Rusty RPTerminal #31

sanam2405 opened this issue Dec 15, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@sanam2405
Copy link
Owner

sanam2405 commented Dec 15, 2024

The current RPTerminal shipped with the desktop application is non-functional. This is simply because the web-socket backend logic to handle the terminal sessions and spawning pseudo-terminals was handled by apps/api Node.js code. This is currently not being shipped with the desktop app.

The current RPTerminal is accessible only on the web application at /rterm. I need to create a native websocket terminal handler in Rust to ship it with the cross-platform desktop application too.

To-Do

  • create a pty handler in Rust to handle terminal connections
  • setup a bi-lateral communication channel
  • execute the terminal commands as child-processes

Alternatives to writing a native rust-pty handler

Screenshot 2024-12-15 at 3 05 38 PM
  • Bundle Node.js with the Tauri App
    To package Node.js with the Tauri app, I can use tools like pkg or nexe to bundle the Node.js runtime and the Express server into a single executable.
  • Use Node.js as a Dependency
    If I prefer to ship Node.js alongside the Tauri app, I can include the Node.js runtime as part of the app distribution.

Performance

Screenshot 2024-12-15 at 2 58 12 PM

Playlist

@sanam2405 sanam2405 added the enhancement New feature or request label Dec 15, 2024
@sanam2405 sanam2405 self-assigned this Dec 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant