Skip to content

CLI: Fix silent interactive TUI hang when project is inferred from CWD - #414

Open
abelbriggs1 wants to merge 3 commits into
encounter:mainfrom
abelbriggs1:fix/cli_silent_errors
Open

abelbriggs1 wants to merge 3 commits into
encounter:mainfrom
abelbriggs1:fix/cli_silent_errors

Conversation

@abelbriggs1

@abelbriggs1 abelbriggs1 commented Sep 22, 2026

Copy link
Copy Markdown

Fixes #404.

See commits for full details on the changes.

828d6f524fb0d45f03aeefa3d636e762ec698796 is the primary fix here.
The other two commits were made while trying to debug the root cause. They should still be valid fixes, though the implementation might not be ideal (I am not experienced with Rust concurrency at all).

If a job runs into an error case before calling `update_status()`,
the job will never be considered 'completed' and the polling thread
will never wake.

Handle this by always waking at the end of the job.
Previously, if a job failed, the terminal would not give any
feedback, showing a blank display. Handle this by printing the
job status instead.
The CLI naturally infers the location of the project file/directory
via either CLI arguments or the current working directory.

`run_interactive()`, however, always populates the project dir from
the `-p` argument. If the project dir is inferred via CWD, this
fails. Route the inferred project dir from the caller instead.
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.

objdiff-cli: Blank display/menus in interactive diff

1 participant