v1.4.0 - Clean Transparent App Icon, Updater & Playback Fixes π Latest
This major release bumps the application version to 1.4.0, shifts to a pure transparent macOS app icon system using official Netflix brand assets, and includes automated updater improvements and playback control fixes.
π What's New
π¨ Official macOS App Icon System:
- Pure Transparent Design: Switched to a clean transparent app icon using Netflix's official, high-resolution red "N" asset. All background container squircles, borders, and margins have been removed.
- Universal Compatibility: Works seamlessly across all system appearances (light mode, dark mode, and macOS Sequoia tinted/monochrome modes).
- DMG Volume Icon: Refreshed the installer volume icon using the updated transparent asset.
π Fully Automated Updater:
- Bypassed macOS TCC Folder Restrictions: Shifted the update download location from the user's
~/Downloadsdirectory to/tmp/NetflixUpdate.dmg. This completely bypasses macOS folder access prompts, ensuring the download, mount, and silent install run seamlessly without failing. - Prevented Child-Process Termination: Added
trap '' SIGHUPto the relauncher script to prevent the OS from terminating it when the parent application exits. - Dynamic App Exit Verification: Implemented an active PID-checking loop inside the install script (
while kill -0 $PID; do sleep 0.1; done). This ensures the parent app has completely exited and freed all file handles before attempting to overwrite the bundle, resolving "file in use" lockouts. - Console Logging Diagnostics: Redirected relauncher outputs to
/tmp/netflix_updater.logto simplify debugging of background updates.
π±οΈ Playback Controls Interaction:
- Unlocked Hidden Hit-Testing: Added hit-testing constraints to the floating Liquid Glass Pill so that it becomes completely transparent to clicks when hidden. This prevents it from intercepting mouse clicks intended for the Netflix video progress bar and playback buttons at the bottom center.
- Preserved Spacebar Focus: Configured all floating dock buttons to be non-focusable (
.focusable(false)). Toggling settings or OLED mode will no longer steal focus from the WebView, ensuring the spacebar always registers for play/pause.