Skip to content

fix: avoid interrupting exit cleanup - #129

Merged
SingLinkNetwork merged 4 commits into
mainfrom
fix/windows-exit-cleanup
Aug 10, 2026
Merged

fix: avoid interrupting exit cleanup#129
SingLinkNetwork merged 4 commits into
mainfrom
fix/windows-exit-cleanup

Conversation

@SingLinkNetwork

Copy link
Copy Markdown
Owner

What changed

  • Replaced the uncancellable 3-second forced-exit delay with a cancellable 10-second cleanup watchdog.
  • Cancels the watchdog after cleanup succeeds or fails, while retaining a logged forced-exit fallback for a genuine hang.
  • Preserves the existing macOS IP-forwarding restore and desktop cleanup order.
  • Adds regression coverage for successful, failed, and stalled cleanup.

Root cause

The old delayed exit could terminate the process while Windows proxy, tray, window, or core cleanup was still in progress, leaving a core process or system proxy behind.

Verification

  • git diff --check passed.
  • Local Flutter/Dart is unavailable on the macOS host, so Flutter tests and analysis have not been claimed as run.
  • This draft PR must pass the complete cross-platform GitHub Actions suite before merge.

Closes #123

@SingLinkNetwork
SingLinkNetwork marked this pull request as ready for review August 10, 2026 14:35
@SingLinkNetwork
SingLinkNetwork merged commit 8efac06 into main Aug 10, 2026
63 checks passed
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.

[BUG] Windows 退出時 3 秒強制結束可能中斷清理並遺留系統代理

1 participant