Skip to content

Add hash calculator sample app - #3

Merged
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
masterfrom
copilot/hash-calculator-app
Sep 9, 2026
Merged

Add hash calculator sample app#3
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
masterfrom
copilot/hash-calculator-app

Conversation

@mamoreau-devolutions

Copy link
Copy Markdown
Contributor

Adds a sibling apps/hash-calculator consumer that streams MD5, SHA-1, SHA-256, SHA-512 and BLAKE3 checksums from Rust, with compare-against-digest, copy report, and a compiled Avalonia UI.

What changed

  • Scaffold the external consumer (IR, AXAML, worker-thread hashing in 64 KiB chunks)
  • No-arg sample file hashed with SHA-256; Open files uses the platform picker
  • Independent algorithm toggles, paste-to-compare, Copy / Copy report
  • Per-row Remove is posted to the dispatcher so the file list is not rebuilt while that command is still running
  • Layout Grid.Row assignments so chrome and file cards do not overlap
  • Windows STA UI Automation smoke for sample SHA-256, MD5 toggle, and compare

Verification

  • cargo test --locked in apps/hash-calculator (9 tests)
  • Windows portable NativeAOT bundle via rust/build-app.ps1
  • powershell.exe -NoProfile -STA -ExecutionPolicy Bypass -File ./apps/hash-calculator/tests/test-bundle.ps1

Adds a sibling apps/hash-calculator consumer that streams MD5, SHA-1,
SHA-256, SHA-512 and BLAKE3 checksums from Rust, with compare-against-
digest, copy report, and a compiled Avalonia UI.

## What changed
- Scaffold the external consumer (IR, AXAML, worker-thread hashing)
- Default SHA-256 sample file; Open files picker and algorithm toggles
- Defer per-row Remove so the file list is not rebuilt while the
  command is still running
- Windows STA UI Automation smoke for sample SHA-256, MD5 toggle, and
  compare

## Verification
- cargo test --locked in apps/hash-calculator (9 tests)
- Windows portable NativeAOT bundle build
- powershell.exe -NoProfile -STA test-bundle.ps1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant