exo
exo copied to clipboard
feat: issue #1075
Motivation
https://github.com/exo-explore/exo/issues/1075
Changes
- Added in-app "Uninstall" option under Advanced menu that cleanly removes all system components
- Added NetworkSetupHelper.uninstall() to remove LaunchDaemon, scripts, logs, and restore network settings
- Added LaunchAtLoginHelper.disable() to unregister from login items
- Created standalone uninstall-exo.sh script for users who already deleted the app
- Added uninstall documentation to README
Why It Works
The in-app uninstaller runs a privileged shell script (via AppleScript) to launchctl bootout the daemon, remove files, and restore the "Automatic" network location. The standalone script provides the same cleanup for users who already deleted the app.
Test Plan
Manual Testing
Hardware: MacBook Pro
- Built and ran app, verified LaunchDaemon and network location were created
- Used in-app Uninstall, verified all components removed and network restored to Automatic
- Rebuilt app, quit normally, ran sudo ./uninstall-exo.sh, verified same cleanup
Automated Testing
N/A