Describe the feature
Today apps/desktop/src-tauri/src/pty.rs:9-12,17,76,97-108,111-128,133-137 stores a single global PTY (ManagedState<Arc<Mutex<Option<PtyState>>>>). A second spawn_pty overwrites the first, and pty-output carries only a String with no session_id, so the frontend cannot route output per tab.
Proposed feature:
- Refactor state to
Mutex<HashMap<SessionId, PtyHandle>>.
- Add
session_id: String to the signatures of spawn_pty, write_to_pty, resize_pty, kill_pty.
- Emit
pty-output with a typed payload { session_id, data }.
- Verify with three parallel terminal tabs that output does not cross.
This unblocks a real multi-tab terminal experience.
Would you like to implement this feature yourself by sending a PR?
Maybe
Describe the feature
Today
apps/desktop/src-tauri/src/pty.rs:9-12,17,76,97-108,111-128,133-137stores a single global PTY (ManagedState<Arc<Mutex<Option<PtyState>>>>). A secondspawn_ptyoverwrites the first, andpty-outputcarries only aStringwith nosession_id, so the frontend cannot route output per tab.Proposed feature:
Mutex<HashMap<SessionId, PtyHandle>>.session_id: Stringto the signatures ofspawn_pty,write_to_pty,resize_pty,kill_pty.pty-outputwith a typed payload{ session_id, data }.This unblocks a real multi-tab terminal experience.
Would you like to implement this feature yourself by sending a PR?
Maybe