Skip to content

Modernise for macOS 26: installed-app permission manager - #9

Open
sammcj wants to merge 1 commit into
jordibruin:mainfrom
sammcj:uplift
Open

Modernise for macOS 26: installed-app permission manager#9
sammcj wants to merge 1 commit into
jordibruin:mainfrom
sammcj:uplift

Conversation

@sammcj

@sammcj sammcj commented Jun 7, 2026

Copy link
Copy Markdown

Uplift the running-app TCC resetter into a tool for managing permissions across all installed apps, building and running entirely from the terminal.

  • List every app in /Applications, ~/Applications and (optionally) /System/Applications via AppCatalog, replacing the running-apps-only model
  • Show each app's current TCC grants (allowed/limited/denied) by reading the user and system TCC.db with SQLite; prompt for Full Disk Access when missing
  • Confirm before every reset; offer Reset & Relaunch to force a re-request
  • Export apps and permissions to versioned JSON (schemaVersion)
  • Call tccutil directly instead of via a shell
  • Drop the Consequences SPM dependency; the project now builds offline
  • Move to the Swift 6 language mode (Sendable models, MainActor isolation, structured-concurrency toast dismissal)
  • Fix scroll lag: cache icons, flat fixed-height rows, lazy reset/permission popovers instead of a per-row menu
  • Add a Makefile driving xcodebuild with ad-hoc signing (no Xcode, no cert)
  • Bump deployment target to 14.0; refresh README

Uplift the running-app TCC resetter into a tool for managing permissions
across all installed apps, building and running entirely from the terminal.

- List every app in /Applications, ~/Applications and (optionally)
  /System/Applications via AppCatalog, replacing the running-apps-only model
- Show each app's current TCC grants (allowed/limited/denied) by reading the
  user and system TCC.db with SQLite; prompt for Full Disk Access when missing
- Confirm before every reset; offer Reset & Relaunch to force a re-request
- Export apps and permissions to versioned JSON (schemaVersion)
- Call tccutil directly instead of via a shell
- Drop the Consequences SPM dependency; the project now builds offline
- Move to the Swift 6 language mode (Sendable models, MainActor isolation,
  structured-concurrency toast dismissal)
- Fix scroll lag: cache icons, flat fixed-height rows, lazy reset/permission
  popovers instead of a per-row menu
- Add a Makefile driving xcodebuild with ad-hoc signing (no Xcode, no cert)
- Bump deployment target to 14.0; refresh README
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