Skip to content

Piping any stdout from node.js to fx stdin causes non-functional UI state #415

Description

@jwhiting

node -e 'process.stdout.write(JSON.stringify({"a":1}))' | fx

Running this command on MacOS Tahoe, and Ubuntu 22 LTS, with fx installed via homebrew at v39.2.0 shows the json in the TUI, but the interactivity is in a non-functional state. All key presses are rendered at the bottom of the screen and overwrite the highlighted character space reserved for showing the selected json element path.

I surfaced this while trying to use fx to debug output of a node.js CLI utility that outputs json. I assumed this was a bug in my own CLI program, until I realized finally it could be reproduced with even trivial output from node.js. I was unable to have node produce output that did NOT produce the broken UI state when piped to fx. If I pipe to a file, then cat that, no problem:

node -e 'process.stdout.write(JSON.stringify({"a":1}))' > test.json && cat test.json | fx works just fine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions