Commit graph

26 commits

Author SHA1 Message Date
Christopher Poile
c90ace706c
MM-49970 - Calls: Call quality status banner (#7304)
* use mean opinion score detection; add call quality alert bar; tests

* rename MessageBar's file to message_bar

* i18n

* use mosThreshold from calls-common; upgrade calls-common

* use callsBg for text and icon
2023-05-04 15:28:15 -04:00
Christopher Poile
c1430757b8
MM-51776 - Calls: Audio device selections, & fix bluetooth (#7286)
* ask for bluetooth permissions on Android

* new "switch audio device button" for Android

* i18n strings

* split audio_device_button into platform-specific files; PR comments

* earpiece -> phone

* add comments to clarify speakerphone logic

* update snapshots

* add new compass-icons; use tablet and bluetooth icons; add tablet mode

* fix lint
2023-04-27 11:44:14 -04:00
Christopher Poile
e6254885ee
MM-43737 - Calls: Follow call thread on user joining a call (#7293)
* follow threads on call join

* treat custom_calls posts as the start of threads

* make thread follow logic robust to race conditions; tests

* only follow thread when CRT is enabled

* Revert "only follow thread when CRT is enabled"

This reverts commit 4e52a2619b35db3d2104f0b6ba5ad8be23f7b224.
2023-04-26 15:20:07 -04:00
Elias Nahum
784b05fe97
Upgrade Dependencies (#7299)
* upgrade reanimated

* update devDependencies

* upgrade react-intl

* update react-native and some dependencies

* update react-native-permissions

* update RN

* use Share sheet for Report a problem

* update Sentry

* remove step to downloadWebRTC

* update detox deps

* feedback review
2023-04-21 12:16:54 -04:00
Christopher Poile
c0cb14e927
MM-50010 - Share common calls code between web and mobile (#7211)
* use calls/common rtcpeer; @calls -> @mmcalls

* gitpkg -> standalone github calls-common package

* use new mattermost/calls-common repo; add types to WebSocketMessages

* mmcalls/common -> mattermost/calls; use a version tag
2023-03-21 09:18:45 -04:00
Christopher Poile
c03758f549
clear screensharing state if current screensharer leaves call (#7213) 2023-03-20 10:02:58 -03:00
Christopher Poile
bdaba41df1
MM-51226 - Calls: Emojis not showing in reaction stream (#7198) 2023-03-10 14:07:34 -05:00
Christopher Poile
03fe46f229
MM-48605: Calls - Fix for start time in join call banner is incorrect (#7095)
* "fix" the wrong start time

* cleanup unused field
2023-02-08 09:25:41 -05:00
Claudio Costa
ab50164d34
[MM-49996] Add /call recording slash command (#7062)
* Add  slash command

* Fix alert

* Implement alert for recording errors

* Default locked
2023-02-06 21:14:22 -06:00
Elias Nahum
7aa5bd0611
Update Dependencies and bug fixes (#7000)
* update dependencies

* update dependencies

* feedback review

* update @mattermost/react-native-turbo-mailer
2023-01-24 09:14:23 +02:00
Christopher Poile
eae0a15b16
MM-48753 - Calls: GA requirements (#6814)
* calls GA requirements

* clarifying comments; simplify ephemeral message (move it to the server)
2022-12-02 11:34:37 -05:00
Christopher Poile
0f8798ca55
MM-48611 - Calls: Calls recording host controls and UI (#6787)
* implement recording permissions and UI

* fix bug when refusing recording while in call thread from call screen

* host controls and UI for recording

* button tweak, and fixing a i18n string issue

* PR comment

* backwards compat & don't show rec controls if not enabled
2022-11-30 11:20:00 -05:00
Christopher Poile
6660c134f5
MM-48072 - Calls: Implement recording permissions and UI for participants (#6784)
* implement recording permissions and UI

* fix bug when refusing recording while in call thread from call screen

* merge conflicts
2022-11-30 10:15:20 -05:00
Christopher Poile
a300cc651e
MM-48286 - Calls: Emoji reactions, display incoming reactions (#6780) 2022-11-25 12:21:45 +01:00
Christopher Poile
7038a17ef4
MM-48000: Call started in another client creates a CurrentCall on mobile client (#6708)
* move creating/leaving currentCall into the connection; refactoring

* refactoring; two-stage connecting so existing screen stream can be saved

* better separation of concerns

* change warning to debug

* use getServerDatabase instead of getActiveServerDatabase

* fix bugs

* PR comments
2022-11-08 14:45:10 -05:00
Christopher Poile
8374d7e87f
MM-47004 - Calls: Client-side errors for microphone permissions (#6669)
* call error bar for microphone permissions; global permissions state

* i18n

* refactor permissionErrorBar component, PR comments

* add module dependency's mocks for tests

* fix error bar height

* change permissions error text

* working on 46999 redo audio handling -- will revert

* Revert "working on 46999 redo audio handling -- will revert"

This reverts commit 87bafc452c6ad6e1d7ae79ce78a0f2b461c2f150.

* only get voice track when we have mic permissions

* Android: enable mic when permissions are granted
2022-11-08 10:52:52 -05:00
Christopher Poile
7f5dc3c718
MM-47763 - Calls: "who is speaking" state (#6721)
* move voiceOn to the currentCall state

* simplify

* prefer no inline fns
2022-11-07 17:11:40 -05:00
Christopher Poile
e38e547ce2
MM-45972 - Calls: test ws messages when app is in background (#6720)
* update current call on reconnect

* move loadConfigAndCalls above deferredAppEntryActions
2022-11-07 16:29:59 -05:00
Christopher Poile
681b6b0b0f
MM-47003 - Calls - Fix for: peer connection timeout (#6658)
* force negotiation

* fix message bug

* remove forced negotiation
2022-10-03 13:12:02 -04:00
Christopher Poile
d30b97ba99
MM-45747 - Cloud freemium limits & Max participants limits (#6578) 2022-08-20 08:57:14 -04:00
Christopher Poile
6e3b2c2bd9
fix reconnect state; correct new channel state (#6574) 2022-08-12 16:02:04 -04:00
Christopher Poile
59c03b7b36
move currentCall creation into userJoined event (#6571) 2022-08-12 09:50:19 -04:00
Claudio Costa
c71b28a6a8
[MM-45749] Support for advanced ICE server configs and TURN credentials (#6544)
* Support for advanced ICE server configs and TURN credentials

* PR comments

* merge conflicts

Co-authored-by: Christopher Poile <cpoile@gmail.com>
2022-08-10 12:33:02 -04:00
Christopher Poile
f61ea842af
MM-45746 - Handle call_end ws event and '/call end' slash command (#6542) 2022-08-05 07:39:10 -04:00
Christopher Poile
17dbfdcb99
MM-45745 - Calls channel info screen options (#6502)
* implement calls_channel_info; joinCall refactoring

* i18n

* Start/Join call as top button; movable copy channel link button

* MM-45971 - Calls v2 PR comments (#6514)

* don't clobber config if api req failed

* combine two loops into one

* update dependencies

* fetch user model on user connected

* fix state exports; spacing; unneeded field in ServerConfig type

* remove useless return in websocket handler

* constant sorting

* move microphone permission request to leave_and_join_alert

* ServerConfig -> ServerCallsConfig

* console.log -> logError

* ternary -> Platform.select

* merge conflicts

* add destructive options to OptionBox; require DismissChannelInfo fn

* add CopyLink option to quick actions list

* showSnackBar on link copied

* adjust quick_options_height

* Screens.Call

* fix CopyLink spacing

* fix observeUsersById, observe needed columns; fix JoinCallBanner mount

* optimized observables; bug fixes

* remove unneeded `return null`

* PR comments

* readable-stream -> 3.6.0

* merge conflicts

* PR comments
2022-07-29 11:10:32 -04:00
Christopher Poile
5bb240dec8
MM-43300: Calls v2 first cut (#6475)
* Android and iOS requirements

* external types

* babel config for calls, package.json for calls dependencies

* state in rxJS; tests

* actions, client/rest, websocket events, constants

* webrtc connection logic

* calls components / screens

* handle peer destroyed gracefully

* PR comments

* remove ViewPropTypes from mocks; no need to ignore error in LogBox

* calls.d.ts -> calls.ts; i18-extract

* @app/products/calls -> @calls

* PR comments; test cleanup

* Revert "remove ViewPropTypes from mocks; no need to ignore error in LogBox"

This reverts commit f9bd171a544de9c02da8387455f904b3840fc5dc.

* working on typing withServerUrl

* added exportedForInternalUse instead of commenting "internal export"

* better switchToThread in call_screen

* i18n

* typed withServerUrl
2022-07-22 15:57:12 -04:00