| ... | @@ -28,7 +28,6 @@ import { | ... | @@ -28,7 +28,6 @@ import { |
| 28 | import { | 28 | import { |
| 29 | ActivityIndicator, | 29 | ActivityIndicator, |
| 30 | Image, | 30 | Image, |
| 31 | Linking, | | |
| 32 | Platform, | 31 | Platform, |
| 33 | type LayoutChangeEvent, | 32 | type LayoutChangeEvent, |
| 34 | type NativeScrollEvent, | 33 | type NativeScrollEvent, |
| ... | @@ -51,6 +50,7 @@ import { IOS_NAV_BAR_HEIGHT } from "../../lib/layoutMetrics"; | ... | @@ -51,6 +50,7 @@ import { IOS_NAV_BAR_HEIGHT } from "../../lib/layoutMetrics"; |
| 51 | import { useFontFamily } from "../../lib/useFontFamily"; | 50 | import { useFontFamily } from "../../lib/useFontFamily"; |
| 52 | import { scopedThreadKey } from "../../lib/scopedEntities"; | 51 | import { scopedThreadKey } from "../../lib/scopedEntities"; |
| 53 | import { copyTextWithHaptic } from "../../lib/copyTextWithHaptic"; | 52 | import { copyTextWithHaptic } from "../../lib/copyTextWithHaptic"; |
| | 53 | import { tryOpenExternalUrl } from "../../lib/openExternalUrl"; |
| 54 | import { hasWideMarkdownBlock } from "../../lib/wideMarkdownBlocks"; | 54 | import { hasWideMarkdownBlock } from "../../lib/wideMarkdownBlocks"; |
| 55 | import { | 55 | import { |
| 56 | hasNativeSelectableMarkdownText, | 56 | hasNativeSelectableMarkdownText, |
| ... | @@ -283,7 +283,7 @@ const MarkdownExternalLink = memo(function MarkdownExternalLink(props: { | ... | @@ -283,7 +283,7 @@ const MarkdownExternalLink = memo(function MarkdownExternalLink(props: { |
| 283 | <NativeText | 283 | <NativeText |
| 284 | className="font-sans" | 284 | className="font-sans" |
| 285 | onPress={() => { | 285 | onPress={() => { |
| 286 | void Linking.openURL(props.href); | 286 | void tryOpenExternalUrl(props.href, "markdown-link"); |
| 287 | }} | 287 | }} |
| 288 | style={{ | 288 | style={{ |
| 289 | color: props.color, | 289 | color: props.color, |
| ... | @@ -613,7 +613,7 @@ function useMarkdownStyles(onLinkPress: (href: string) => void): MarkdownStyleSe | ... | @@ -613,7 +613,7 @@ function useMarkdownStyles(onLinkPress: (href: string) => void): MarkdownStyleSe |
| 613 | onPress={ | 613 | onPress={ |
| 614 | linkHref | 614 | linkHref |
| 615 | ? () => { | 615 | ? () => { |
| 616 | void Linking.openURL(linkHref); | 616 | void tryOpenExternalUrl(linkHref, "markdown-link"); |
| 617 | } | 617 | } |
| 618 | : undefined | 618 | : undefined |
| 619 | } | 619 | } |
| ... | @@ -1436,7 +1436,7 @@ export const ThreadFeed = memo(function ThreadFeed(props: ThreadFeedProps) { | ... | @@ -1436,7 +1436,7 @@ export const ThreadFeed = memo(function ThreadFeed(props: ThreadFeedProps) { |
| 1436 | } | 1436 | } |
| 1437 | | 1437 | |
| 1438 | if (presentation.href) { | 1438 | if (presentation.href) { |
| 1439 | void Linking.openURL(presentation.href); | 1439 | void tryOpenExternalUrl(presentation.href, "markdown-link"); |
| 1440 | } | 1440 | } |
| 1441 | }, | 1441 | }, |
| 1442 | [props.environmentId, props.threadId, props.workspaceRoot, navigation], | 1442 | [props.environmentId, props.threadId, props.workspaceRoot, navigation], |