• v1.0.1 11a1faa395

    kbolen released this 2026-08-02 11:32:00 -07:00 | 0 commits to main since this release

    PhotoPhetch v1.0.1 — Packaging Fixes

    Bug fixes

    • Fixed crash on launch when installed as a .app bundle: bundled JVM was missing required modules (java.naming, java.xml, java.desktop, and others needed by logback and Kotlin coroutines)
    • Fixed 'exiftool not installed' false warning when launched as .app: the bundled app does not inherit the shell PATH, so Homebrew tools in /usr/local/bin and /opt/homebrew/bin were not found. ExternalTools now searches common Homebrew paths directly
    • Fixed adb not found when launched as .app: same PATH issue, now resolved lazily using Homebrew path search
    • Fixed EXIF verification false warnings on Android: Samsung and other Android manufacturers were incorrectly flagged as 'Origin unknown'. Any non-blank EXIF Make is now considered a verified camera original; only absent Make triggers the warning
    • Preserve folder structure now sticky: the toggle in the Import Configuration screen now saves your preference and remembers it between imports
    Downloads
  • v1.0.0 29595d5a7f

    kbolen released this 2026-08-01 21:16:34 -07:00 | 5 commits to main since this release

    PhotoPhetch v1.0.0 — First Release

    PhotoPhetch is a macOS desktop app for importing photos from Android and iPhone phones into a PhotoPhile staging directory.

    Features

    Android (Samsung, Pixel, and others)

    • Connects via ADB — scans all DCIM and Pictures subfolders automatically
    • Smart filtering: excludes Screenshots, Screen Recordings, WhatsApp, Telegram, and other app folders
    • Folder structure preserved on import (Camera/, Screenshots/, etc.)
    • Thumbnails loaded and cached locally

    iPhone

    • Connects via pymobiledevice3 (AFC protocol) — works on iOS 17+, no gphoto2 needed
    • Photos classified by filename pattern: Camera, Edited, Videos, Screenshots
    • Live Photo detection: companion MOV files hidden from grid, HEIC stills show LIVE badge
    • Atomic import/delete: HEIC and its MOV companion treated as a unit
    • Thumbnails batch pre-fetched newest-first and cached permanently

    Import flow

    • Browse photos in a two-panel layout: folder jump list on left, dense photo grid on right
    • Date markers on first photo of each day; +/- buttons to adjust grid density
    • Tap + on any photo to preview full-size (HEIC converted to JPEG via sips)
    • Select individual photos, entire days, or entire folders
    • SHA-256 copy verification; size-based verification when remote hash unavailable
    • EXIF Make verification via exiftool: flags photos with absent Make as unverified

    Verify screen

    • Per-file status: green (verified), yellow (origin unknown), red (failed)
    • Filter by: All / OK / Unverified / Failed
    • Thumbnail chip on each row — click to preview
    • Soft-remove any file with undo before committing
    • Single Done button commits all actions: delete from phone + clean staging

    Settings

    • Staging path with native macOS folder picker
    • Folder name template with {date} and {device} tokens
    • Auto-increments folder name if it already exists (e.g. 2026-07-28_iPhone15Pro_2)
    • Persists HEIC conversion, folder structure, and other preferences

    Requirements

    • macOS (Intel or Apple Silicon)
    • Java 17+
    • ADB for Android: brew install android-platform-tools
    • pymobiledevice3 for iPhone: brew install pipx && pipx install pymobiledevice3
    • exiftool for EXIF verification (optional): brew install exiftool
    Downloads