Skip to content

Implement Progress Indication for Long-Running Operations #8

@BhoomiAgrawal12

Description

@BhoomiAgrawal12

Description

Long-running wipe operations (especially for large HDDs) currently show minimal progress feedback, leaving users uncertain about operation status and estimated completion time.

Current Behavior

  • Basic progress bar exists but may not update smoothly
  • No time estimate provided
  • No indication of current phase (preparation, wiping, verification)
  • Difficult to tell if operation is hung or progressing

Proposed Improvements

  1. Enhanced Progress Display

    • Percentage complete
    • Estimated time remaining
    • Current operation phase
    • Data throughput (MB/s)
    • Bytes written / total bytes
  2. Multi-Phase Progress

    • Show progress through multiple stages:
      • Device preparation
      • Security state check
      • Actual wiping
      • Verification (if enabled)
      • Certificate generation
  3. Visual Improvements

    • Use ncurses progress bars effectively
    • Show spinning indicator for operations without percentage
    • Update at reasonable intervals (avoid flicker)

Technical Considerations

  • Progress updates should not significantly impact wipe speed
  • Need to query wipe progress from various commands (hdparm, dd, etc.)
  • Handle cases where progress cannot be determined

Acceptance Criteria

  • Progress percentage shown for all wipe types
  • Time remaining estimate (can be rough)
  • Current phase clearly indicated
  • Progress updates smoothly without flickering
  • Tested on operations taking >10 minutes

User Impact

High - Users frequently interrupt operations thinking they've hung when they're actually progressing normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions