Skip to content

FCE-3589: react-client camera and microphone read the tsunami store - #592

Open
MiloszFilimowski wants to merge 1 commit into
tsunami/06-device-orchestratorfrom
tsunami/07-react-devices-swap
Open

FCE-3589: react-client camera and microphone read the tsunami store#592
MiloszFilimowski wants to merge 1 commit into
tsunami/06-device-orchestratorfrom
tsunami/07-react-devices-swap

Conversation

@MiloszFilimowski

@MiloszFilimowski MiloszFilimowski commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #591.

Description

  • The provider injects new WebDeviceManager({ persistence }) (adapted from the persistLastDevice prop) into the tsunami client and renders the camera/microphone contexts from store snapshots via thin adapters that preserve the existing DeviceManager / TrackManager context shapes — useCamera, useMicrophone, and useInitializeDevices hook bodies are untouched.
  • DeviceError instances convert to the legacy { name } plain objects at this boundary (the shape the public hooks expose today).
  • Screen share and custom sources stay on the existing hooks until their controllers land (next batch).
  • Deletes the superseded react-client device stack: useMediaDevices, useDeviceManager, useTrackManager, useTrackMiddleware, mediaInitializer, constraints, utils/track, utils/bandwidth, parseUserMediaError. Net −821 lines.

Motivation and Context

The camera/microphone/init hook swap of FCE-3589, closing out the react-client side of FCE-3586/3588/3583. No public API change: 69/69 specs pass with spec files untouched — the camera (12), microphone (4), and initializeDevices (4) specs now drive the tsunami controllers end-to-end through the injected WebDeviceManager.

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)

@MiloszFilimowski MiloszFilimowski changed the title react-client: camera, microphone, and initializeDevices flip to tsunami FCE-3589: react-client camera and microphone read the tsunami store Aug 5, 2026
@linear

linear Bot commented Aug 5, 2026

Copy link
Copy Markdown

FCE-3589

FCE-3583

@MiloszFilimowski
MiloszFilimowski marked this pull request as ready for review August 5, 2026 14:26
The provider now injects a WebDeviceManager (persistence adapted from the
persistLastDevice prop) into the tsunami client and renders the camera and
microphone contexts from store snapshots through thin adapters that preserve
the existing DeviceManager/TrackManager context shapes — useCamera,
useMicrophone, and useInitializeDevices bodies are untouched. DeviceError
instances convert to the legacy { name } plain objects at this boundary.
Screen share and custom sources stay on the existing hooks until their
controllers land. The superseded device stack (useMediaDevices,
useDeviceManager, useTrackManager, useTrackMiddleware, mediaInitializer,
constraints, bandwidth and track utils, parseUserMediaError) is deleted.
@MiloszFilimowski
MiloszFilimowski force-pushed the tsunami/07-react-devices-swap branch from 34acd47 to f89f4b7 Compare August 5, 2026 15:05
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.

1 participant