Skip to content

FlowClone 0.3.2

Choose a tag to compare

@Dhanabhon Dhanabhon released this 29 Jun 13:00

FlowClone is a Tauri v2 desktop app for SSD migration on macOS — Image Migration (read a source SSD into a .flowimg) and Restore Image (write a .flowimg back onto a target SSD).

This release fixes issues found while testing 0.3.1 on real hardware. The headline: used-only / compressed images can be restored again, and progress is now accurate for Smart/Compress jobs.

Download (macOS, Apple Silicon)

FlowClone_0.3.2_aarch64.dmg below — Apple Silicon (arm64) only. The app is unsigned (no Apple Developer ID / notarization), so macOS Gatekeeper blocks it on first launch. To install:

  1. Open the .dmg and drag FlowClone to Applications.
  2. Remove the download quarantine flag — one line in Terminal:
    xattr -dr com.apple.quarantine /Applications/FlowClone.app
    
    Without this, a browser-downloaded unsigned app shows "FlowClone.app is damaged and can't be opened" on Apple Silicon. It is not damaged — that's just Gatekeeper refusing an unsigned, quarantined app.
  3. Open FlowClone (right-click → Open the first time if prompted).
  4. Grant Full Disk Access: System Settings → Privacy & Security → Full Disk Access → enable FlowClone, then quit and reopen. Required to read/write raw disks and to read images from protected folders (Downloads, Desktop, Documents).

Intel Macs: build from source (pnpm install && pnpm sidecar && pnpm tauri build).

Fixed

  • Used-only / compressed images could not be restored or verified. They failed
    with "stream did not contain valid UTF-8". The desktop image validator only
    understood the v1 format, so any v2 image (--used-only and/or --compress)
    fell through to reading the whole binary file as text. Because restore runs
    the same validator as a pre-flight check, Smart/Compress images could not be
    restored from the GUI at all
    — it errored before the CLI ran. The validator
    now understands v2; the CLI restore engine already handled it.
  • Accurate progress for Smart/Compress images. The cloning screen showed a
    stuck low percentage, a ~60-minute ETA, and a 256 GB image size for a used-only
    job that actually stores ~51 GB. The GUI estimated progress from the growing
    .part file over the full disk size, which is meaningless when the payload is
    sparse or zstd-compressed. The CLI now publishes a progress file with the real
    bytes-stored / total-to-store and the GUI reads it, so percentage, ETA, and the
    image size reflect the used data.
  • The progress ring was invisible in light mode — its track matched the white
    card background. It now uses a visible border color in both themes.
  • The desktop app no longer shows the WebView's right-click menu (Reload / Back /
    Forward); editable fields keep Cut/Copy/Paste.

Added

  • Live "GB written" readout under the progress percentage (e.g.
    "15 GB / 51 GB"), updating in real time.
  • Image filenames carry the chosen settings — the suggested .flowimg name
    includes exact/smart and zstd
    (e.g. FlowClone-<timestamp>-smart-zstd.flowimg) so images are
    distinguishable in Finder.
  • Interruption modal. If the source disk drops off mid-migration, a centered
    dialog reports it and FlowClone auto-resumes when the drive returns; if it
    can't recover, the dialog offers to start over.

Changed

  • Larger default window (1200×780, min 1000×680) so the 1100 px max content
    width designed for the UI is fully usable.
  • Clearer mode icons. Image Migration and Restore use a drive with an up /
    down arrow (read off the disk vs. write onto it); Direct Clone uses a small
    drive and a larger drive with an arrow between them, suggesting an upgrade to a
    bigger SSD.

Full changelog: https://github.com/Dhanabhon/flow-clone/blob/v0.3.2/CHANGELOG.md