Skip to content

Swift 6 migration with comprehensive unit tests#6

Merged
ikorich merged 1 commit into
developfrom
feature/swift6-migration
Dec 4, 2025
Merged

Swift 6 migration with comprehensive unit tests#6
ikorich merged 1 commit into
developfrom
feature/swift6-migration

Conversation

@ikorich
Copy link
Copy Markdown
Member

@ikorich ikorich commented Dec 4, 2025

Summary

  • Migrated Lock-Watcher from Swift 5.10 to Swift 6.0 with strict concurrency enabled
  • Added 66 new unit tests covering models, settings, and managers (111 total tests passing)
  • Fixed concurrency issues with @preconcurrency imports for legacy dependencies
  • Updated documentation to reflect Swift 6.0 changes

Test Plan

  • All 111 unit tests pass with Swift 6.0 strict concurrency
  • No Swift compiler warnings in test code
  • Verified concurrency safety across async closures and listeners
  • Tested TriggerType enum, ThiefDto, DatabaseDtoList, AppSettings, and TriggerManager
  • Verified compatibility with MAS and Non-MAS build targets

🤖 Generated with Claude Code

Migrated codebase from Swift 5.10 to Swift 6.0 with strict concurrency enabled. Added @preconcurrency imports for legacy dependencies and fixed concurrency issues across managers, listeners, and notifiers. Added 66 new unit tests covering TriggerType, ThiefDto, DatabaseDtoList, AppSettings models, and TriggerManager with complete test coverage for models and settings. All 111 tests pass with Swift 6.0 strict concurrency.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@ikorich ikorich merged commit 53a756e into develop Dec 4, 2025
@ikorich ikorich deleted the feature/swift6-migration branch January 1, 2026 15:56
ikorich added a commit that referenced this pull request Jan 1, 2026
* chore: complete Swift 6 migration and add comprehensive unit tests (#6)

Migrated codebase from Swift 5.10 to Swift 6.0 with strict concurrency enabled. Added @preconcurrency imports for legacy dependencies and fixed concurrency issues across managers, listeners, and notifiers. Added 66 new unit tests covering TriggerType, ThiefDto, DatabaseDtoList, AppSettings models, and TriggerManager with complete test coverage for models and settings. All 111 tests pass with Swift 6.0 strict concurrency.

* refactor: implement Swift 6 actors for XPC service isolation (#7)

This commit completes Phase 3 of the Swift 6 modernization by adding proper actor isolation to all event listeners and XPC service communication. Restores @mainactor to BaseListenerProtocol and wraps all XPC callbacks in MainActor hops to eliminate data races. All listeners now properly synchronize state mutations on the main thread, fixing issues with event listeners being called only once. All 110 tests pass.

This prevents git from tracking temporary Crystal session directories.

* set min os version to 14.1

* docs: update CLAUDE.md and README.md to latest format standards (#8)

- Refactored CLAUDE.md with cleaner Overview section (Type, Stack, Architecture, Company)
- Added MUST/SHOULD/MUST NOT development rules format for clarity
- Added Core Commands section with bash examples for building and testing
- Added Quick Find Commands for efficient code navigation
- Consolidated MAS vs Non-MAS configuration into clear comparison table
- Simplified agents/skills into single consolidated tables
- Updated README.md with streamlined structure and removed verbose sections
- Removed Troubleshooting, Info.plist Requirements, and Resources sections
- Removed references to ARCHITECTURE.md throughout documentation
- Deleted ARCHITECTURE.md as consolidation is complete

* feat: add design system and accessibility improvements (#9)

- Create DesignSystem.swift with centralized design tokens (spacing, colors, typography, shadows)
- Add comprehensive accessibility modifiers across all UI views (VoiceOver support)
- Extract debug print pattern into View+DebugPrintChanges extension
- Refactor LastThiefDetectionView into smaller, type-checkable components
- Update copyright year to 2026 across all source files
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