The IO thread was reading/writing pty_master_ instead of pty_slave_. Since VTE is connected to the master side, the IO thread must use the slave side to bridge SSH I/O. Remote output never reached the terminal.
Fix
// BEFORE (broken):
ssize_tn=read(self->pty_master_,buf,sizeof(buf));write(self->pty_master_,buf,n);// AFTER (fixed):
ssize_tn=read(slave_fd,buf,sizeof(buf));if(write(slave_fd,buf,n)<0&&errno!=EINTR)break;
## Bug
The IO thread was reading/writing `pty_master_` instead of `pty_slave_`. Since VTE is connected to the master side, the IO thread must use the slave side to bridge SSH I/O. Remote output never reached the terminal.
## Fix
```cpp
// BEFORE (broken):
ssize_t n = read(self->pty_master_, buf, sizeof(buf));
write(self->pty_master_, buf, n);
// AFTER (fixed):
ssize_t n = read(slave_fd, buf, sizeof(buf));
if (write(slave_fd, buf, n) < 0 && errno != EINTR) break;
```
**Status:** Fixed in commit 4a2b2ea
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bug
The IO thread was reading/writing
pty_master_instead ofpty_slave_. Since VTE is connected to the master side, the IO thread must use the slave side to bridge SSH I/O. Remote output never reached the terminal.Fix
Status: Fixed in commit
4a2b2ea