Commit 3f931f2
Fix Swift 6 file watcher teardown for releases
Move FileWatcher cleanup into the MainActor-isolated stop path so Swift 6 does not reject deinit access to non-Sendable Dispatch file system sources. Bump the app bundle version to 1.0.4 so the next release tag and packaged metadata stay aligned.
Constraint: The GitHub release workflow is tag-driven, so the bundle version should match the new patch release
Constraint: DispatchSourceFileSystemObject is not Sendable under Swift 6 checks in nonisolated deinit
Rejected: Add @preconcurrency to Dispatch imports | it would only downgrade a real Swift 6 isolation issue into a warning
Rejected: Leave version metadata at 1.0.3 | it would mismatch the new release tag users download
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep FileWatcher teardown on the main actor while it owns main-queue Dispatch sources
Tested: swift build --disable-sandbox; swift build -c release --disable-sandbox
Not-tested: Live GitHub Actions rerun of the macOS release workflow after tagging v1.0.41 parent d0285b6 commit 3f931f2
2 files changed
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
| 49 | + | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
0 commit comments