Skip to content

Commit 8f1e5cf

Browse files
committed
fix layer progress missing
1 parent 252e4fd commit 8f1e5cf

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

lib/src/deploy.rs

+24-25
Original file line numberDiff line numberDiff line change
@@ -168,35 +168,34 @@ async fn handle_layer_progress_print(
168168
let start = std::time::Instant::now();
169169
let mut total_read = 0u64;
170170
let bar = indicatif::MultiProgress::new();
171-
// Stage bar hidden to avoid temporary flash
172-
bar.set_draw_target(indicatif::ProgressDrawTarget::hidden());
173-
let layers_bar = bar.add(indicatif::ProgressBar::new(
174-
layers_download.try_into().unwrap(),
175-
));
176-
let byte_bar = bar.add(indicatif::ProgressBar::new(0));
177-
let total_byte_bar = bar.add(indicatif::ProgressBar::new(bytes_download));
178-
let mut last_json_written = std::time::Instant::now();
179-
layers_bar.set_style(
180-
indicatif::ProgressStyle::default_bar()
181-
.template("{prefix} {pos}/{len} {bar:15}")
182-
.unwrap(),
171+
if quiet {
172+
bar.set_draw_target(indicatif::ProgressDrawTarget::hidden());
173+
}
174+
let layers_bar = bar.add(
175+
indicatif::ProgressBar::new(layers_download as u64)
176+
.with_prefix("\nFetched Layers")
177+
.with_style(
178+
indicatif::ProgressStyle::default_bar()
179+
.template("{prefix} {pos}/{len} {bar:15}")
180+
.unwrap(),
181+
),
183182
);
184-
layers_bar.set_prefix("Fetched Layers");
183+
// Force an update
185184
layers_bar.set_message("");
186-
byte_bar.set_style(
187-
indicatif::ProgressStyle::default_bar()
188-
.template(" └ {bar:20} {msg} ({binary_bytes}/{binary_total_bytes})")
189-
.unwrap(),
185+
let byte_bar = bar.add(
186+
indicatif::ProgressBar::new(0).with_style(
187+
indicatif::ProgressStyle::default_bar()
188+
.template(" └ {bar:20} {msg} ({binary_bytes}/{binary_total_bytes})")
189+
.unwrap(),
190+
),
190191
);
191-
total_byte_bar.set_prefix("Total");
192-
total_byte_bar.set_style(
192+
let total_byte_bar = bar.add(indicatif::ProgressBar::new(bytes_download).with_prefix("Total").with_style(
193193
indicatif::ProgressStyle::default_bar()
194-
.template("\n{prefix} {bar:30} {binary_bytes}/{binary_total_bytes} ({binary_bytes_per_sec}, {elapsed}/{duration})")
195-
.unwrap(),
196-
);
197-
if !quiet {
198-
bar.set_draw_target(indicatif::ProgressDrawTarget::stderr());
199-
}
194+
.template("\n{prefix} {bar:30} {binary_bytes}/{binary_total_bytes} ({binary_bytes_per_sec}, {elapsed}/{duration})")
195+
.unwrap(),
196+
));
197+
198+
let mut last_json_written = std::time::Instant::now();
200199
loop {
201200
tokio::select! {
202201
// Always handle layer changes first.

ostree-ext/src/cli.rs

+1
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,7 @@ pub async fn handle_layer_progress_print(
657657
pub fn print_layer_status(prep: &PreparedImport) {
658658
if let Some(status) = prep.format_layer_status() {
659659
println!("{status}");
660+
let _ = std::io::stdout().flush();
660661
}
661662
}
662663

0 commit comments

Comments
 (0)