feat(cli): stream output on CLI command start#444
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Greptile SummaryThis PR replaces the post-start batch log display with real-time log streaming during daemon startup, backed by a new
Confidence Score: 5/5Safe to merge — the streaming concurrency is well-structured and all previously-flagged cleanup/exit-code issues are addressed. The core streaming loop correctly awaits log tasks before touching job state, the logger now properly interleaves error output with the progress display, and the deferred-update pattern keeps start/restart/run consistent. The two remaining findings are a silent drop of multi-line continuation log lines in the polling phase and a stale code comment — neither affects correctness of the daemon lifecycle or exit codes. src/cli/logs.rs — the stream_startup_logs polling loop and create_ready_check_job are the newest and most complex additions; multi-line log handling deserves a second look. Important Files Changed
Reviews (13): Last reviewed commit: "fix(logs): await streaming task before t..." | Re-trigger Greptile |
- Add startup log streaming with real-time output display - Add progress job updates for ready check status - Add startup_log_timestamps setting for optional timestamps - Remove local clx patch, use published v2.1.0 from crates.io - Fix read_from_offset to preserve partial lines at EOF - Fix restart.rs to apply pending job updates and clear jobs - Fix run.rs duplicate error logging and use update_job_with_result - Run render to regenerate CLI docs and schema
4d3941d to
b24e902
Compare
…sage in non-quiet mode - Remove active_jobs() > 0 guard that silently dropped all error! and warn! terminal output during progress display. The guard prevented critical messages like "Dependency failed, aborting remaining starts" from reaching the user. - Include run_result.error_message in the progress job body for failed daemons in non-quiet mode, so users see the specific failure reason (e.g. port conflict details) instead of just "[daemon] failed (exit code 1)".
60630ae to
0ba6a15
Compare
0ba6a15 to
39ddfa9
Compare
39ddfa9 to
7632e17
Compare
…race with update_job_with_result
7632e17 to
47a98d1
Compare
No description provided.