Skip to content

Commit ea17db8

Browse files
timwhitezctate
andauthored
fix(cli): correct output messages for state load and path-based actions (#109)
* Add files via upload fix(cli): correct output messages for state load and path-based actions * Add files via upload * Update output.rs * fix crlf --------- Co-authored-by: Chris Tate <chris@ctate.dev>
1 parent f74924c commit ea17db8

2 files changed

Lines changed: 41 additions & 9 deletions

File tree

cli/src/main.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,10 +408,14 @@ fn main() {
408408
}
409409
}
410410

411-
match send_command(cmd, &flags.session) {
411+
match send_command(cmd.clone(), &flags.session) {
412412
Ok(resp) => {
413413
let success = resp.success;
414-
print_response(&resp, flags.json);
414+
// Extract action for context-specific output handling
415+
let action = cmd
416+
.get("action")
417+
.and_then(|v| v.as_str());
418+
print_response(&resp, flags.json, action);
415419
if !success {
416420
exit(1);
417421
}

cli/src/output.rs

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::color;
22
use crate::connection::Response;
33

4-
pub fn print_response(resp: &Response, json_mode: bool) {
4+
pub fn print_response(resp: &Response, json_mode: bool, action: Option<&str>) {
55
if json_mode {
66
println!("{}", serde_json::to_string(resp).unwrap_or_default());
77
return;
@@ -135,7 +135,7 @@ pub fn print_response(resp: &Response, json_mode: bool) {
135135
// Cleared requests
136136
if let Some(cleared) = data.get("cleared").and_then(|v| v.as_bool()) {
137137
if cleared {
138-
println!("\x1b[32m✓\x1b[0m Request log cleared");
138+
println!("{} Request log cleared", color::success_indicator());
139139
return;
140140
}
141141
}
@@ -235,16 +235,44 @@ pub fn print_response(resp: &Response, json_mode: bool) {
235235
return;
236236
}
237237
}
238-
// Screenshot path (no "started", "frames", or download fields)
239-
if let Some(path) = data.get("path").and_then(|v| v.as_str()) {
240-
println!("{} Screenshot saved to {}", color::success_indicator(), color::green(path));
241-
return;
242-
}
243238
// Screenshot base64
244239
if let Some(base64) = data.get("base64").and_then(|v| v.as_str()) {
245240
println!("{}", base64);
246241
return;
247242
}
243+
// Path-based operations (screenshot/pdf/trace/har/download/state/video)
244+
if let Some(path) = data.get("path").and_then(|v| v.as_str()) {
245+
match action.unwrap_or("") {
246+
"screenshot" => println!("{} Screenshot saved to {}", color::success_indicator(), color::green(path)),
247+
"pdf" => println!("{} PDF saved to {}", color::success_indicator(), color::green(path)),
248+
"trace_stop" => println!("{} Trace saved to {}", color::success_indicator(), color::green(path)),
249+
"har_stop" => println!("{} HAR saved to {}", color::success_indicator(), color::green(path)),
250+
"download" | "waitfordownload" => println!("{} Download saved to {}", color::success_indicator(), color::green(path)),
251+
"video_stop" => println!("{} Video saved to {}", color::success_indicator(), color::green(path)),
252+
"state_save" => println!("{} State saved to {}", color::success_indicator(), color::green(path)),
253+
"state_load" => {
254+
if let Some(note) = data.get("note").and_then(|v| v.as_str()) {
255+
println!("{}", note);
256+
}
257+
println!("{} State path set to {}", color::success_indicator(), color::green(path));
258+
}
259+
// video_start and other commands that provide a path with a note
260+
"video_start" => {
261+
if let Some(note) = data.get("note").and_then(|v| v.as_str()) {
262+
println!("{}", note);
263+
}
264+
println!("Path: {}", path);
265+
}
266+
_ => println!("{} Saved to {}", color::success_indicator(), color::green(path)),
267+
}
268+
return;
269+
}
270+
271+
// Informational note
272+
if let Some(note) = data.get("note").and_then(|v| v.as_str()) {
273+
println!("{}", note);
274+
return;
275+
}
248276
// Default success
249277
println!("{} Done", color::success_indicator());
250278
}

0 commit comments

Comments
 (0)