daniel-brenot / node-pty

Fork pseudoterminals in Node.JS
Other
3 stars 4 forks source link

Sockets are not connecting to the pseudoterminal with conpty(Windows only) #5

Open daniel-brenot opened 3 months ago

daniel-brenot commented 3 months ago

Issue description

The branch of interest is rust-port

When running the tests, you will run into 8 failing tests that have to do with the console not getting killed. This happens because for some reason the named pipes created in the native code do not get connected to the child process correctly.

I'm unsure why this isn't working at the moment. You may refer to the main branch of this repository as a reference of what the equivelent C code looked like. I'm hoping to keep the functionality as close as possible.

Please let me know what you find. Note that this is a windows specific issue. This is already working for linux and is close to done for macos.

Please let me know if you need any further clarification.

You will need to know rust to fix this issue. Otherwise you will not be able to build.

If you want to test, run the following commands

yarn build:native yarn build yarn test

Anshgrover23 commented 3 months ago

hey, i am starting to help on this issue

daniel-brenot commented 3 months ago

Sounds good! Let me know if you need any more info on this

ebanDev commented 3 months ago

Hey! I tried running the build commands from the branch rust-port, and I don't have any issues apart from minor typescript syntax issues, I'm running Fedora 40. Has this issue been already fixed? image

daniel-brenot commented 3 months ago

Hey! I tried running the build commands from the branch rust-port, and I don't have any issues apart from minor typescript syntax issues, I'm running Fedora 40. Has this issue been already fixed? image

No, it hasn't been fixed.

The issue has to do specifically with conpty. If you're testing this on fedora you aren't going to find this issue because it's windows only. The linux version currently works fine

puritywakesho commented 1 month ago

hey,where is the link to the code?

parvit commented 1 month ago

@daniel-brenot Hi, i've tried to build the package and tests but it fails when trying to import the "winpty-sys" package with unresolved import errors:

error[E0432]: unresolved imports `winpty_sys::winpty_config_new`, `winpty_sys::winpty_error_ptr_t`, `winpty_sys::winpty_error_free`, `winpty_sys::winpty_config_set_initial_size`, `winpty_sys::winpty_open`, `winpty_sys::winpty_config_free`, `winpty_sys::winpty_t`, `winpty_sys::winpty_agent_process`, `winpty_sys::winpty_spawn_config_new`, `winpty_sys::winpty_spawn`, `winpty_sys::winpty_spawn_config_free`, `winpty_sys::winpty_conin_name`, `winpty_sys::winpty_conout_name`, `winpty_sys::winpty_set_size`, `winpty_sys::winpty_get_console_process_list`, `winpty_sys::DWORD`
  --> src\win\winpty.rs:23:18
   |
23 | ...::{winpty_config_new, winpty_error_ptr_t, winpty_error_free, winpty_config_set_initial_size, winpty_open, winpty_config_free, winpty_t, winpty_agent_process, winpty_spawn_config_new, WINPTY_SPAWN_FLAG_AUTO_SHUTDOWN, winpty_spawn, winpty_spawn_config_free, winpty_conin_name, winpty_conout_name, winpty_set_size, winpty_get_console_process_list, DWO...

Are there specific versions of the tools that are required to build this? I have:

Thanks let me know.