Skip to content

chore(lint): enable unawaited_futures, cancel_subscriptions, close_sinks and avoid_void_async (#1241) - #1252

Merged
ZhuchkaTriplesix merged 2 commits into
devfrom
chore/1241-async-lints
Oct 9, 2026
Merged

ZhuchkaTriplesix merged 2 commits into
devfrom
chore/1241-async-lints

Conversation

@ZhuchkaTriplesix

@ZhuchkaTriplesix ZhuchkaTriplesix commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Closes #1241

Rules

unawaited_futures, cancel_subscriptions, close_sinks and avoid_void_async are on in analysis_options.yaml.

What they flagged (35 places) and how they are fixed

  • lib, dropped on purpose (unawaited(...)): cleanup in catch / finally blocks of the SSH tunnel manager, its socket pipes, the pool lock's error guard, the Mongo open map, and the zone in main.
  • lib, a real leak: the MCP socket host closed only the incoming controller of a session. The outgoing one is now closed too. The channel's close guarantee drops writes after the incoming side ends, so a late write cannot fail.
  • tests: dialogs opened without awaiting them are wrapped in unawaited. Fake process streams that live for the whole test keep an ignore with the reason above it.

cancel_subscriptions and avoid_void_async flagged nothing.

@github-actions github-actions Bot added tests Theme parser epic P3 Low priority / Polish & Enhancements labels Oct 9, 2026
- unawaited() where a future is dropped on purpose: cleanup in catch and
  finally blocks, socket pipes in the SSH tunnel, the zone in main, and
  dialogs opened by tests.
- The MCP socket host closed only the incoming side of a session; the
  outgoing controller is now closed too.
- Fake process streams in tests live for the whole test; their ignores
  say so.
@ZhuchkaTriplesix
ZhuchkaTriplesix marked this pull request as ready for review October 9, 2026 13:53
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 7c5dce3 into dev Oct 9, 2026
15 checks passed
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Grid scroll benchmark

metric base PR change
p50 43.11 ms 42.48 ms -1.5%
p90 52.74 ms 51.78 ms -1.8%
p99 63.98 ms 76.00 ms +18.8% ⚠️
stutters 224.00 223.00 -0.4%

Informational only (threshold 5%). Shared CI runners are noisy; re-run before trusting a single result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low priority / Polish & Enhancements tests Theme parser epic

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant