feat(ui, samples): introduced componentBuilders with participant tile - #1310
feat(ui, samples): introduced componentBuilders with participant tile#1310renefloor wants to merge 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (16)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe package introduces a configurable ChangesParticipant tile component system
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to This change introduces component builders and renames the participant tile while preserving the deprecated API for migration support. No actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant AppContent
participant StreamComponentFactory
participant StreamParticipantTile
participant DefaultStreamParticipantTile
AppContent->>StreamComponentFactory: provide Stream Video and Stream Chat builders
StreamComponentFactory->>StreamParticipantTile: expose participant tile builder
StreamParticipantTile->>StreamComponentFactory: look up registered builder
StreamComponentFactory-->>StreamParticipantTile: return builder or no builder
StreamParticipantTile->>DefaultStreamParticipantTile: render default tile when no custom builder exists
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
| 'Use StreamParticipantTile instead. ' | ||
| 'Will be removed in the next major version.', | ||
| ) | ||
| class StreamCallParticipant extends StatelessWidget { |
There was a problem hiding this comment.
I think we can just make it a typedef for the new widget instead.
There was a problem hiding this comment.
Yeah typedef could also be. We still have to update the widget itself though, so we might want to use this widget to map the legacy theme to the new participant theme if we make changes there. We can still go both ways.
🎯 Goal
Introducing the component builders from core and chat.
🛠 Implementation details
This creates a
streamVideoComponentBuildersin which we can add more component builders later.It creates a new
StreamParticipantTileand renamed the oldStreamCallParticipanttoDefaultStreamParticipantTile. The new naming matches figma: https://www.figma.com/design/BJppI3JYlPy3XeEu5MZY1E/SDK-Design-System?node-id=24212-75268&p=f&m=devTo keep migrations easy and simple we kept the old
StreamCallParticipant, but deprecated it and added a dart fix rule.The dogfooding app adds a no-op component factory as demo:
🎨 UI Changes
Should be no UI changes.
Summary by CodeRabbit
New Features
Improvements
Migration
StreamCallParticipantwithStreamParticipantTile.StreamCallParticipantremains available as a deprecated compatibility option; usedart fix --applyto migrate automatically.