Skip to content

FCE-1678 / improve livestream example#378

Merged
czerwiukk merged 18 commits into
mainfrom
FCE-1678/improve-livestream-example
Jun 30, 2025
Merged

FCE-1678 / improve livestream example#378
czerwiukk merged 18 commits into
mainfrom
FCE-1678/improve-livestream-example

Conversation

@czerwiukk

Copy link
Copy Markdown
Member

Description

Improves the livestream example by allowing to stream and view the stream.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

@czerwiukk czerwiukk self-assigned this Jun 30, 2025
@linear

linear Bot commented Jun 30, 2025

Copy link
Copy Markdown

@czerwiukk czerwiukk requested a review from Copilot June 30, 2025 09:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the React livestream example by integrating both broadcasting and viewing flows, along with full Tailwind and UI component support.

  • Configures Vite and TypeScript for path aliases and Tailwind CSS integration
  • Introduces a shared cn utility and new UI components (button, select, label, card, input, toaster)
  • Implements Broadcaster and LivestreamViewer components with VideoPlayer and toast notifications

Reviewed Changes

Copilot reviewed 20 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
examples/react-client/livestreaming/vite.config.ts Added path alias, Tailwind plugin, removed custom port
examples/react-client/livestreaming/tsconfig.json Set baseUrl and paths for @/* alias
examples/react-client/livestreaming/src/main.tsx Imported global CSS and added Toaster
examples/react-client/livestreaming/src/lib/utils.ts Created cn helper combining clsx & twMerge
examples/react-client/livestreaming/src/index.css Defined theme variables and base styles
examples/react-client/livestreaming/src/components/ui/toaster.tsx Added styled toast container
examples/react-client/livestreaming/src/components/ui/select.tsx New Select component wrappers
examples/react-client/livestreaming/src/components/ui/label.tsx New Label wrapper for Radix UI
examples/react-client/livestreaming/src/components/ui/input.tsx Styled input component
examples/react-client/livestreaming/src/components/ui/card.tsx Card layout components
examples/react-client/livestreaming/src/components/ui/button.tsx Button variants via cva
examples/react-client/livestreaming/src/components/VideoPlayer.tsx Video element wrapper with controls
examples/react-client/livestreaming/src/components/LivestreamViewer.tsx Viewer UI and useLivestream integration
examples/react-client/livestreaming/src/components/Broadcaster.tsx Broadcaster UI with device setup and join logic
examples/react-client/livestreaming/src/components/App.tsx Main demo layout with both flows
examples/react-client/livestreaming/package.json Updated name, dependencies for UI and Tailwind
examples/react-client/livestreaming/components.json Shadcn UI config and aliases
examples/react-client/livestreaming/README.md Demo usage instructions
examples/react-client/README.md Updated example list entry
Comments suppressed due to low confidence (3)

examples/react-client/livestreaming/README.md:37

  • The UI no longer prompts for a WHEP URL, but this step still appears in the README. Update the instructions to reflect the hard-coded URL or add an input field to the viewer.
1. Enter the **WHEP URL** (usually your Fishjam server's WHEP endpoint)

examples/react-client/README.md:15

  • The link path points to ./livestream-viewer but the directory was renamed to livestreaming. Update the path to ./livestreaming for consistency.
- [Livestreaming](./livestream-viewer) - example of broadcasting and viewing a live stream

examples/react-client/livestreaming/vite.config.ts:11

  • The port configuration was removed from the dev server settings. If you need to run the example on port 3007 as before, re-add port: 3007 under server.
  },

Comment thread examples/react-client/livestreaming/src/components/ui/select.tsx Outdated

@PiotrWodecki PiotrWodecki left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add some error handling for the viewer (blocking), LGTM apart from that

Maybe consider linking this example in the docs somewhere

Comment thread examples/react-client/livestreaming/src/components/Broadcaster.tsx Outdated

@dawidmatyjasik dawidmatyjasik left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job, just dropped a couple of small suggestions to make it even better! :)

Comment thread examples/react-client/livestreaming/src/components/Broadcaster.tsx
Comment thread examples/react-client/livestreaming/src/components/Broadcaster.tsx
@czerwiukk czerwiukk requested a review from dawidmatyjasik June 30, 2025 12:02
@czerwiukk czerwiukk merged commit 62db888 into main Jun 30, 2025
2 checks passed
@czerwiukk czerwiukk deleted the FCE-1678/improve-livestream-example branch June 30, 2025 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants