diff --git a/src/matrix/calls/group/GroupCall.ts b/src/matrix/calls/group/GroupCall.ts index 0b8c7db5..6407584a 100644 --- a/src/matrix/calls/group/GroupCall.ts +++ b/src/matrix/calls/group/GroupCall.ts @@ -140,7 +140,7 @@ export class GroupCall extends EventEmitter<{change: never}> { get members(): BaseObservableMap { return this._members; } get isTerminated(): boolean { - return this.callContent?.["m.terminated"] === true; + return !!this.callContent?.["m.terminated"]; } get isRinging(): boolean { @@ -286,7 +286,7 @@ export class GroupCall extends EventEmitter<{change: never}> { const request = this.options.hsApi.sendState(this.roomId, EventType.GroupCallMember, this.options.ownUserId, memberContent, {log}); await request.response(); // our own user isn't included in members, so not in the count - if (this.intent === CallIntent.Ring && this._members.size === 0) { + if ((this.intent === CallIntent.Ring || this.intent === CallIntent.Prompt) && this._members.size === 0) { await this.terminate(log); } } else { diff --git a/src/platform/web/ui/css/themes/element/call.css b/src/platform/web/ui/css/themes/element/call.css index c0f1550e..3efe3c56 100644 --- a/src/platform/web/ui/css/themes/element/call.css +++ b/src/platform/web/ui/css/themes/element/call.css @@ -25,11 +25,13 @@ limitations under the License. } .CallView_error { - color: red; - font-weight: bold; align-self: start; justify-self: center; margin: 16px; + /** Chrome (v100) requires this to make the buttons clickable + * where they overlap with the video element, even though + * the buttons come later in the DOM. */ + z-index: 1; } .CallView_members {