@@ -168,35 +168,34 @@ async fn handle_layer_progress_print(
168
168
let start = std:: time:: Instant :: now ( ) ;
169
169
let mut total_read = 0u64 ;
170
170
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 ( "\n Fetched Layers" )
177
+ . with_style (
178
+ indicatif:: ProgressStyle :: default_bar ( )
179
+ . template ( "{prefix} {pos}/{len} {bar:15}" )
180
+ . unwrap ( ) ,
181
+ ) ,
183
182
) ;
184
- layers_bar . set_prefix ( "Fetched Layers" ) ;
183
+ // Force an update
185
184
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
+ ) ,
190
191
) ;
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 (
193
193
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 ( ) ;
200
199
loop {
201
200
tokio:: select! {
202
201
// Always handle layer changes first.
0 commit comments