Commit Graph

244 Commits

Author SHA1 Message Date
Mihaela Dumitru
c457ed0d3c feat(external-api): fire participantMuted event for all mute state changes (#16893) 2026-02-03 10:59:28 +02:00
Calinteodor
481b9a6e58 feat(tracks): add/remove "ended" listener when screen sharing
* Listen to the MediaStreamTrack "ended" event so local screen-share state is toggled off when capture is terminated externally.
2026-01-19 16:07:59 +02:00
Mihaela Dumitru
4dd241712d feat(external-api) expose mute remote command and participant muted event (#16768) 2025-12-17 14:14:30 +02:00
Jaya Allamsetty
77ab1ea8ed fix(large-video) Fix auto-pinning of SS in large meetings. (#16773)
Fix(large-video) Fox auto pinning of screenshare in large meetings
2025-12-16 15:09:58 -05:00
srijan
048d12de24 feat(logging): replace console.* with centralized logger infrastructure (#16655)
* feat(logging): replace console.* with centralized logger infrastructure

* fix(logging): remove logger from size-constrained bundles
2025-11-19 18:31:35 -06:00
Дамян Минков
1aca8ab985 feat(dialog): Adds name to all dialogs. (#16626)
* feat(dialog): Adds name to all dialogs.

The name is used for debugging purposes to be added to logs.

* squash: Drop empty string.
2025-11-06 09:49:30 -06:00
Hugo Lavernhe
b29e48d471 fix(settings): Prevent enabling audio processing settings and stereo at the same time.
* Prevent enabling audio processing settings and stereo at the same time
2025-10-28 14:35:25 -04:00
Jaya Allamsetty
8f0b9575c4 ref(logging) Rename logger ids to facilitate proper filtering of logs. 2025-09-16 22:45:59 -04:00
Hugo Lavernhe
1e15d9421b feat(settings) Add advanced audio settings checkboxes (#16316)
* Add checkboxes to toggle audio settings

* Sync checkboxes with audio mixer effect

* Add tooltips

* Move previewAudioTrack to redux

* Add translation

* Add audio settings state to redux

* Update docs

* Apply review comments

* Create local track with audio contraints when unmuting

* Refactor functions and naming

* Add enableAdvancedAudioSettings config

* Fix mobile imports

* Add tooltips content

* Update react/features/base/config/functions.any.ts

* Layout checkboxes in a two-column grid

* Fix web imports

* Sort translation alphabetically

* Separate audio mute implementation for mobile and web

* Apply review comments

* squash: Add imports for middleware.any

* squash: fix linter errors

* Remove tooltips

* Lint

* Refactored setting of audio constraints in createLocalTracksF with checks for feature flag and desktop

---------

Co-authored-by: Jaya Allamsetty <54324652+jallamsetty1@users.noreply.github.com>
Co-authored-by: Jaya Allamsetty <jaya.allamsetty@8x8.com>
2025-09-05 16:52:35 -04:00
Saúl Ibarra Corretgé
2305ae85a0 feat(av-moderation) implement screen-sharing moderation 2025-07-11 16:00:45 +02:00
Jaya Allamsetty
51ba5d31aa fix(tracks) Log when the MediaStream becomes 'inactive' 2025-06-12 13:57:54 -04:00
Mihaela Dumitru
ecf9bee7d0 fix(recordings) create missing local tracks when unmuting after consent (#16119)
* fix(recordings) create missing local tracks when unmuting after consent

* fix(conference) Avoid creating duplicate tracks on unmute

* squash: Ignore TS linter error

---------

Co-authored-by: Jaya Allamsetty <jaya.allamsetty@8x8.com>
2025-06-09 16:44:24 -04:00
Saúl Ibarra Corretgé
a63a344f6e fix(tracks) fix toggleCamera on mobile web browsers
Mobile web browsers may not allow opening multiple cameras at the same
time, this is a limitation coming from the underlying paltform. As such,
avoid createing a new track before we have disposed the previous one.

This does introduce a _slight_ fade to back effect, but the alternative
is an exception, so I'll take it! To make matters worse, this is not
necessarily a problem with all devices. It has been observed in a
Samsung S24, at least.
2025-03-10 15:35:52 +01:00
Jaya Allamsetty
db4ab34ddf fix(tracks) Replace the tracks directly on camera toggle.
Fixes an issue where p2p peer stops rendering remote video when the mobile client toggles camera. This happens only when the peer starts video muted.
2025-02-13 11:37:22 -05:00
Saúl Ibarra Corretgé
ff656f4e6b fix(tracks) don't throw if creating a desktop track fails
There is nobody to catch it and we already show the error as a
notification.
2025-02-13 12:12:19 +01:00
damencho
0387cdc888 feat(notifications): Make all error notifications sticky.
There are many cases where the error disappears and users easily miss the information.
2025-02-10 06:17:50 -06:00
Saúl Ibarra Corretgé
b3ee8fe127 feat(rn) implement startSilent
Technically, on Android, the audio mode is configured but no audio is
played. Since the configured audio mode matches what we expect from a
calling app (what we support to coexist with) this is enough to not
create audio disruptions.
2025-01-23 14:45:22 +01:00
Hristo Terezov
35554533d1 fix(config): Document desktopSharingSources and improve types 2025-01-16 12:44:51 -06:00
Hristo Terezov
2e43706a4a fix(config): Remove unused options.
firefox_fake_device
enableAutomaticUrlCopy
fileRecordingsEnabled
disableHPF
2025-01-16 12:44:51 -06:00
luzpaz
30595584a3 chore(typos) fix various typos
Found via `codespell -q 3 -S "*.svg,./lang" -L anser,bu,dialin,goup,miliseconds,nd,vew`
2024-12-20 07:58:31 +01:00
Jaya Allamsetty
c9add0a9ef ref(tracks) Remove gUM option that is no longer supported 2024-12-16 22:41:54 -05:00
Calin-Teodor
3834f1e99c feat(base/tracks): removed pip limitation while screensharing 2024-12-06 14:31:20 +02:00
Hristo Terezov
61a0247f30 feat(metrics): related to conference.init execution.
Adds logs and analytics events with time measurements for the different stages of conference.init execution.
2024-10-31 14:09:10 -05:00
Saúl Ibarra Corretgé
3fb968b3cb feat(rn,screen-sharing) allow sharing the screen and camera on mobile (#15236)
* feat(rn,screen-sharing) allow sharing the screen and camera on mobile

With the advancements in layer suspension it should now be ok to do.
Users can still mute the camera themselves if they so desire.

Having the camera enabled while in the background is a separate effort.
2024-10-30 15:11:09 +02:00
Avram Tudor
15ddf04189 fix: correct inconsistencies between disableLocalVideoFlip flag and UI (#15101)
Some parts of the ui still showed the setting for flipping the video, even if the flag indicated otherwise
Also fixes the case where setting a virtual background ignores the stored localFlipX setting
2024-09-09 11:44:06 +03:00
Saúl Ibarra Corretgé
b35200648c feat(deps) replace lodash with lodash-es
The latter supports tree-shaking and we don't need to embed the whole
500KB of lodash.
2024-08-12 10:34:44 +02:00
Hristo Terezov
2514617417 fix: Make all middleware functions sync.
Some middleware functions are declared as async. This wraps next(action) in Promise which will delay the execution of actions and also dispatch will return the its result always as a Promise.
2024-07-25 07:17:16 -05:00
Mengyuan Liu
1376f5909c feat(raise-hand) add ability for the moderator to lower hands 2024-07-16 22:52:16 +02:00
Jaya Allamsetty
07e46b9399 fix(tracks): Update the codec for local tracks in redux.
Also add helper functions for torture tests.
2024-06-13 09:07:37 -04:00
Hristo Terezov
daa840564c fix(createAndAddInitialAVTracks): async/await logic. 2024-05-07 18:35:05 -05:00
Hristo Terezov
2cdf77272c feat(createInitialAVTracks): Improve handling/displaying errors. 2024-05-07 18:35:05 -05:00
Hristo Terezov
53299a19c2 fix(visitors): Use single GUM for enabling media on promotion.
Before we were using setAudioMuted and setVideoMuted which was effectively using separate GUM calls for audio and video. This was problematic in the case where GUM permissions prompt was displayed because two separate prompts were displayed.
2024-05-07 18:35:05 -05:00
Jaya Allamsetty
f995eb2698 fix(tracks): Remove code that handles TRACK_OWNER_CHANGED event. (#14652) 2024-04-25 06:28:45 -04:00
Calinteodor
6a3c12b316 feat(android): fix screen sharing for android 14 (#14419)
* feat(android): media projection is now done through react native webrtc
2024-02-29 16:34:24 +02:00
Calinteodor
e82fc480f0 feat(tracks): disable pip in screen-share based on flag value (#14413)
* feat(tracks): disable pip in screen-share based on flag value
2024-02-27 14:59:55 +02:00
Calinteodor
a98eef7eb3 feat(android): fixed screen sharing for Android 33 (#14359)
* feat(android): fixed screen sharing for Android 33
2024-02-13 12:33:37 +02:00
Saúl Ibarra Corretgé
f8cef330f7 feat(android) set target SDK to 34 (#14129)
* feat(android) set target SDK to 34 and fixed mediaProjection service type
2024-01-19 16:52:39 +02:00
Jaya Allamsetty
9ae5677c00 fix: Make multi-stream mode the default mode.
Since plan-b mode will no longer be supported, check for unified plan support is not needed anymore.
2024-01-16 12:17:10 -05:00
Horatiu Muresan
d7dadfc157 feat(facing-mode) add config for initial camera facing mode (#14013) 2023-11-02 16:20:38 +02:00
Hristo Terezov
0becc890d8 feat(track-state): Log on add/remove/mute/owner. 2023-10-11 16:39:06 -05:00
Hristo Terezov
a1ce6f1ce5 fed(UI): remove UI.setAudioMuted 2023-10-11 16:39:06 -05:00
Pontus Fagerström
3858a40c1c fix(doc): fix typo in jsdoc comment 2023-08-17 11:21:20 +02:00
Horatiu Muresan
c19d91a373 feat(external-api) add command for setting camera facing mode (#13541)
- added command for setting the camera facing mode remotely
- enhanced toggleVideo command to optionally accept the facing mode
- fix(startSilent) do not create audio track when start silent
2023-08-17 09:47:48 +03:00
Andrei Gavrilescu
309f23ba94 feat(noise-suppression): persist noise suppression setting (#13593)
* persist noise suppression setting

* address code review
2023-07-25 10:57:01 +03:00
Дамян Минков
bc23f9cd33 feat: Drops connection on prejoin screen. (#13538)
* feat: Drops connection on prejoin screen.

Refactors connection logic to reuse already existing logic from mobile. Connection is now established just before joining the room.
Fixes some authentication logic with Login and Logout button in Profile tab.

* squash: Drops createInitialLocalTracksAndConnect as it no longer connects.

* squash: Shows an error on mobile and redirects to default.

* squash: Fixes review comments.

* squash: Fixes joining with prejoin disabled.

* squash: Fixes adding initial local tracks.

* squash: Fixes comments.

* squash: Drop no longer used method.

* squash: Fixes old web code imported into mobile builds.

* squash: Drop unused prop.

* squash: Drops recoverable flag on REDIRECT.

* squash: Drops unused variable and fix connection access.

* squash: Xmpp connect returns promise again.

* squash: Execute xmpp connect and creating local tracks in parallel.

* squash: Moves notification about problem jwt.

* squash: Moves startConference to conference.js for the no prejoin case.

And move the startConference in prejoin feature for the prejoin case.

* squash: Fix passing filtered tracks when starting conference with no prejoin.

* squash: Fix clearing listeners on connection established.

Keeps mobile behaviour after merging web and mobile.

* squash: Drops unused code.
2023-07-15 17:33:26 -05:00
Robert Pintilii
d0f9231603 fix(moderation) Show Screensharing blocked notification (#13433)
When video moderation is on and the participant tries to share their screen show a notification saying the screen sharing is blocked
2023-06-08 11:52:36 +03:00
Hristo Terezov
bb7ae777b0 feat(unmute/track creation): pending indicator. 2023-06-01 14:07:56 -05:00
Robert Pintilii
ae281e9935 ref(TS) Improve TS (#13370)
Use correct types for action, dispatch and getState
2023-05-22 09:54:11 +03:00
Robert Pintilii
65248d7d29 chore(deps) Upgrade TS (#13331)
Upgrade typescript related packages
Fix new errors and warnings
2023-05-09 15:39:31 +03:00
Robert Pintilii
a22db037c7 ref(TS) Improve TS (#13282)
Remove unnecessary @ts-ignores
Use @ts-expect-error instead of @ts-ignore for external dependencies
2023-05-09 11:05:11 +03:00