diff --git a/res/css/views/voip/_CallView.scss b/res/css/views/voip/_CallView.scss index d5e58c94c5..57806470a1 100644 --- a/res/css/views/voip/_CallView.scss +++ b/res/css/views/voip/_CallView.scss @@ -58,8 +58,8 @@ limitations under the License. &::after { position: absolute; content: ''; - width: 20px; - height: 20px; + width: 40px; + height: 40px; top: 50%; left: 50%; transform: translate(-50%, -50%); @@ -67,6 +67,10 @@ limitations under the License. background-position: center; background-size: cover; } + .mx_CallView_pip &::after { + width: 30px; + height: 30px; + } } .mx_BaseAvatar { filter: blur(20px); @@ -75,8 +79,10 @@ limitations under the License. } .mx_CallView_voice_holdText { - height: 16px; + height: 20px; + padding-top: 10px; color: $accent-fg-color; + font-weight: bold; .mx_AccessibleButton_hasKind { padding: 0px; } @@ -124,14 +130,17 @@ limitations under the License. margin-left: auto; margin-right: auto; content: ''; - width: 20px; - height: 20px; + width: 40px; + height: 40px; background-image: url('$(res)/img/voip/paused.svg'); background-position: center; background-size: cover; } + .mx_CallView_pip &::before { + width: 30px; + height: 30px; + } .mx_AccessibleButton_hasKind { - display: block; padding: 0px; } } diff --git a/src/CallHandler.tsx b/src/CallHandler.tsx index 3be203ab98..544eb0851d 100644 --- a/src/CallHandler.tsx +++ b/src/CallHandler.tsx @@ -477,20 +477,18 @@ export default class CallHandler { break; case 'incoming_call': { - if (this.getAnyActiveCall()) { - // ignore multiple incoming calls. in future, we may want a line-1/line-2 setup. - // we avoid rejecting with "busy" in case the user wants to answer it on a different device. - // in future we could signal a "local busy" as a warning to the caller. - // see https://github.com/vector-im/vector-web/issues/1964 - return; - } - // if the runtime env doesn't do VoIP, stop here. if (!MatrixClientPeg.get().supportsVoip()) { return; } const call = payload.call as MatrixCall; + + if (this.getCallForRoom(call.roomId)) { + // ignore multiple incoming calls to the same room + return; + } + Analytics.trackEvent('voip', 'receiveCall', 'type', call.type); this.calls.set(call.roomId, call) this.setCallListeners(call);