Repository navigation
Release v0.14.1
Two fixes for embedders, both found by http-nu while bumping to 0.14.0.
Bug fixes
-
A following read now stops when it is interrupted.
.cat -fand.last -fwaited for the next frame on their topic with nothing able to cut the wait short. On a quiet topic that wait never ends, so a reader whose consumer had gone kept its thread, and the store's follow task behind it, until some unrelated append happened to land on that topic. Measured in http-nu: ten clients disconnecting from.cat -fon an idle topic left ten threads parked, and a single append released all of them. A ctrl-c in a plain nu session hit the same wait. The read now checks for an interrupt while it waits, which costs nothing: a frame is still delivered the moment it arrives. -
.id unpack $idparses again..idwas one command that tookunpackorpackas an argument, and nu picks an output type at parse time from the pipeline input type alone. With the id passed as an argument there is no pipeline input, so nu used the type declared for no input, which said string. On Nushell 0.116 that rejected any field access downstream before the command ran:.id unpack $id | get ts_msfailed to parse..id,.id unpackand.id packare now three commands, each typed for what it actually returns. Every call form still works, including$id | .id unpackand.id pack $components. One rare form does not:.idno longer takes the subcommand as a value, so choosing it at runtime (let sub = "unpack"; .id $sub $id) has to become a real call.
Changelog
- fix: split .id into .id, .id unpack and .id pack so each is typed exactly
- fix: let an interrupted follow read stop instead of parking for the next frame