Executive Summary
When restoring large files with millions of blocks, users have no visibility into progress. The operation appears frozen for hours.
Proposed Solution
use indicatif::{ProgressBar, ProgressStyle};
pub fn restore_vault_with_progress(vault: &Vault, target: &Path, total_blocks: u64)
-> Result<(), Box<dyn std::error::Error>> {
let pb = ProgressBar::new(total_blocks);
pb.set_style(ProgressStyle::default_bar()
.template("{spinner:.green} [{elapsed_precise}] [{bar:40}] {pos}/{len} blocks")?
.progress_chars("#>-"));
for block_id in 0..total_blocks {
let block = vault.get_block(block_id)?;
std::fs::write(target.join(format!("block_{}", block_id)), block)?;
pb.inc(1);
}
pb.finish_with_message("Restore complete");
Ok(())
}
Checklist
@Rakshat28 Could you please /assign this issue to me? I would like to implement restore progress reporting under NSOC '26.
/assign
Executive Summary
When restoring large files with millions of blocks, users have no visibility into progress. The operation appears frozen for hours.
Proposed Solution
Checklist
@Rakshat28 Could you please /assign this issue to me? I would like to implement restore progress reporting under NSOC '26.
/assign