Skip to content

Releases: talex-touch/tuff

Release v2.4.7-beta.21

13 Feb 19:52
82b4c99

Choose a tag to compare

Release Release v2.4.7-beta.21

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.20

13 Feb 07:45
394c3dc

Choose a tag to compare

Release Release v2.4.7-beta.20

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.19

09 Feb 07:26
d322c7a

Choose a tag to compare

Release Release v2.4.7-beta.19

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.18

09 Feb 07:04
c66c986

Choose a tag to compare

Release Release v2.4.7-beta.18

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.11

20 Dec 04:41
193c5fe

Choose a tag to compare

Release Release v2.4.7-beta.11

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.10

15 Dec 05:34
8344542

Choose a tag to compare

Release Release v2.4.7-beta.10

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.9

11 Dec 09:39
e279120

Choose a tag to compare

Release Release v2.4.7-beta.9

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.8

08 Dec 01:10
36a5920

Choose a tag to compare

Release Release v2.4.7-beta.8

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.7

02 Dec 09:44
2ba3cf4

Choose a tag to compare

Release Release v2.4.7-beta.7

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.

Release v2.4.7-beta.6

01 Dec 02:46
36cd5ab

Choose a tag to compare

Release Release v2.4.7-beta.6

Downloads

  • Windows: Installer (.exe)
  • macOS: ZIP Package (contains tuff.app) or Disk Image (.dmg)
  • Linux: AppImage and Debian packages

Installation

  • Windows: Run the installer executable
  • macOS:
    • DMG: Mount the DMG and drag to Applications
    • ZIP Package:
      1. Download and extract the zip file
      2. Double-click tuff.app to launch (or right-click and select "Open" if you see a security warning)
  • Linux:
    • AppImage: Make executable and run
    • Debian: sudo dpkg -i *.deb

Quick Start (macOS ZIP Package)

The easiest way to run the app:

  1. Download tuff.app.zip from the assets above
  2. Extract the zip file (double-click or use unzip)
  3. Double-click tuff.app to launch

Note: If you see "damaged and cannot be opened" error:

  • Right-click on tuff.app and select "Open"
  • Click "Open" in the security dialog
  • This bypasses Gatekeeper for unsigned apps

Troubleshooting (macOS)

If you encounter "Application cannot be opened" or "App is damaged" errors on macOS, follow these steps:

Quick Fix Script

We provide a fix script in the repository. Run it from the project root:

./scripts/fix-app-permissions.sh /path/to/tuff.app

Manual Fix

1. Remove Quarantine Attribute
macOS Gatekeeper adds a quarantine attribute to downloaded files. Remove it:

xattr -dr com.apple.quarantine /path/to/tuff.app

2. Fix Executable Permissions
Ensure the main executable has proper permissions:

chmod +x /path/to/tuff.app/Contents/MacOS/tuff

3. Fix Helper Process Permissions
Fix permissions for all Helper processes (required for GPU and renderer processes):

find /path/to/tuff.app/Contents/Frameworks -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Complete Fix Command

Run all fixes at once:

APP_PATH="/path/to/tuff.app"
xattr -dr com.apple.quarantine "$APP_PATH"
chmod +x "$APP_PATH/Contents/MacOS/tuff"
find "$APP_PATH/Contents/Frameworks" -type f ! -name "*.dylib" ! -name "*.plist" -exec chmod +x {} \;

Why This Happens

  • The app is currently unsigned (we will add code signing in future releases)
  • macOS Gatekeeper blocks unsigned apps from unknown developers
  • Extracting from ZIP files may reset file permissions

Alternative: Right-Click to Open

If the above doesn't work, try:

  1. Right-click on tuff.app
  2. Select "Open" from the context menu
  3. Click "Open" in the security dialog
    This bypasses Gatekeeper for that specific app instance.