Skip to content

Conversation

@jcampuza
Copy link
Owner

@jcampuza jcampuza commented Jan 6, 2026

Summary

  • Migrate codebase to Swift 6 with @Observable macro replacing ObservableObject
  • Switch to @Environment with custom keys for dependency injection (replaces @EnvironmentObject)
  • Remove Xcode project in favor of pure Swift Package Manager builds
  • Add custom dictionary feature allowing users to improve transcription accuracy with specialized terms
  • Add onboarding flow for first-time users
  • Add recording grace period to capture final words after key release
  • Reorganize build script to Scripts/ directory

Test plan

  • Run swift test to verify all tests pass
  • Run ./Scripts/build-app.sh --run to verify the app builds and launches
  • Test dictionary feature: add terms, verify they appear in Whisper prompts
  • Test onboarding flow on fresh install
  • Test recording grace period captures final words when releasing hotkey

🤖 Generated with Claude Code

jcampuza and others added 5 commits January 6, 2026 20:47
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.
@jcampuza jcampuza merged commit ef5bc06 into main Jan 7, 2026
1 check passed
@jcampuza jcampuza deleted the feature/swift6-modernization-and-dictionary branch January 7, 2026 17:06
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.

2 participants