Better exception handling for getDomain

This commit is contained in:
Fedor Indutny 2024-09-09 14:00:21 -07:00 committed by GitHub
parent 9efb046a06
commit 319890d138
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 21 additions and 9 deletions

View file

@ -9,7 +9,7 @@ import type { LinkPreviewType } from '../types/message/LinkPreviews';
import type { LocalizerType } from '../types/Util';
import { CurveType, Image } from './conversation/Image';
import { isImageAttachment } from '../types/Attachment';
import { getDomain } from '../types/LinkPreview';
import { getSafeDomain } from '../types/LinkPreview';
export type Props = LinkPreviewType & {
forceCompactMode?: boolean;
@ -26,7 +26,7 @@ export function StoryLinkPreview({
url,
}: Props): JSX.Element {
const isImage = isImageAttachment(image);
const location = domain || getDomain(String(url));
const location = domain || getSafeDomain(String(url));
const isCompact = forceCompactMode || !image;
let content: JSX.Element | undefined;
@ -74,7 +74,7 @@ export function StoryLinkPreview({
<div className="StoryLinkPreview__icon-container">
<Image
alt={i18n('icu:stagedPreviewThumbnail', {
domain: location,
domain: location || '',
})}
attachment={image}
curveBottomLeft={CurveType.Tiny}

View file

@ -12,7 +12,7 @@ import { Emojify } from './conversation/Emojify';
import { StoryLinkPreview } from './StoryLinkPreview';
import { TextAttachmentStyleType } from '../types/Attachment';
import { count } from '../util/grapheme';
import { getDomain } from '../types/LinkPreview';
import { getSafeDomain } from '../types/LinkPreview';
import { getFontNameByTextScript } from '../util/getFontNameByTextScript';
import {
COLOR_WHITE_INT,
@ -295,7 +295,7 @@ export const TextAttachment = forwardRef<HTMLTextAreaElement, PropsType>(
)}
<StoryLinkPreview
{...textAttachment.preview}
domain={getDomain(String(textAttachment.preview.url))}
domain={getSafeDomain(String(textAttachment.preview.url))}
forceCompactMode={getTextSize(textContent) !== TextSize.Large}
i18n={i18n}
title={textAttachment.preview.title || undefined}