docs(samples, ui, llc): document platform compatibility#1277
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThis PR removes Firebase and push-notification integration from the Flutter example, adds explicit package platform metadata, simplifies call startup navigation, updates platform documentation, and revises Linux, macOS, and Windows build configuration. ChangesExample app platform changes
Estimated code review effort: 3 (Moderate) | ~30 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
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 |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
packages/stream_video_flutter/example/lib/app.dart (1)
94-94: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove trailing whitespace on line 94.
Line 94 appears to contain only trailing whitespace left behind after the
_observeFcmMessages()call was removed.🧹 Proposed fix
_observeRingingEvents(); - return const Result.success(none);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/stream_video_flutter/example/lib/app.dart` at line 94, Remove the leftover trailing whitespace in the app initialization code by deleting the blank whitespace-only line around the _observeFcmMessages() area in app.dart; keep the surrounding startup logic unchanged and ensure the file no longer contains a line with only spaces or tabs.packages/stream_video_flutter/example/macos/Runner.xcodeproj/project.pbxproj (1)
430-432: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove the redundant
-lc++flags from the macOS Runner configs.CLANG_CXX_LIBRARY = "libc++"already handles the C++ standard library, so theOTHER_LDFLAGSentries are unnecessary in Debug/Profile/Release. If this is a workaround for a specific linker issue, document why it needs to stay.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/stream_video_flutter/example/macos/Runner.xcodeproj/project.pbxproj` around lines 430 - 432, Remove the redundant -lc++ entries from the macOS Runner build settings in the project configuration; CLANG_CXX_LIBRARY already selects libc++ so the OTHER_LDFLAGS entries in the Debug/Profile/Release configs are unnecessary. Update the Runner target settings in project.pbxproj and keep only the inherited linker flags unless there is a specific workaround, in which case document the reason near the affected build config entries.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/stream_video_flutter/example/lib/app.dart`:
- Line 94: Remove the leftover trailing whitespace in the app initialization
code by deleting the blank whitespace-only line around the _observeFcmMessages()
area in app.dart; keep the surrounding startup logic unchanged and ensure the
file no longer contains a line with only spaces or tabs.
In
`@packages/stream_video_flutter/example/macos/Runner.xcodeproj/project.pbxproj`:
- Around line 430-432: Remove the redundant -lc++ entries from the macOS Runner
build settings in the project configuration; CLANG_CXX_LIBRARY already selects
libc++ so the OTHER_LDFLAGS entries in the Debug/Profile/Release configs are
unnecessary. Update the Runner target settings in project.pbxproj and keep only
the inherited linker flags unless there is a specific workaround, in which case
document the reason near the affected build config entries.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d285089b-f2b4-4fc4-9904-0820a1a86618
📒 Files selected for processing (16)
packages/stream_video_flutter/example/.gitignorepackages/stream_video_flutter/example/.metadatapackages/stream_video_flutter/example/analysis_options.yamlpackages/stream_video_flutter/example/lib/app.dartpackages/stream_video_flutter/example/lib/firebase_options.dartpackages/stream_video_flutter/example/lib/main.dartpackages/stream_video_flutter/example/lib/stream_video_sdk.dartpackages/stream_video_flutter/example/linux/.gitignorepackages/stream_video_flutter/example/linux/CMakeLists.txtpackages/stream_video_flutter/example/linux/runner/CMakeLists.txtpackages/stream_video_flutter/example/linux/runner/main.ccpackages/stream_video_flutter/example/linux/runner/my_application.ccpackages/stream_video_flutter/example/linux/runner/my_application.hpackages/stream_video_flutter/example/macos/Runner.xcodeproj/project.pbxprojpackages/stream_video_flutter/example/pubspec.yamlpackages/stream_video_flutter/example/windows/flutter/generated_plugins.cmake
💤 Files with no reviewable changes (3)
- packages/stream_video_flutter/example/lib/firebase_options.dart
- packages/stream_video_flutter/example/lib/stream_video_sdk.dart
- packages/stream_video_flutter/example/windows/flutter/generated_plugins.cmake
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/stream_video_flutter/example/lib/screen/home_tabs/start_call_tab.dart (1)
69-73: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winMissing
returnafter empty call ID validation.When
callIdis empty, a snackbar is shown but execution continues —setState(() => _callInProgress = true)runs andcall.getOrCreateis called with an empty ID, which will fail at the API level and show a second error message.🐛 Proposed fix
final callId = _callIdController.text; if (callId.isEmpty) { context.showSnackBar('Call ID is empty'); - } - - setState(() => _callInProgress = true); + return; + } + + setState(() => _callInProgress = true);🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/stream_video_flutter/example/lib/screen/home_tabs/start_call_tab.dart` around lines 69 - 73, Add an immediate return after the empty-call-ID snackbar in _startCall, preventing setState and call.getOrCreate from executing with an empty ID.
🧹 Nitpick comments (1)
packages/stream_video_flutter/example/lib/app.dart (1)
27-30: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove empty
initState.
initStatenow only callssuper.initState()with no additional logic. It can be safely removed.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/stream_video_flutter/example/lib/app.dart` around lines 27 - 30, Remove the empty initState override from the relevant widget in app.dart, since it adds no behavior beyond the framework default; retain the widget’s existing lifecycle behavior without replacing it.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/stream_video_flutter/README.md`:
- Around line 36-49: Make the platform-support wording consistent in the README:
change the Official support matrix values for Web and macOS to ❌, normalize all
occurrences of “Macos” to “macOS” and “SDK's” to “SDKs,” and ensure the
surrounding prose and table use the same platform names and support semantics.
---
Outside diff comments:
In
`@packages/stream_video_flutter/example/lib/screen/home_tabs/start_call_tab.dart`:
- Around line 69-73: Add an immediate return after the empty-call-ID snackbar in
_startCall, preventing setState and call.getOrCreate from executing with an
empty ID.
---
Nitpick comments:
In `@packages/stream_video_flutter/example/lib/app.dart`:
- Around line 27-30: Remove the empty initState override from the relevant
widget in app.dart, since it adds no behavior beyond the framework default;
retain the widget’s existing lifecycle behavior without replacing it.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e0158d8c-fdfc-427d-90e2-5e253a299794
📒 Files selected for processing (13)
packages/stream_video/pubspec.yamlpackages/stream_video_filters/pubspec.yamlpackages/stream_video_flutter/README.mdpackages/stream_video_flutter/example/README.mdpackages/stream_video_flutter/example/lib/app.dartpackages/stream_video_flutter/example/lib/main.dartpackages/stream_video_flutter/example/lib/screen/home_tabs/start_call_tab.dartpackages/stream_video_flutter/example/linux/flutter/generated_plugins.cmakepackages/stream_video_flutter/example/windows/flutter/generated_plugins.cmakepackages/stream_video_flutter/pubspec.yamlpackages/stream_video_noise_cancellation/pubspec.yamlpackages/stream_video_push_notification/pubspec.yamlpackages/stream_video_screen_sharing/pubspec.yaml
💤 Files with no reviewable changes (1)
- packages/stream_video_flutter/example/lib/main.dart
✅ Files skipped from review due to trivial changes (4)
- packages/stream_video_screen_sharing/pubspec.yaml
- packages/stream_video_flutter/example/linux/flutter/generated_plugins.cmake
- packages/stream_video_flutter/example/README.md
- packages/stream_video_flutter/example/windows/flutter/generated_plugins.cmake
🎯 Goal
Simplifying the example app so it runs on all platforms.
Related to: #1013
🛠 Implementation details
Mainly removing firebase dependencies for ringing.
☑️Contributor Checklist
General
☑️Reviewer Checklist
Summary by CodeRabbit
.gitignore) and added explicit platform declarations across packages.