Modernize to Swift 6 and add dictionary feature#1
Merged
Conversation
Major changes: - Migrate to Swift 6 with @observable macro (replaces ObservableObject) - Use @Environment with custom keys for dependency injection - Remove Xcode project in favor of pure Swift Package Manager - Add custom dictionary feature for improved transcription accuracy - Add onboarding flow for first-time users - Add recording grace period to capture final words after key release - Move build script to Scripts/ directory - Update CLAUDE.md with modern patterns documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Introduced `DesignConstants` for managing colors and styles, ensuring a consistent light theme throughout the app. - Updated various UI components to utilize `DesignConstants` for text and background colors, improving readability and aesthetics. - Enforced light mode appearance for the main window and other UI elements to prevent system color adaptation issues. - Removed deprecated `DictionaryWindow` and `HistoryListView` components, streamlining the codebase. - Refactored settings and main window views for better organization and clarity. This update aligns with the new UI/Styling Guidelines to maintain a cohesive user experience.
- Updated the buttonClicked function in ShortcutRecorderButton to ensure UI updates are performed on the main thread by adding the @mainactor attribute. This change enhances thread safety and aligns with Swift's concurrency model.
- Added support for strict concurrency in the Swift package by enabling the experimental feature. - Updated the GitHub Actions CI workflow to run on macOS 15, ensuring compatibility with the latest environment. - Modified the microphone access request method to use @sendable for improved concurrency safety.
…wn methods - Added support for strict concurrency in the TalkFlowTests package by enabling the experimental feature in the test target. - Removed calls to super in the setup and teardown methods across multiple test classes to simplify the test lifecycle management.
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
@Observablemacro replacingObservableObject@Environmentwith custom keys for dependency injection (replaces@EnvironmentObject)Scripts/directoryTest plan
swift testto verify all tests pass./Scripts/build-app.sh --runto verify the app builds and launches🤖 Generated with Claude Code