it0/it0_app
hailin 7b71a4f2fc fix: properly close WebSocket with subscription cancel + fire-and-forget
Root cause: IOWebSocketChannel.sink.close() can hang indefinitely
(dart-lang/web_socket_channel#185). Previous fix used unawaited close
but didn't cancel the stream subscription, so the old listener could
still push events to _messageController.

Fix: Extract _closeCurrentConnection() that:
1. Cancels StreamSubscription first (stops duplicate events immediately)
2. Fire-and-forget sink.close(goingAway) (frees underlying socket)

This follows the workaround recommended in the official issue tracker.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 03:45:43 -08:00
..
android feat: replace default Flutter icon with iAgent robot logo 2026-02-23 01:41:36 -08:00
assets feat: replace default Flutter icon with iAgent robot logo 2026-02-23 01:41:36 -08:00
ios/Runner/Assets.xcassets/AppIcon.appiconset feat: replace default Flutter icon with iAgent robot logo 2026-02-23 01:41:36 -08:00
lib fix: properly close WebSocket with subscription cancel + fire-and-forget 2026-02-25 03:45:43 -08:00
test fix: translate all remaining English UI strings to Chinese and remove dead code 2026-02-23 02:07:57 -08:00
.gitignore chore: gitignore iOS 自动生成文件 2026-02-23 05:10:54 -08:00
.metadata fix: 提交完整的Android项目配置文件,修复跨机器构建失败 2026-02-22 16:17:18 -08:00
README.md chore: 提交 Flutter 项目默认 README 2026-02-22 22:12:27 -08:00
analysis_options.yaml Initial commit: IT0 AI-powered server cluster operations platform 2026-02-08 22:54:37 -08:00
pubspec.lock feat: replace default Flutter icon with iAgent robot logo 2026-02-23 01:41:36 -08:00
pubspec.yaml feat: replace default Flutter icon with iAgent robot logo 2026-02-23 01:41:36 -08:00

README.md

it0_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.