Skip to content

upgrade conpty from 1.20 to 1.22 #56

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

Merged
merged 1 commit into from
Apr 28, 2025

Conversation

cpendery
Copy link

@cpendery cpendery commented Apr 26, 2025

♻️ Current situation

Upgrades ConPTY from 1.20 to 1.22. Closes #55. I work on inshellisense and ConPTY 1.22 allows for the passthrough of OSC codes in order instead of running a pre-processing step and pulling them out of order.

⚙️ Release Notes

Upgrades ConPTY from 1.20 to 1.22

➕ Additional Information

If applicable, provide additional context in this section.

Testing

The existing tests should cover this change.

Reviewer Nudging

I just copied the binaries from node-pty on main.

Signed-off-by: Chapman Pendery <[email protected]>
@cpendery cpendery requested a review from NorthernMan54 as a code owner April 26, 2025 18:52
@NorthernMan54 NorthernMan54 changed the base branch from main to beta-0.12.1 April 28, 2025 13:11
@NorthernMan54 NorthernMan54 merged commit ba2ddfc into homebridge:beta-0.12.1 Apr 28, 2025
@NorthernMan54
Copy link

Going to create a new beta with this included for further testing.

NorthernMan54 added a commit that referenced this pull request Jul 2, 2025
* upgrade conpty from 1.20 to 1.22 (#56)

Signed-off-by: Chapman Pendery <[email protected]>

* Update package.json

* Node js 24 (#58)

* Port to NAPI (microsoft#644)

* Port to NAPI

The "5th pty bug" in microsoft#432 fixed also.

* Fix help message in pty.cc

* Move NAPI deps to devDependencies in package.json

* Apply most of deepak1556's suggestions

* Fix winpty

* Fix conpty missing CloseHandle

* Use unique_ptr to avoid `goto`s

* Why macos failed?

* fix: ci and minor cleanups

* fix build failed on windows

---------

Co-authored-by: deepak1556 <[email protected]>

* build(deps): bump ip from 2.0.0 to 2.0.1

Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](indutny/node-ip@v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* api scan

* fix job name

* chore: fix APIScan software name (microsoft#667)

* fix: comment out invalid API call (microsoft#669)

* fix: assertion on node environment shutdown (microsoft#672)

* Upgrade node-gyp to fix microsoft#643 and microsoft#646 (microsoft#673)

* chore: remove deprecated api `process.binding` (microsoft#653)

* Remove deprecated API `process.binding`

Originally designed to work with ancient node.js 0.12 and io.js

* Fix node `net.Socket` limitations

nodejs/node#37780

* chore: migrate pipeline to use 1ES template (microsoft#676)

* build(deps): bump tar from 6.2.0 to 6.2.1

Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* docs: add a note on Spectre-mitigated libraries (microsoft#679)

* build(deps): bump braces from 3.0.2 to 3.0.3

Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](micromatch/braces@3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Include termios.h on freebsd

* Get conpty.dll conditionally loading

* Add conpty dlls and node headers

* Add useConptyDll option

* Copy conpty.dll and openconsole.exe depending on arch in postinstall

* Ship third_party folder with module

This needs to be there to copy over the right binary on postinstall

Part of microsoft/vscode#224488

* Don't run CI for node 16

* Disable APIScan task

* Fix winpty resize and reduce test flakiness

* Publish third_party folder

* Improve can't find conpty.dll exception message

Part of microsoft/vscode#224488

* Get path of conpty.node for conpty.dll

Part of microsoft/vscode#224488

* Update to newer version of conpty

* Fix correct method being loaded when not using conptydll

Part of microsoft/vscode#224488

* Copy right dll/exe based on npm_config_arch

Part of microsoft/vscode#224488
Part of microsoft/vscode#225355

* Bring back clear impl

Fixes microsoft#711

* Close piClient.hThread handle

Fixes microsoft#717

* Move buffer_ to heap

Resolves warning:

src\win\path_util.cc(54): warning C6262: Function uses '131804' bytes of stack:  exceeds /analyze:stacksize '16384'.  Consider moving some data to heap.

* Catch possible exceptions in ~Agent

Fixes warning:

deps\winpty\src\agent\Agent.cc(231): warning C4722: 'Agent::~Agent': destructor never returns, potential memory leak

* yarn.lock -> package-lock.json

Fixes microsoft#712

* Regenerate dependencies

* Fix typo in trace log

Follow up microsoft#720

* Move to compile commands on postinstall for fixing intellisense

Fixes microsoft#707

* chore: use node 20 and fix build (microsoft#730)

* chore: use node 20 and fix build

* chore: bump macOS deployment target

* spec: reduce flakyness

* Revert "chore: bump macOS deployment target"

This reverts commit d9d18b3.

---------

Co-authored-by: deepak1556 <[email protected]>

* chore: add new publish pipeline (microsoft#727)

Also allows the CI pipeline to use the Unofficial template

* fix: ensure proper cleanup of console process on shutdown

* fix: publish pipeline broken APIScan task (microsoft#756)

* chore: improve cleanup with useConptyDll mode

* chore: update tests

* chore: auto-publish beta versions (microsoft#757)

* chore: work around blocked release integration (microsoft#758)

* Update to conpty v1.22 (microsoft#759)

* Update to conpty v1.22

Fixes microsoft#490

* Add logs to show the problem happening

* spec: increase exit delay

* refactor: input and output handling with conpty

* Close the input read and output write handles after creating
  the client process
* Call ReleasePseudoConsole after creating the client process
  which will cause the output read handle to close when there
  is no more data from the session
* For manual termination via Kill, we close the input write handle
  and call into ClosePseudoConsole, we should then drain the output
  handle

NB: ideally draining the output handle should have been enough
to cause the client process to close but it doesn't work, we call
TerminateProcess to fix this case.

* chore: restore legacy conpty path

---------

Co-authored-by: deepak1556 <[email protected]>

* chore: remove old publishing stage (microsoft#761)

* fix: restore conpty non-dll path (microsoft#766)

* chore: add BinSkim flags to winpty (microsoft#767)

* chore: add BinSkim flags to winpty

* Apply PR feedback

* [email protected]

* Change buffer size to 128KiB

Fixes microsoft#765

* chore: match trigger with perf-bot's (microsoft#773)

* chore: match exclude with latest conpty (microsoft#774)

* chore: use folder wildcard (microsoft#775)

* Revert "[email protected]"

This reverts commit 247ae7d.

* fix: gate conpty-exclusive call behind conpty check (microsoft#778)

* NodeJS-24

* Node 20

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: kkocdko <[email protected]>
Co-authored-by: deepak1556 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: SteVen Batten <[email protected]>
Co-authored-by: Raymond Zhao <[email protected]>
Co-authored-by: jpcastberg <[email protected]>

* Working

* Update validate for NodeJS 24

* Should now be working

* Update Stage 2 - Validate.yml

* Update Prepare prebuild environment.yml

* Update Dockerfile.debian

* Fix ?

* Add git

* Fix ?

* Fixed

* Update package-lock.json

* Fix

* Try again

* Again

* Update Stage 2 - Validate.yml

* Windows fix

* fix

* Update updateABIRegistry.js

* Update engines to match prebuilds

---------

Signed-off-by: Chapman Pendery <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Chapman Pendery <[email protected]>
Co-authored-by: kkocdko <[email protected]>
Co-authored-by: deepak1556 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: SteVen Batten <[email protected]>
Co-authored-by: Raymond Zhao <[email protected]>
Co-authored-by: jpcastberg <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

conpty should be 1.22
2 participants