-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Avoid dropping Esc characters from VT responses #17833
Conversation
FYI, I've tested the Windows version of yazi with this branch and it is working now, so I think it's safe to close #17823 as well. I'm assuming the failed query responses were also responsible for it not responding to any input, because that's no longer a problem. |
void InteractDispatch::WriteString(const std::wstring_view string) | ||
{ | ||
if (!string.empty()) | ||
{ | ||
const auto codepage = _api.GetConsoleOutputCP(); | ||
InputEventQueue keyEvents; | ||
|
||
for (const auto& wch : string) | ||
{ | ||
CharToKeyEvents(wch, codepage, keyEvents); | ||
} | ||
|
||
WriteInput(keyEvents); | ||
} | ||
const auto& gci = ServiceLocator::LocateGlobals().getConsoleInformation(); | ||
gci.GetActiveInputBuffer()->WriteString(string); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're going to hate me for bringing this up, but I think we might actually need both versions of this function, with ActionPrintString
calling the old version (i.e. generating key events), and ActionPassThroughString
calling your new version that writes directly to the input buffer.
The reason being that we still need to support third-party terminals that don't necessarily implement win32-input-mode, and you can see how that affects things by commenting out our implementation of the win32-input-mode in AdaptDispatch
.
With this PR applied, regular character keys no longer generate up and down key events with their actual virtual key code - you just get a single null virtual key code with the appropriate char value. That may be good enough in many cases, but I suspect there will be some apps that require full key events.
So for that to work correctly, I think ActionPrintString
needs to be left as it was using the old implementation of WriteString
. And to fix the VT responses, we just need to make ActionPassThroughString
call your new version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh... of course. But this function also gets called during a bracketed paste, right? That's unfortunate but I think that's a minor issue for later. As I mentioned previously, I was planning to rework the InputBuffer
until the next release, and that would also entail moving the conversion from plain text into INPUT_RECORD
s until when the data gets read and not when it's being written. That will fix various subtle issues like this one, I'm sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if I've misunderstood your intention here, but I thought we were going to keep your new version of WriteString
for the ActionPassThroughString
, because that's what was fixing the VT responses. I've checkout your last revert now, and it seems that yazi doesn't work anymore, and a DA1
query from the cmd prompt no longer shows the initial escape. Is the plan to address that later?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I shouldn't have done this on a holiday. 😓 I'll run some tests now and get this right.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed & tested with yazi. Only ActionPassThroughString
calls the new code now, while the old ActionPrintString
continues to call InputBuffer::Write
.
Oh nice. This also fixes the double-encoding of mouse input events when win32-input-mode is enabled! That's an issue that had affected even older versions. |
`GetChar` checks if the vkey is VK_ESCAPE. `CharToKeyEvents` however tries really hard to figure out the vkeys of all characters. To avoid these issues all we need to do is to simply use the existing `WriteString` function we already use for all other VT responses. If it's good for conhost responses, it's good for ConPTY responses. Additionally, this removes another `IsVtInputEnabled` which was redundant with `WriteString` which worked exactly the same internally. Closes #17813 Closes #17851 Probably also related to #17823 * Wrote a small app to send and receive a DA1 request. It works ✅ * WSL already worked to begin with (and still works now) ✅ * No double-encoding of mouse input events ✅ (cherry picked from commit 7b50f12) Service-Card-Id: PVTI_lADOAF3p4s4AmhmQzgSa4RU PVTI_lADOAF3p4s4AmhmQzgStRA0 Service-Version: 1.22
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [eza-community/eza](https://redirect.github.com/eza-community/eza) | patch | `v0.19.1` -> `v0.19.2` | | [fujiwara/awslim](https://redirect.github.com/fujiwara/awslim) | patch | `v0.3.4` -> `v0.3.5` | | [kevincobain2000/gobrew](https://redirect.github.com/kevincobain2000/gobrew) | patch | `v1.10.10` -> `v1.10.11` | | [sxyazi/yazi](https://redirect.github.com/sxyazi/yazi) | patch | `v0.3.2` -> `v0.3.3` | | [weaveworks/eksctl](https://redirect.github.com/weaveworks/eksctl) | minor | `v0.189.0` -> `v0.190.0` | --- ### Release Notes <details> <summary>eza-community/eza (eza-community/eza)</summary> ### [`v0.19.2`](https://redirect.github.com/eza-community/eza/releases/tag/v0.19.2): eza v0.19.2 (the one with the theme.yml) [Compare Source](https://redirect.github.com/eza-community/eza/compare/v0.19.1...v0.19.2) ### Changelog And we are back from vacation, with a packed eza release. One highlight to take note of this release is custom theme files! ###### Custom Themes **Eza** has recently added support for a `theme.yml` file, where you can specify all of the existing theme-ing options available for the `LS_COLORS` and `EXA_COLORS` environment variables, as well as the option to specify different icons for different file types and extensions. Any existing environment variables set will continue to work and will take precedence for backwards compatibility. An example theme file is available in `docs/theme.yml`, and needs to either be placed in a directory specified by the environment variable `EZA_CONFIG_DIR`, or will looked for by default in `$XDG_CONFIG_HOME/eza`. Full details are available on the [man page](https://redirect.github.com/eza-community/eza/tree/main/man/eza_colors-explanation.5.md) and an example theme file is included [here](https://redirect.github.com/eza-community/eza/tree/main/docs/theme.yml) *** ##### Bug Fixes - Remove unnecessary map and make clippy happy - Adjust grid details for CI tests - Imports and merge conflicts - Rustfmt issues - Clippy issues - Revise UiStyles::plain to have no style at all - Pr reviews fixes for theme file - Selectively filter files when recursing [#​1101](https://redirect.github.com/eza-community/eza/issues/1101) - Fix typo in FromOverride<FileKinds> impl - Add serde(default) to StyleOverride.foreground/background fields ##### Documentation - Add Flox to INSTALL.md - Add ic for icon color to colors man page - Add further documentation about theme file ##### Features - Add c++ module interfaces as source file types - Add icon field to UiStyles - Add ic key for UiStyles icon in set_exa - Add None as icon value in UiStyles.default_theme - Add icon function to FileNameColours trait - Implement FileNameColours.icon for Theme - Adjust FileName.paint to consider possible icon color - Begin implementation of config file - Allow writing default theme.yml file for eventual config file implementation - Theme file configuration base - Add IconOverrides struct and UiStyles.icon_overrides - Add icon_override function to FileNameColours trait - Implement FileNameColours.icon_override for Theme - Handle icon overrides in FileName.paint - Add example config for icon_overrides - Rename UiStyles.icon_override to icons and add Style field - Add shorthand aliases to StyleOverride variables - Add custom deserialize_color and use in StyleOverride - Outsource color_from_str function to make it testable ##### Miscellaneous Tasks - Release eza v0.19.2 ##### Refactor - Simplify icon style setting in FileName.paint - Make every setting optional with override layer - Simplify sample theme.yml - Formatting for rustfmt macro ##### Styling - Fix clippy issue in FileName.paint - Apply rustfmt - Simplify from_str_radix calls to please clippy ##### Testing - Add unit tests for color_from_str function ##### Build - Bump windows-sys from 0.52.0 to 0.59.0 ##### Ci - Allow MPL-2.0 ### Checksums #### sha256sum 0de75a2e2a1b53181e9ddc307595f5b21cfe3897301f570a3570ab3f0281b0c8 ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.tar.gz aa979f0a8609976344fa54b7dc99472532cd65af66c037076a78fc63be4b0747 ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.zip ec8b904da98c2cc675e4d2d790cb71369bbb4dc0d736ebdc96a46a104a908e01 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.tar.gz cda9699c2a209949c8d8a4b29bf31837ce7aaba8fb14989d765e41be828d1cc3 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.zip b396295fce6a7f9d2d0285ed4fadc2e27f4f7cf5d4abe45b2bdd27a5303e862b ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.tar.gz ba631e9317165836a30ed3cf154f0c48f8c105c314f72dd55f720e3fed503c22 ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.zip 2198529bf8fbabf069dc232f106c2c474e29b9d7571611f64e04299e0899b33b ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.tar.gz 91b282fc6d456554fe1b4e7420ac9809d7381ba5a59dd1f5f56cbfcc17cd7b52 ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.zip df3253d6215087b3b614ee1ffc5b951af53236ba887cbe7e548b14c50cd755d3 ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.tar.gz a90cce4ca7ae6ec296fa6da7eb4aecc94153a7cfb54267303d197dec335703ec ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.zip #### md5sum b536c0d6d7c6b4303d620a6b703a721a ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.tar.gz 6aa9b1dcb9f96daed27dd74585aa16ee ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.zip b4508e45412f871f362416770d756369 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.tar.gz 0e72b99f6f6a7336f40c38c754a80f35 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.zip e1f7c7eda0c95083d6c82f3ff92a8bad ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.tar.gz 5aa2e0affd95bbc7d65f8e3ab086f8fc ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.zip bf6442dc45a5f39bb7ea9bf7a954eaae ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.tar.gz b6c792e7cba6d2ad346548b3e8eaa000 ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.zip 1cb4f3cd02e6153d10e4cfe872811b90 ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.tar.gz 06197e2af01367f0269d964177d22d5f ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.zip #### blake3sum 2058e84613627f90a26f75ab09b749703836706115a04b69ade321d58d7f255a ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.tar.gz ec63581afdf96fa8411d1a2e522d21f0fa555b06595e44a3b458554261938231 ./target/bin-0.19.2/eza_aarch64-unknown-linux-gnu.zip 5bc1912ae22d33de234b205abb6e2f4fe4587d780d7062e07ee0e878cdc84e32 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.tar.gz 299aa57b10c98b53aace17501a231a86b7125ccd86a812e39c016457a618e1a1 ./target/bin-0.19.2/eza_arm-unknown-linux-gnueabihf.zip 5f6dc18d0e7f0047801f993f8ee63ece0937ade00c425c57eb384b9e88748e05 ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.tar.gz 291d2b831502d169845775a47eab9bcebb724aee3a85120f6d0a153583383b66 ./target/bin-0.19.2/eza.exe_x86_64-pc-windows-gnu.zip 4c85dcd40d45b9778e02b9276e25ecccc4cc2ab2362f021a52ed33ed3ad96a45 ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.tar.gz b9b82a0046fec737112dac6414966662c15c5b4c0e4f1d3232f98cdc2a25fe45 ./target/bin-0.19.2/eza_x86_64-unknown-linux-gnu.zip 3283503c9a70bdd7dc3c887e411fcb0a0065dc3a71a6cd63ad1b43b6a42372a5 ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.tar.gz a0da7357813842e64cdd67298ebfe62ae38627a0210ac0b49ba9754b9bfa063d ./target/bin-0.19.2/eza_x86_64-unknown-linux-musl.zip </details> <details> <summary>fujiwara/awslim (fujiwara/awslim)</summary> ### [`v0.3.5`](https://redirect.github.com/fujiwara/awslim/blob/HEAD/CHANGELOG.md#v035---2024-09-02) [Compare Source](https://redirect.github.com/fujiwara/awslim/compare/v0.3.4...v0.3.5) - Bump the aws-sdk-go-v2 group with 2 updates by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/fujiwara/awslim/pull/49](https://redirect.github.com/fujiwara/awslim/pull/49) </details> <details> <summary>kevincobain2000/gobrew (kevincobain2000/gobrew)</summary> ### [`v1.10.11`](https://redirect.github.com/kevincobain2000/gobrew/releases/tag/v1.10.11) [Compare Source](https://redirect.github.com/kevincobain2000/gobrew/compare/v1.10.10...v1.10.11) #### Changelog - [`5e8a165`](https://redirect.github.com/kevincobain2000/gobrew/commit/5e8a165b25bf6d7c46cd888c329d09d934223729) (docs) CHANGE LOG - [`edeeff9`](https://redirect.github.com/kevincobain2000/gobrew/commit/edeeff9fe1a9e012300c4c5e8a66102520b1296d) (docs) fixes CHANGE LOG and only keep major changes to the CHANGE LOG - [`b13d6ae`](https://redirect.github.com/kevincobain2000/gobrew/commit/b13d6ae5c2ee0b52861418fce922b4a94beae661) Fix: Handle unset GOBREW_ROOT variable safely ([#​208](https://redirect.github.com/kevincobain2000/gobrew/issues/208)) - [`186c1c2`](https://redirect.github.com/kevincobain2000/gobrew/commit/186c1c2f7c68abb5efeba75dc80d57c82b23bfca) Update README.md ([#​209](https://redirect.github.com/kevincobain2000/gobrew/issues/209)) - [`7ffc9d7`](https://redirect.github.com/kevincobain2000/gobrew/commit/7ffc9d7b7c88fa8026e1626cd2ea89d179734c1d) feat: new flag options for cache ([#​204](https://redirect.github.com/kevincobain2000/gobrew/issues/204)) - [`bbb18aa`](https://redirect.github.com/kevincobain2000/gobrew/commit/bbb18aa179bbd1680a89de5659c0003694d63c8b) fix: fail script process on errors ([#​206](https://redirect.github.com/kevincobain2000/gobrew/issues/206)) </details> <details> <summary>sxyazi/yazi (sxyazi/yazi)</summary> ### [`v0.3.3`](https://redirect.github.com/sxyazi/yazi/releases/tag/v0.3.3) [Compare Source](https://redirect.github.com/sxyazi/yazi/compare/v0.3.2...v0.3.3) This version fixes a regression from the previous release that caused some keys to stop working. And it resolves a long-standing issue where the file list couldn't refresh automatically in Windows WSL. This version also introduces the following three new features: #### Git integration Show the status of Git file changes as a linemode in the file list. Feel free to use it and report any issues! For now, you need to manually install it (pretty easy to do) from https://github.com/yazi-rs/plugins/tree/main/git.yazi. In the future, it will be included as one of Yazi's built-in plugins. https://github.com/user-attachments/assets/eea1c665-0755-4a79-82ef-9846c4cac0df #### `size` linemode supports displaying the number of files in a directory [https://github.com/sxyazi/yazi/pull/1591](https://redirect.github.com/sxyazi/yazi/pull/1591) updates the `size` linemode for directories to support displaying the number of files within the directory instead of leaving it blank as before. If size information is available for the directory (triggered when sorting by size), that information will be shown as a priority. https://github.com/user-attachments/assets/d725e9fa-9605-4be3-bb05-6b21c7bbbca5 #### Windows Terminal support for image previews [Windows Terminal Preview v1.22.2362.0](https://redirect.github.com/microsoft/terminal/releases/tag/v1.22.2362.0) now supports the Sixel image format. Yazi provided an adaptation for this in [https://github.com/sxyazi/yazi/pull/1588](https://redirect.github.com/sxyazi/yazi/pull/1588) (Thanks [@​e82eric](https://redirect.github.com/e82eric)). Note that Windows Terminal Preview v1.22.2362.0 [has a bug](https://redirect.github.com/sxyazi/yazi/issues/1570#issuecomment-2319625368) that can cause Yazi to time out at startup. If you want to try this feature, make sure to apply the patch from [https://github.com/microsoft/terminal/pull/17833](https://redirect.github.com/microsoft/terminal/pull/17833). https://github.com/user-attachments/assets/8a1f1e5c-51dd-4281-8575-c5c5de3ef3ad #### What's Changed - fix: keybindings disappear when mixing presets with a wrong filter condition by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1568](https://redirect.github.com/sxyazi/yazi/pull/1568) - fix: check compositor support status before using ueberzug wayland output by [@​taoky](https://redirect.github.com/taoky) in [https://github.com/sxyazi/yazi/pull/1566](https://redirect.github.com/sxyazi/yazi/pull/1566) - fix: fallback to `PollWatcher` on WSL by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1574](https://redirect.github.com/sxyazi/yazi/pull/1574) - fix: continuous fetcher was not scheduled consecutively by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1575](https://redirect.github.com/sxyazi/yazi/pull/1575) - fix: `Rail` component should have a higher rendering priority by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1585](https://redirect.github.com/sxyazi/yazi/pull/1585) - perf: truncate long lists in confirm dialogs by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1590](https://redirect.github.com/sxyazi/yazi/pull/1590) - feat: `size` linemode supports showing the file count for directories by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1591](https://redirect.github.com/sxyazi/yazi/pull/1591) - feat: support image preview in Windows Terminal by [@​e82eric](https://redirect.github.com/e82eric) in [https://github.com/sxyazi/yazi/pull/1588](https://redirect.github.com/sxyazi/yazi/pull/1588) - chore: upgrade `ratatui` to 0.28.1 by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1601](https://redirect.github.com/sxyazi/yazi/pull/1601) - feat: add `is_absolute`, `has_root`, `starts_with`, `ends_with`, `strip_prefix` to `Url` Userdata by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1605](https://redirect.github.com/sxyazi/yazi/pull/1605) - feat: add `dict_merge()` function by [@​sxyazi](https://redirect.github.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1609](https://redirect.github.com/sxyazi/yazi/pull/1609) #### New Contributors - [@​taoky](https://redirect.github.com/taoky) made their first contribution in [https://github.com/sxyazi/yazi/pull/1566](https://redirect.github.com/sxyazi/yazi/pull/1566) - [@​e82eric](https://redirect.github.com/e82eric) made their first contribution in [https://github.com/sxyazi/yazi/pull/1588](https://redirect.github.com/sxyazi/yazi/pull/1588) **Full Changelog**: sxyazi/yazi@v0.3.2...v0.3.3 </details> <details> <summary>weaveworks/eksctl (weaveworks/eksctl)</summary> ### [`v0.190.0`](https://redirect.github.com/eksctl-io/eksctl/releases/tag/v0.190.0): eksctl 0.190.0 [Compare Source](https://redirect.github.com/weaveworks/eksctl/compare/0.189.0...0.190.0-rc.0) ### Release v0.190.0 #### 🧰 Maintenance - Bump github.com/docker/docker from 26.1.4+incompatible to 26.1.5+incompatible ([#​7936](https://redirect.github.com/weaveworks/eksctl/issues/7936)) - Bump jinja2 from 3.1.3 to 3.1.4 in /userdocs ([#​7748](https://redirect.github.com/weaveworks/eksctl/issues/7748)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/scottames/dots). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
This version fixes a regression from the previous release that caused some keys to stop working. And it resolves a long-standing issue where the file list couldn't refresh automatically in Windows WSL. This version also introduces the following three new features: - Git integration Show the status of Git file changes as a linemode in the file list. Feel free to use it and report any issues! For now, you need to manually install it (pretty easy to do) from https://github.com/yazi-rs/plugins/tree/main/git.yazi. In the future, it will be included as one of Yazi's built-in plugins. - size linemode supports displaying the number of files in a directory #1591 updates the size linemode for directories to support displaying the number of files within the directory instead of leaving it blank as before. If size information is available for the directory (triggered when sorting by size), that information will be shown as a priority. - Windows Terminal support for image previews Windows Terminal Preview v1.22.2362.0 now supports the Sixel image format. Yazi provided an adaptation for this in #1588 (Thanks @e82eric). Note that Windows Terminal Preview v1.22.2362.0 has a bug that can cause Yazi to time out at startup. If you want to try this feature, make sure to apply the patch from microsoft/terminal#17833. What's Changed - fix: keybindings disappear when mixing presets with a wrong filter condition by @sxyazi in #1568 - fix: check compositor support status before using ueberzug wayland output by @taoky in #1566 - fix: fallback to PollWatcher on WSL by @sxyazi in #1574 - fix: continuous fetcher was not scheduled consecutively by @sxyazi in #1575 - fix: Rail component should have a higher rendering priority by @sxyazi in #1585 - perf: truncate long lists in confirm dialogs by @sxyazi in #1590 - feat: size linemode supports showing the file count for directories by @sxyazi in #1591 - feat: support image preview in Windows Terminal by @e82eric in #1588 - chore: upgrade ratatui to 0.28.1 by @sxyazi in #1601 - feat: add is_absolute, has_root, starts_with, ends_with, strip_prefix to Url Userdata by @sxyazi in #1605 - feat: add dict_merge() function by @sxyazi in #1609
@unxed Since it fixed a regression in 1.22 (preview), it was released to the preview channel on Friday, 27 September with version 1.22.2702.0. |
GetChar
checks if the vkey is VK_ESCAPE.CharToKeyEvents
howevertries really hard to figure out the vkeys of all characters.
To avoid these issues all we need to do is to simply use the existing
WriteString
function we already use for all other VT responses.If it's good for conhost responses, it's good for ConPTY responses.
Additionally, this removes another
IsVtInputEnabled
which wasredundant with
WriteString
which worked exactly the same internally.Closes #17813
Closes #17851
Probably also related to #17823
Validation Steps Performed