Fix link preview for received call link previews without title
This commit is contained in:
parent
3e86bbb1ec
commit
a9406a7914
2 changed files with 24 additions and 18 deletions
|
@ -1188,6 +1188,16 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
const isFullSizeImage = shouldUseFullSizeLinkPreviewImage(first);
|
||||
|
||||
const linkPreviewDate = first.date || null;
|
||||
const title =
|
||||
first.title ||
|
||||
(first.isCallLink
|
||||
? i18n('icu:calling__call-link-default-title')
|
||||
: undefined);
|
||||
const description =
|
||||
first.description ||
|
||||
(first.isCallLink
|
||||
? i18n('icu:message--call-link-description')
|
||||
: undefined);
|
||||
|
||||
const isClickable = this.areLinksEnabled();
|
||||
|
||||
|
@ -1266,9 +1276,7 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
isMe={false}
|
||||
sharedGroupNames={[]}
|
||||
size={64}
|
||||
title={
|
||||
first.title ?? i18n('icu:calling__call-link-default-title')
|
||||
}
|
||||
title={title ?? i18n('icu:calling__call-link-default-title')}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
@ -1280,12 +1288,10 @@ export class Message extends React.PureComponent<Props, State> {
|
|||
: null
|
||||
)}
|
||||
>
|
||||
<div className="module-message__link-preview__title">
|
||||
{first.title}
|
||||
</div>
|
||||
{first.description && (
|
||||
<div className="module-message__link-preview__title">{title}</div>
|
||||
{description && (
|
||||
<div className="module-message__link-preview__description">
|
||||
{unescape(first.description)}
|
||||
{unescape(description)}
|
||||
</div>
|
||||
)}
|
||||
<div className="module-message__link-preview__footer">
|
||||
|
|
|
@ -1820,7 +1820,15 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
|
|||
const incomingPreview = dataMessage.preview || [];
|
||||
const preview = incomingPreview
|
||||
.map((item: LinkPreviewType) => {
|
||||
if (!item.image && !item.title) {
|
||||
if (LinkPreview.isCallLink(item.url)) {
|
||||
return {
|
||||
...item,
|
||||
isCallLink: true,
|
||||
callLinkRoomId: getRoomIdFromCallLink(item.url),
|
||||
};
|
||||
}
|
||||
|
||||
if (!item.image || !item.title) {
|
||||
return null;
|
||||
}
|
||||
// Story link previews don't have to correspond to links in the
|
||||
|
@ -1835,21 +1843,13 @@ export class MessageModel extends window.Backbone.Model<MessageAttributesType> {
|
|||
return undefined;
|
||||
}
|
||||
|
||||
if (LinkPreview.isCallLink(item.url)) {
|
||||
return {
|
||||
...item,
|
||||
isCallLink: true,
|
||||
callLinkRoomId: getRoomIdFromCallLink(item.url),
|
||||
};
|
||||
}
|
||||
|
||||
return item;
|
||||
})
|
||||
.filter(isNotNil);
|
||||
if (preview.length < incomingPreview.length) {
|
||||
log.info(
|
||||
`${message.idForLogging()}: Eliminated ${
|
||||
preview.length - incomingPreview.length
|
||||
incomingPreview.length - preview.length
|
||||
} previews with invalid urls'`
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue