Commit Graph

5383 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé
1ab7989a1a fix(file-sharing) fix computing file sharing percentage
Actually implement what the comment says: we want to cap the progress at
99% so we wait for the request to complete with 200 before going to
100%.
2025-06-27 16:34:10 +02:00
Calinteodor
b8c6c2381c dep(@amplitude): replace with web and native deps with new ones (#16169)
Replaced Amplitude related dependencies with https://github.com/amplitude/Amplitude-TypeScript
2025-06-27 15:39:33 +03:00
Avram Tudor
3f9202ce04 fix: hide chat controls and show disabled notice instead (#16168) 2025-06-26 17:49:48 +03:00
Avram Tudor
965b413d26 fix: hide create poll button rather than disabling it (#16167) 2025-06-26 15:32:29 +03:00
Avram Tudor
1cb2025951 fix: layout issue when only chat tab is visible (#16166) 2025-06-26 14:44:09 +03:00
Avram Tudor
4decb41a1e feat: allow private chats between users and moderators (#16165)
* fix context menu of a chat bubble containing the private message entry when private chat should be disabled
2025-06-26 14:43:54 +03:00
Calin-Teodor
2aaf0ed543 feat(base/config): remove customToolbarButtons warning 2025-06-19 13:05:34 +03:00
damencho
e280d1d963 feat(transcribing): Use invite jigasi option only when async transcriptions are enabled. 2025-06-17 15:51:52 -05:00
damencho
e5187de9c3 feat(file-sharing): Uses a filesharing management from ljm.
squash: Change the way we pass the list of files from the backend.

squash: Remove actions to sync local state with remote.
2025-06-17 15:51:41 -05:00
Andrei Gavrilescu
a4c20469cd feat(API): expose recording consent to external api (#16141)
* expose recording consent to api

* Update react/features/recording/actions.web.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-17 14:44:00 +03:00
Saúl Ibarra Corretgé
196fd455cd fix(rn,dynamic-branding) don't override payload
Otherwise we'll miss any new properties. We just keep the sanitization
of avatarBackgrounds, which mobile needs.
2025-06-17 12:30:54 +03:00
Calin-Teodor
e75bacae4a feat(toolbox): use the same name for screen share 2025-06-17 09:16:26 +03:00
damencho
a1634eb813 feat(iframeAPI): Fires transcribing events when subtitles are on. 2025-06-16 11:25:56 -05:00
Дамян Минков
494afde82a fix(config): Moves a property to dynamic branding. (#16138)
* fix(config): Moves a property to dynamic branding.

* squash: Remove unused.
2025-06-13 11:24:27 -05:00
Jaya Allamsetty
51ba5d31aa fix(tracks) Log when the MediaStream becomes 'inactive' 2025-06-12 13:57:54 -04:00
Дамян Минков
5f88b117ae fix(visitors): Fixes visitors count. (#16134)
* fix(visitors): Fixes visitors count.

* squash: Simplify logic with new function counting participants to display.
2025-06-11 12:51:33 -05:00
damencho
4500a5aba5 fix(conference): Handles promise rejection on conference failed.
For example when lobby is enabled.
2025-06-10 16:38:57 -05:00
Wilson Furtado
a39d8d35a2 feat(base/avatar): Update the avatar to show the first and last name letters rather than first and second name (#15732)
* Update the avatar to select first and last name rather than first and second
2025-06-10 16:47:48 +03:00
Calinteodor
6bc12766f9 feat(react-native-sdk): fixed missing dependencies (#16102)
* feat(react-native-sdk): fixed missing dependencies errors
2025-06-10 13:37:08 +03: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
Дамян Минков
f060ab9d26 feat(visitors): Updates buttons visible to visitors.
* feat(visitors): Allow participants pane button.

* feat(visitors): Do not count the local participant when in visitor mode.

* feat(visitors): Use same buttons on web and native.

* feat(visitors): Always show the visitors count.

It was shown only for the main participants.

* feat(visitors): Skips showing local in participants pane when visitor.
2025-06-05 16:44:47 -05:00
Saúl Ibarra Corretgé
be9e1136de fix(ts) apply import linting rules to TS files too 2025-06-04 22:04:36 +02:00
Дамян Минков
293b6fa908 feat(jwt): New option to control user info check. (#16115)
* feat(jwt): New option to control user info check.

* squash: Rename.
2025-06-04 08:07:42 -05:00
bgrozev
06713a4ffa fix: Handling inviteJigasiOnBackendTranscribing. (#16113)
* fix: Handling inviteJigasiOnBackendTranscribing.

* squash: Remove extra whitespace.
2025-06-03 19:42:36 -05:00
Дамян Минков
94813163e8 feat(jwt): Delay loading of avatar. (#16111)
* feat(jwt): Delay loading of avatar.

Only load avatar when jwt has been validated server-side (after connected). The drawback is not loading the avatar on pre-join page only the first time.

* squash: fix comments.
2025-06-03 13:59:29 -05:00
May
2f0ca6c839 fix(conference): show hours in duration instead of undefined 2025-06-03 09:30:19 -05:00
Jaya Allamsetty
dc73d1e328 feat(conference) force reload page on shard changes. 2025-05-30 10:05:05 -04:00
Дамян Минков
db4c9666c3 feat(transcribing): Switch state on audio-recording-enabled. (#16094)
* feat(transcribing): Switch state on audio-recording-enabled.

* squash: Simplifies check based on suggestion.
2025-05-30 08:15:05 -05:00
Дамян Минков
fa9aab953d feat(transcribing): Adds config to skip inviting jigasi on transcribing. (#16095)
* feat(transcribing): Adds config to skip inviting jigasi on transcribing.

* squash: Changes config value name.
2025-05-29 21:35:46 -05:00
damencho
c16f652378 feat(conference): Adds check for non-moderators dropping files anywhere. 2025-05-29 08:32:43 -05:00
damencho
6afbff9b36 feat(file-sharing): Uses short term token for operations. 2025-05-29 08:32:43 -05:00
damencho
c7b6af1df3 feat(file-sharing): Uses feature to determine is upload enabled. 2025-05-29 08:32:43 -05:00
zxshen
d370e79237 fix(chat): avoid emoji accidents when sending messages (#15854)
* fix(chat): avoid emoji accidents when send messages

* fix: resolve ESLint formatting issues

Signed-off-by: Zhenxing Shen <zxshen@amazon.com>

---------

Signed-off-by: Zhenxing Shen <zxshen@amazon.com>
2025-05-29 07:22:39 -05:00
Saúl Ibarra Corretgé
589baab2ae fix(local-recording) defend against out of order events
We have observed some failed recordings which are lacking the EBML
header. The only way in which that seems plausible is if the
dataavailable event is received while processing the stop event. This is
allegedly not possible, but it's the only plausible explanation, so
let's defend against that.

Extend the timeslice back to 5s too.
2025-05-28 10:43:33 -05:00
Oğuzhan Selim Temiz
85fe5cf31e chore(deps): replace moment.js with day.js for locale handling (#15875)
* chore(deps): replace moment.js with day.js for locale handling and 
pin day.js version to 1.11.13 in package-lock.json

---------

Co-authored-by: Calin-Teodor <calin.chitu@8x8.com>
2025-05-28 15:29:32 +03:00
Saúl Ibarra Corretgé
7fabb33733 feat(android,ios) drop support for Firebase Dynamic Links
It's being sunset in August, after being deprecated for 2 years.

Ref: https://firebase.google.com/support/dynamic-links-faq?utm_source=deprecation_msa&utm_medium=email&utm_campaign=pone
2025-05-28 09:57:23 +03:00
Calin-Teodor
deb0e36f84 fix(settings): trying to access getMetadata() of undefined 2025-05-27 17:45:36 +03:00
Calinteodor
337435e738 feat(conference): File sharing over conference (#16067)
* While making the file size limit configurable, we managed to have files dragged and dropped over the whole conference window.
2025-05-26 15:24:51 +03:00
Saúl Ibarra Corretgé
7ac43abd03 fix(file-sharing) fix handling undefined metadata 2025-05-23 10:32:42 -05:00
Hristo Terezov
67b44f4406 fix(CC): Disable when config.transcription.enable=false
Disable the new CC tab when transcription.enable flag is false in config.
2025-05-22 20:13:43 -05:00
Saúl Ibarra Corretgé
7f601db349 feat(build,config) disable config whitelist in dev mode
Webpack will replace the code so the added condition because `if (true)`
in dev mode, which helps when one wants to override anything for
testing.
2025-05-22 16:43:31 +02:00
Saúl Ibarra Corretgé
26423f8e76 fix(file-sharing) rework sync
Rework sync so uploading multiple files at once or several moderators
uploading files simultaneously doesn't break synchronization.

The current room metadata plugin operates on <key,value> pairs and we
were using a generic "files" key and using a nested object as our value.
Since with every operation the entire object is replaced it's easy to
get out of sync because one needs to be sure to have the full state
before overwriting it.

This is not realistic.

We'll look into making the metadata plugin more flexible in order to
support add / delete operations also on nested objects, but for the time
being the following will suffice:

Use a key prefix, so each file has en entry in the room metadata, like
so: "files.<the file ID> -> file metadata". This means that when a file
is deleted we just empty the metadata. The metadata plugin doesn't
currently support removing existing keys.
2025-05-22 12:18:12 +02:00
Calinteodor
392d694563 feat(file-sharing): added author display name (#16059)
* feat(file-sharing): added shared file/files author display name
2025-05-22 12:52:43 +03:00
daimoc
0085544a36 Fix lit error 2025-05-21 16:41:10 -05:00
daimoc
79cab9e7df Fix analytics loadscript call to match the new function signature 2025-05-21 16:41:10 -05:00
Zaid0412
1be9107ac7 Disable reactions in chat (#16029)
* feat: add disableReactionsInChat to config.js (default: false)

* fix: add override modifier to static contextType

Fixes #16028
2025-05-21 11:52:41 -05:00
Calin-Teodor
b213c445de feat(file-sharing): sort shared files 2025-05-21 15:39:22 +03:00
Calin-Teodor
05079e5480 feat(file-sharing): ui fixes 2025-05-21 10:44:07 +03:00
Saúl Ibarra Corretgé
b966796d0c fix(file-sharing) don't mark upload as complete until response
Stay at 99% completion while we wait for the final reply to the request.
2025-05-20 15:09:48 +02:00
Saúl Ibarra Corretgé
734ab449a6 fix(local-recordings) back to WebM format, fix duration
After a lot of back and forth, WebM seems to be the only option we
really have. In terms of containers and codecs, here is the rundown:

- WebM, any codec: the resulting file is not seekable
- MKV, any codec: the resulting file is not seekable
- MP4, vp9 + opus: video artifacts and audio clipping, file is seekable
- MP4, av1 + AAC: all good, but not supported on Linux :-/

MP4 looked very promising but there is no combination that leads to
something that works reliably everywhere, oh well. In addition, MP4
files can be opened with QuickTime on macOS, but not with the codec
combination we'd use, so that is somewhat a disadvantage.

So, we are back to where we started: WebM with VP8 and opus. But we need
to fix the duration in a potentially long file... the trick is to _only_
fix the duration. We can do that by inserting the right segment in the
metadata section. Something we cannot do without reading the whole file
is create cue points, but players like VLC seem to work well without
them.
2025-05-19 11:33:46 -05:00