Conversation
…open-source community files - Add contributors section (contrib.rocks) and Star History chart - Add License, Release, Downloads badges - Replace Report Issue with Contributing section linking to templates - New: CONTRIBUTING.md, SECURITY.md, CHANGELOG.md, CODE_OF_CONDUCT.md - New: ISSUE_TEMPLATE (bug_report, feature_request), PULL_REQUEST_TEMPLATE - New: specs/design-bookmark-permission.md (FDA → security-scoped bookmark) - Fix License badge: MIT → GPLv3 Co-Authored-By: Claude <noreply@anthropic.com>
- Respect `enabled` state when building menu config (filter disabled items) - Preserve `isEnabled` when loading NewFileTypeEntity from SwiftData - Add delete button with SwiftUI confirmation dialog for new file types - Set JSON file type to disabled by default - Add missing localization entries (en, zh-Hans, ja) for delete confirmation Closes #129
Remove the demo `requestBadgeIdentifier` code that randomly assigned
non-empty badge identifiers ("One" or "Two") to files. When Finder
receives a non-empty badge ID, it overlays the extension icon on the
item — causing removable disks and optical discs mounted under
/Volumes/ to show RClick icon instead of their original drive icon.
Always set an empty badge identifier to keep item icons unchanged.
Closes #128
…ission model Remove the FDA permission check and startup guide, replacing it with a per-folder authorization model using Security-Scoped Bookmarks. Key changes: - Add BookmarkEntity (SwiftData) and BookmarkManager for bookmark lifecycle - File operations (delete/create/hide/unhide/airdrop) now prompt for per-folder access via NSOpenPanel when no bookmark exists - Settings: replace "Full Disk Access" row with "Folder Permissions" management (add/remove authorized directories) - Remove PermissionChecker.hasFullDiskAccess(), checkFDAAndGuideIfNeeded() - Make file operations async to support NSOpenPanel modal - Keep Accessibility permission checker (separate from FDA) - Add localization strings for folder permissions UI (en, zh-Hans, ja) Benefits: - No more System Settings navigation for users - Lower App Store review barrier - No misleading FDA warnings during Xcode debug runs
Move Folder Permissions row below Accessibility in Settings.
Remove the manual language override picker in Settings > Main Controls. The app already auto-detects the system language and falls back to English — the picker was redundant since macOS provides per-app language override in System Settings. Keeping Japanese localization (ja) which continues to work through automatic detection. Removed: - Language Picker UI from GeneralSettingsTabView - selectedLanguage property and locale observer from AppState - locale environment override from RClickApp and SettingsWindow - selectedLanguage and systemLanguage from AppLocalization - selectedLanguage key from StringExtension - Unused localization strings for the language picker
Add @ObservedObject for bookmarkManager so the Folder Permissions count updates immediately when authorization changes from file operations, without requiring a tab switch to refresh.
Clean up after language picker removal: - Remove .automatic case (never assigned since picker removed) - Remove CaseIterable, Identifiable conformances (only needed for Picker) - Simplify localeIdentifier switch (no more .automatic case)
…g directly xcstrings handles language selection automatically based on the user's system language preferences (en/zh-Hans/ja). The custom AppLanguage enum and currentLanguage detection logic were redundant. Removed: - AppLanguage enum (simplifiedChinese/english/japanese) - currentLanguage auto-detection - currentLocale computed property - localizedBundle manual bundle lookup - localeIdentifier on AppLanguage - bundle parameter from localized() (no longer needed)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release replaces the Full Disk Access (FDA) permission model with Security-Scoped
Bookmarks, fixes two reported issues, and simplifies the localization system.
What's Changed
✨ New: Security-Scoped Bookmark permission model
NSOpenPanelBookmarkEntity)🐛 Bug Fixes
(removed random badge identifiers in
requestBadgeIdentifier)JSON file type now disabled by default, added confirmation dialog
🧹 Cleanup
Bundle.main.localizedStringdirectlyPermissionChecker.hasFullDiskAccess()and related FDA codeAppLanguageenum,currentLanguage,localizedBundle— all redundant🌐 Localization
🔖 Version