Say when a call was answered from a different device (#10224)

* Say when a call was answered from a different device

* Adjust font size on call tiles to match designs
pull/28788/head^2
Robin 2023-02-24 09:45:53 -05:00 committed by GitHub
parent 73de53468a
commit 4c79ecf141
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 2 deletions

View File

@ -160,6 +160,7 @@ limitations under the License.
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
color: $secondary-content; color: $secondary-content;
font-size: $font-12px;
gap: $spacing-12; /* See mx_IncomingLegacyCallToast_buttons */ gap: $spacing-12; /* See mx_IncomingLegacyCallToast_buttons */
margin-inline-start: 42px; /* avatar (32px) + mx_LegacyCallEvent_info_basic margin (10px) */ margin-inline-start: 42px; /* avatar (32px) + mx_LegacyCallEvent_info_basic margin (10px) */
word-break: break-word; word-break: break-word;
@ -168,6 +169,7 @@ limitations under the License.
.mx_LegacyCallEvent_content_button { .mx_LegacyCallEvent_content_button {
@mixin LegacyCallButton; @mixin LegacyCallButton;
padding: 0 $spacing-12; padding: 0 $spacing-12;
font-size: inherit;
span::before { span::before {
mask-size: 16px; mask-size: 16px;

View File

@ -72,7 +72,7 @@ export function buildLegacyCallEventGroupers(
export default class LegacyCallEventGrouper extends EventEmitter { export default class LegacyCallEventGrouper extends EventEmitter {
private events: Set<MatrixEvent> = new Set<MatrixEvent>(); private events: Set<MatrixEvent> = new Set<MatrixEvent>();
private call: MatrixCall; private call: MatrixCall | null = null;
public state: CallState | CustomCallState; public state: CallState | CustomCallState;
public constructor() { public constructor() {
@ -111,7 +111,7 @@ export default class LegacyCallEventGrouper extends EventEmitter {
} }
public get hangupReason(): string | null { public get hangupReason(): string | null {
return this.hangup?.getContent()?.reason; return this.call?.hangupReason ?? this.hangup?.getContent()?.reason ?? null;
} }
public get rejectParty(): string { public get rejectParty(): string {

View File

@ -191,6 +191,13 @@ export default class LegacyCallEvent extends React.PureComponent<IProps, IState>
{this.props.timestamp} {this.props.timestamp}
</div> </div>
); );
} else if (hangupReason === CallErrorCode.AnsweredElsewhere) {
return (
<div className="mx_LegacyCallEvent_content">
{_t("Answered elsewhere")}
{this.props.timestamp}
</div>
);
} }
let reason; let reason;

View File

@ -2351,6 +2351,7 @@
"Call declined": "Call declined", "Call declined": "Call declined",
"Call back": "Call back", "Call back": "Call back",
"No answer": "No answer", "No answer": "No answer",
"Answered elsewhere": "Answered elsewhere",
"Could not connect media": "Could not connect media", "Could not connect media": "Could not connect media",
"Connection failed": "Connection failed", "Connection failed": "Connection failed",
"Their device couldn't start the camera or microphone": "Their device couldn't start the camera or microphone", "Their device couldn't start the camera or microphone": "Their device couldn't start the camera or microphone",