Repository navigation
fix(llc): stop sending deprecated SendStats fields - #1420
Conversation
Regenerates signal.proto after GetStream/protocol#2116 and drops the raw publisher/subscriber stats and input device lists from SendStatsRequest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (8)
💤 Files with no reviewable changes (3)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe SFU stats request and reporter no longer include raw WebRTC stats or input-device details. The pull request also adds a script and Melos command to regenerate the checked-in protobuf models. ChangesSFU stats payload
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The stats payload change appears ready to merge after normal checks; no actionable issue remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1420 +/- ##
==========================================
- Coverage 15.83% 15.77% -0.06%
==========================================
Files 690 690
Lines 51446 51357 -89
==========================================
- Hits 8146 8103 -43
+ Misses 43300 43254 -46 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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 | -3.7 KB |
dart:@unknown |
282.1 KB | -0.7 KB |
classes.dex |
256.5 KB | 0 |
dart:_http |
152.7 KB | +0.0 KB |
package:protobuf |
145.6 KB | -0.0 KB |
native:libdartjni.so |
121.7 KB | 0 |
dart:io |
99.4 KB | +0.0 KB |
dart:async |
71.8 KB | -0.0 KB |
package:stream_webrtc_flutter |
56.0 KB | +0.1 KB |
dart:core |
50.8 KB | +0.0 KB |
dart:mixin_deduplication |
49.4 KB | -0.0 KB |
package:rxdart |
48.2 KB | -0.0 KB |
package:source_span |
44.1 KB | +0.0 KB |
dart:typed_data |
31.3 KB | -0.0 KB |
| other (66) | 423.7 KB | +0.1 KB |
android · stream_video_flutter: 17.37 MB (-4.7 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:libjingle_peerconnection_so.so |
11.96 MB | 0 |
package:stream_video |
1.84 MB | -4.3 KB |
package:flutter |
775.2 KB | +0.0 KB |
classes.dex |
446.9 KB | 0 |
dart:@unknown |
418.5 KB | -0.4 KB |
dart:_http |
155.5 KB | -0.0 KB |
dart:mixin_deduplication |
151.7 KB | -0.0 KB |
package:protobuf |
146.7 KB | -0.0 KB |
package:stream_video_flutter |
132.1 KB | -0.0 KB |
native:libdartjni.so |
121.7 KB | 0 |
dart:io |
119.3 KB | -0.0 KB |
assets |
81.5 KB | 0 |
dart:async |
75.4 KB | +0.0 KB |
dart:collection |
63.1 KB | +0.0 KB |
dart:ui |
61.9 KB | -0.0 KB |
| other (88) | 913.2 KB | -0.1 KB |
ios · stream_video: 16.06 MB (-4.5 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:StreamWebRTC.framework |
11.82 MB | 0 |
package:stream_video |
1.95 MB | -3.9 KB |
Runner |
623.9 KB | 0 |
dart:@unknown |
279.5 KB | -0.6 KB |
dart:_http |
164.8 KB | +0.0 KB |
native:objective_c.framework |
164.2 KB | 0 |
package:protobuf |
155.8 KB | -0.0 KB |
dart:io |
95.7 KB | +0.0 KB |
dart:async |
78.7 KB | -0.0 KB |
package:stream_webrtc_flutter |
63.4 KB | -0.0 KB |
package:rxdart |
54.6 KB | -0.0 KB |
dart:mixin_deduplication |
54.0 KB | +0.0 KB |
dart:core |
52.2 KB | +0.0 KB |
package:source_span |
46.9 KB | 0 |
dart:@shared |
44.2 KB | -0.0 KB |
| other (66) | 462.3 KB | +0.0 KB |
ios · stream_video_flutter: 18.34 MB (-5.3 KB)
| Component | Size | Δ vs main |
|---|---|---|
native:StreamWebRTC.framework |
11.82 MB | 0 |
package:stream_video |
1.99 MB | -4.5 KB |
Runner |
1.16 MB | 0 |
package:flutter |
886.9 KB | -0.1 KB |
dart:@unknown |
420.6 KB | -0.7 KB |
dart:_http |
167.7 KB | -0.0 KB |
native:objective_c.framework |
164.2 KB | 0 |
dart:mixin_deduplication |
160.5 KB | +0.0 KB |
package:protobuf |
157.0 KB | -0.0 KB |
package:stream_video_flutter |
138.7 KB | +0.0 KB |
dart:io |
117.1 KB | +0.0 KB |
Frameworks |
84.2 KB | 0 |
dart:async |
82.9 KB | +0.0 KB |
dart:@shared |
76.2 KB | -0.1 KB |
dart:ui |
71.2 KB | -0.0 KB |
| other (89) | 914.7 KB | -0.0 KB |
🎯 Goal
Sunset the legacy (raw) stats in
SendStats. Follow-up to GetStream/protocol#2116, which reserved the deprecatedSendStatsRequestfields; mirrors GetStream/stream-video-js#2488.🛠 Implementation details
signal.pb.dart/signal.pbjson.dartfrom protocolmainwith the newmelos run generate:protobufscript (packages/stream_video/generate-protobuf.sh), which builds the locked protoc_plugin version and needsprotocinstalled. The only diff isSendStatsRequest:subscriber_stats,publisher_stats,audio_devices,video_devices,subscriber_rtc_statsandpublisher_rtc_statsare gone and their numbers reserved.modelsandeventsregenerate identically.SfuStatsReporterno longer sends the raw publisher/subscriber stats or the input device lists, and drops the device-change subscription andstateManagerdependency that only existed to fill them.rtc_statstrace and the call diagnostics screen.🧪 Testing
flutter test test/src/call/statspasses.dart analyzeclean onstream_videoandstream_video_flutter.🤖 Generated with Claude Code
Summary by CodeRabbit
Bug Fixes
Chores