Repository navigation
Conversation
Chat events arriving on a coordinator socket shared with Stream Chat now log at verbose instead of warning, the alias lookup is a map, and unknown events skip the per-event info log. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1476 +/- ##
==========================================
+ Coverage 16.10% 16.40% +0.30%
==========================================
Files 690 690
Lines 51391 51392 +1
==========================================
+ Hits 8274 8432 +158
+ Misses 43117 42960 -157 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
SDK Size
Measured on |
Size BreakdownWhat each SDK adds to an empty release app, per Dart package and native library. Dart sizes are uncompressed symbol sizes. Open the Measured on android ·
|
| Component | Size | Δ vs main |
|---|---|---|
native:libjingle_peerconnection_so.so |
11.96 MB | 0 |
package:stream_video |
1.8 MB | -0.3 KB |
dart:@unknown |
282.2 KB | +0.0 KB |
classes.dex |
261.9 KB | 0 |
dart:_http |
152.7 KB | 0 |
package:protobuf |
145.6 KB | 0 |
native:libdartjni.so |
121.7 KB | 0 |
dart:io |
99.4 KB | 0 |
dart:async |
71.8 KB | 0 |
package:stream_webrtc_flutter |
56.2 KB | +0.0 KB |
dart:core |
50.8 KB | 0 |
dart:mixin_deduplication |
49.7 KB | 0 |
package:rxdart |
48.2 KB | 0 |
package:source_span |
44.1 KB | 0 |
dart:typed_data |
31.3 KB | 0 |
| other (66) | 423.7 KB | +0.1 KB |
android · stream_video_flutter: 17.38 MB (-0.5 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:libjingle_peerconnection_so.so |
11.96 MB | 0 |
package:stream_video |
1.84 MB | -0.3 KB |
package:flutter |
774.4 KB | +0.0 KB |
classes.dex |
454.8 KB | 0 |
dart:@unknown |
418.5 KB | -0.3 KB |
dart:_http |
155.6 KB | 0 |
dart:mixin_deduplication |
152.0 KB | 0 |
package:protobuf |
146.7 KB | +0.0 KB |
package:stream_video_flutter |
132.9 KB | 0 |
native:libdartjni.so |
121.7 KB | 0 |
dart:io |
119.3 KB | 0 |
assets |
81.5 KB | 0 |
dart:async |
75.4 KB | 0 |
dart:collection |
63.1 KB | 0 |
dart:ui |
61.9 KB | 0 |
| other (88) | 913.5 KB | +0.1 KB |
ios · stream_video: 16.06 MB (-0.0 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:StreamWebRTC.framework |
11.82 MB | 0 |
package:stream_video |
1.95 MB | -0.0 KB |
Runner |
630.4 KB | 0 |
dart:@unknown |
279.5 KB | -0.1 KB |
dart:_http |
164.9 KB | 0 |
native:objective_c.framework |
164.2 KB | 0 |
package:protobuf |
155.8 KB | 0 |
dart:io |
95.7 KB | 0 |
dart:async |
78.7 KB | 0 |
package:stream_webrtc_flutter |
63.6 KB | 0 |
package:rxdart |
54.6 KB | 0 |
dart:mixin_deduplication |
54.3 KB | 0 |
dart:core |
52.2 KB | 0 |
package:source_span |
46.9 KB | 0 |
dart:@shared |
44.3 KB | +0.0 KB |
| other (66) | 462.4 KB | +0.0 KB |
ios · stream_video_flutter: 18.34 MB (+0.1 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:StreamWebRTC.framework |
11.82 MB | 0 |
package:stream_video |
1.99 MB | -0.0 KB |
Runner |
1.17 MB | 0 |
package:flutter |
886.1 KB | 0 |
dart:@unknown |
420.6 KB | +0.0 KB |
dart:_http |
167.8 KB | 0 |
native:objective_c.framework |
164.2 KB | 0 |
dart:mixin_deduplication |
160.7 KB | +0.0 KB |
package:protobuf |
157.0 KB | 0 |
package:stream_video_flutter |
139.5 KB | 0 |
dart:io |
117.1 KB | 0 |
Frameworks |
84.2 KB | 0 |
dart:async |
83.0 KB | 0 |
dart:@shared |
76.2 KB | -0.0 KB |
dart:ui |
71.2 KB | +0.0 KB |
| other (89) | 914.9 KB | +0.0 KB |
🎯 Goal
Apps using Stream Chat and Stream Video with the same API key receive chat events (
message.new,reaction.new,typing.start, …) on the video coordinator socket. Each one logged a warning,SV:EventType [fromAlias] unexpected alias: message.new, plus an info line.In the LyveChat 20k livestream load test (2026-10-16, Pixel 8 viewer, ~15 chat messages/s), 510 of 513 recorded SDK log lines in one run were that warning. The test app registers an external logger, so each one also cost a log write.
🛠 Implementation details
EventType.fromAliasuses a static alias map instead of a linearfirstWhere, and logs unhandled types at verbose instead of warning.OpenApiEvent.fromJsonreturns early for unknown types: no per-event info log, and no debug log of the whole payload.CoordinatorUnknownEventis still emitted, so there is no public API or behaviour change.🎨 UI Changes
None.
🧪 Testing
test/src/coordinator/open_api/open_api_event_test.dart: every known type still maps, chat types and an unknowncall.*type only log at verbose, and amessage.newpayload parses without throwing.message.newpayloads with logging at info: 2 log lines per message before, 0 after. Parse time was ~4µs per message either way on desktop JIT, within noise.stream_videosuite passes.☑️Contributor Checklist
General
☑️Reviewer Checklist
🤖 Generated with Claude Code
Summary by CodeRabbit