Skip to content

Add Finder mount and Homebrew cask install path#1

Draft
totocaster wants to merge 5 commits into
mainfrom
feat/mount-unmount
Draft

Add Finder mount and Homebrew cask install path#1
totocaster wants to merge 5 commits into
mainfrom
feat/mount-unmount

Conversation

@totocaster

Copy link
Copy Markdown
Owner

Summary

  • Add tp7 mount and tp7 unmount for mounting the TP-7 in Finder through macFUSE/FUSE.
  • Make Finder mounting the default mode, read-write by default, with --read-only still available.
  • Default mounts to a user-owned ~/TP-7 path, with numbered siblings when needed, so users do not need admin privileges for /Volumes.
  • Keep tp7 unmount stateless: it discovers TP-7 mounts from the OS mount table and treats OS/Finder unmounts as normal.
  • Add tp7 doctor runtime checks for macFUSE/Fuse and update docs/release packaging so Homebrew installs as a cask with macfuse as a dependency.

User impact

After installing the cask, users should be able to run:

brew install --cask totocaster/tap/tp7
tp7 mount

The Finder mount appears at ~/TP-7 by default. Users can unmount from Finder, Disk Utility, diskutil, or tp7 unmount without requiring CLI state files.

Notes

  • macFUSE remains required for Finder integration on macOS; doctor now reports whether the runtime is installed.
  • The mount implementation is read-write, but TP-7 firmware/protocol behavior can still reject unsupported operations. The first expected user-facing write paths are copying files, overwriting files, renaming files, deleting files, and editing metadata that maps cleanly to MTP operations.
  • A previous direct hardware smoke reached the expected small-file upload/overwrite/stat path, then hit an MTP I/O error during recursive directory push. Generated smoke files were cleaned up from /memo.

Validation

  • cargo fmt -- --check
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo check
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo clippy -- -D warnings
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo test
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo run -- doctor
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo run -- mount --help
  • PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:${PKG_CONFIG_PATH:-}" cargo run -- unmount
  • scripts/update-homebrew-tap.sh against a temp tap repo, followed by ruby -c Casks/tp7.rb
  • scripts/write-release-notes.sh generated cask-based install instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant