Skip to content

Conversation

@anna1901
Copy link
Contributor

@anna1901 anna1901 commented Jan 8, 2026

Description

Create mobile fishjam chat example app

Motivation and Context

This app shows how to use fishjam room and livestreaming functionalities.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

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)

@linear
Copy link

linear bot commented Jan 8, 2026

FCE-2534 fishjam-chat

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request introduces a new mobile example application for Fishjam video chat built with React Native and Expo. The app demonstrates how to use the Fishjam mobile client SDK for both video room conferencing and livestreaming capabilities.

Key changes include:

  • Complete mobile chat application with video room and livestreaming functionality
  • React Native components for UI including buttons, text inputs, and video grid layouts
  • Integration with Fishjam mobile client SDK hooks for camera, microphone, and connection management
  • Configuration for both iOS and Android platforms with proper permissions

Reviewed changes

Copilot reviewed 31 out of 37 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
examples/mobile-client/mobile-fishjam-chat/package.json Defines project dependencies including Expo, React Native, and Fishjam mobile client
examples/mobile-client/mobile-fishjam-chat/app.json Expo configuration with platform-specific settings and permissions
examples/mobile-client/mobile-fishjam-chat/tsconfig.json TypeScript configuration extending Expo base config
examples/mobile-client/mobile-fishjam-chat/app/_layout.tsx Root layout with FishjamProvider and navigation stack setup
examples/mobile-client/mobile-fishjam-chat/app/(tabs)/_layout.tsx Tab navigation layout for Room and Livestream sections
examples/mobile-client/mobile-fishjam-chat/app/(tabs)/room.tsx Video room connection screen with input forms
examples/mobile-client/mobile-fishjam-chat/app/(tabs)/livestream.tsx Livestream connection screen with viewer/streamer options
examples/mobile-client/mobile-fishjam-chat/app/room/preview.tsx Camera/microphone preview before joining room
examples/mobile-client/mobile-fishjam-chat/app/room/[roomName].tsx Active video room screen with participant grid
examples/mobile-client/mobile-fishjam-chat/app/livestream/viewer.tsx Livestream viewer implementation
examples/mobile-client/mobile-fishjam-chat/app/livestream/streamer.tsx Livestream streamer implementation
examples/mobile-client/mobile-fishjam-chat/app/livestream/screen-sharing.tsx Placeholder for screen sharing functionality
examples/mobile-client/mobile-fishjam-chat/components/* Reusable UI components (Button, TextInput, VideosGrid, etc.)
examples/mobile-client/mobile-fishjam-chat/utils/Colors.ts Brand color definitions
examples/mobile-client/mobile-fishjam-chat/README.md Project setup and development documentation
examples/mobile-client/mobile-fishjam-chat/eslint.config.js ESLint configuration
examples/mobile-client/mobile-fishjam-chat/babel.config.js Babel configuration with reanimated plugin
examples/mobile-client/mobile-fishjam-chat/assets/images/* Application icons and splash screens
yarn.lock Updated dependencies for the new example app
examples/react-client/livestreaming/package.json Added Radix UI dependencies for select and icons

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Collaborator

@MiloszFilimowski MiloszFilimowski left a comment

Choose a reason for hiding this comment

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

  • Could you please remove the old fishjam-chat folder and rename this folder to be named fishjam-chat instead of mobile-fishjam-chat? The old one is no longer relevant.
  • When I run the app I ge the following error:
ERROR  [runtime not ready]: Error: Cannot find native module 'ExpoLinking' 

Code: construct.js
  2 | var setPrototypeOf = require("./setPrototypeOf.js");
  3 | function _construct(t, e, r) {
> 4 |   if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
    |                                                                 ^
  5 |   var o = [null];
  6 |   o.push.apply(o, e);
  7 |   var p = new (t.bind.apply(t, o))();
Call Stack
  • When I try to use the staging cloud URL I get the following error:
 Failed to join room: [SyntaxError: JSON Parse error: Unexpected character: W] SyntaxError: JSON Parse error: Unexpected character: W
  • When I try to enable/disable camera while in the room already, nothing happens. Is this some error of react-client?
  • ScreenShare button does nothing.
  • On the LiveStream screen some loader would be nice, while starting the stream.

Otherwise the example looks and works really great. Much better than the previous version! Good work 🎉

"dependencies": {
"@fishjam-cloud/react-client": "workspace:*",
"@hookform/resolvers": "^5.1.1",
"@radix-ui/react-icons": "^1.3.2",
Copy link
Collaborator

Choose a reason for hiding this comment

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

question: What happened here?

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.

3 participants