Skip to content

Conversation

@oliverlaz
Copy link
Member

@oliverlaz oliverlaz commented Jan 8, 2026

💡 Overview

This code used to be buggy, and when combined with usePersistedDevicePreferences, it was causing a race condition that caused devices to be enabled/disabled randomly, depending on who reached the critical block first.
Besides that, CameraManager was incorrectly checking for SEND_AUDIO instead of SEND_VIDEO capability. This is fixed now, too.

📝 Implementation notes

  • The apply method is now refactored and made easier to understand.
  • usePersistedDevicePreferences now sets the deferServerDefaults flag that prevents applying server-side defaults, as the user preferences should always take precedence. This hook handles the initial device setup up too, so we aren't losing the default settings.

🎫 Ticket: https://linear.app/stream/issue/REACT-737/improve-applying-of-default-device-preferences
📑 Docs: https://github.com/GetStream/docs-content/pull/896

@changeset-bot
Copy link

changeset-bot bot commented Jan 8, 2026

⚠️ No Changeset found

Latest commit: 07541c3

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@oliverlaz oliverlaz merged commit 3529c8f into main Jan 9, 2026
18 checks passed
@oliverlaz oliverlaz deleted the device-settings branch January 9, 2026 11:06
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