Uh oh!
There was an error while loading. Please reload this page.
Revert "readline: clean up event listener in onNewListener" - #13560
Revert "readline: clean up event listener in onNewListener"#13560addaleax wants to merge 2 commits into
Conversation
addaleax
commented
Jun 8, 2017
jasnell
commented
Jun 8, 2017
Ugh. Ok. Lgtm |
gibfahn
commented
Jun 8, 2017
Sorry for breaking stuff 😞 |
addaleax
commented
Jun 8, 2017
@gibfahn Don’t worry about it, it really isn’t obvious that that would be a breaking change. This will go out with the next 8.x release and the world will keep turning. ;) |
jasnell
commented
Jun 9, 2017
Breaking stuff happens. As @addaleax said, this one is super non-obvious and, on its face, not an incorrect change. This largely underscores the importance of growing our ecosystem testing, tho |
Pajn
commented
Jun 9, 2017
When will a new version be released? |
addaleax
commented
Jun 10, 2017
@Pajn That’s mostly a question for @nodejs/release but I would assume Monday or Tuesday. I should be able to prepare it that helps. |
Pajn
commented
Jun 10, 2017
@addaleax Thanks! Just knowing the timeframe is helpful. |
addaleax
commented
Jun 10, 2017
I’m going to land this a bit later today if nobody objects. |
lpinca
commented
Jun 10, 2017
princejwesley
commented
Jun 10, 2017
@gibfahn Sorry if its started because of my comment! |
jasnell
commented
Jun 10, 2017
If no one else has started the release proposal by Monday I'll kick it off with an eye towards releasing on Tuesday. |
addaleax
commented
Jun 10, 2017
Landed in 2529119...871e4d0 |
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560)
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
* **Child processes** * `stdout` and `stderr` are now available on the error output of a failed call to the `util.promisify()`ed version of `child_process.exec`. [[`d66d4fc94c`](d66d4fc94c)] [#13388](#13388) * **HTTP** * A regression that broke certain scenarios in which HTTP is used together with the `cluster` module has been fixed. [[`fff8a56d6f`](fff8a56d6f)] [#13578](#13578) * **HTTPS** * The `rejectUnauthorized` option now works properly for unix sockets. [[`c4cbd99d37`](c4cbd99d37)] [#13505](#13505) * **Readline** * A change that broke `npm init` and other code which uses `readline` multiple times on the same input stream is reverted. [[`0df6c0b5f0`](0df6c0b5f0)] [#13560](#13560) PR-URL: #13598
This reverts commit dd11432. This bug that necessitated this workaround was fixed by nodejs/node#13560, as mentioned in https://nodejs.org/en/blog/release/v8.1.1/.
This reverts commit dd11432. This bug that necessitated this workaround was fixed by nodejs/node#13560, as mentioned in https://nodejs.org/en/blog/release/v8.1.1/.
MylesBorins
commented
Jul 17, 2017
Original commit did not land, marking this as dont-land for v6.x |
This reverts PR #13266 and adds a regression test for #13557. After thinking about it for a bit, my patch proposed in the issue is not the right approach; #13266 was actually incorrect and should be undone.
The interface instance passed to
emitKeypressEvents()is explicitly not for decoder lifetime control; it is just used to toggle tab completion on it. We provideemitKeypressEvents()as a standalone method as well, which should work on its own exactly as documented (i.e. independently of any readline interfaces by default).My initial suggestion of removing the keypress decoder from the stream completely might leave partial reads in the string decoder unread, which we also want to avoid.
/cc @iarna@gibfahn
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
readline