From 9d0776c8190b7375b8c26ca945e056688e14c2f9 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 25 Apr 2026 20:41:20 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Text-Auswahl=20in=20MessageText=20?= =?UTF-8?q?=E2=80=94=20selectable=20an=20alle=20nested=20Texts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Android-Eigenheit: bei nested Text-Komponenten muss selectable=true auch an die Kinder; der Wert auf dem Parent erbt sich nicht zuverlaessig. Plus: dataDetectorType="all" als Fallback fuer System-Linkifizierung, falls unsere Regex einen Match verpasst. suppressHighlighting=false damit Long-Press auf den Link-Texten den Selection-Mode nicht blockt. Co-Authored-By: Claude Opus 4.7 (1M context) --- android/src/components/MessageText.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/android/src/components/MessageText.tsx b/android/src/components/MessageText.tsx index 967f6be..41ec505 100644 --- a/android/src/components/MessageText.tsx +++ b/android/src/components/MessageText.tsx @@ -72,13 +72,28 @@ interface Props { const MessageText: React.FC = ({ text, style }) => { const segments = React.useMemo(() => tokenize(text), [text]); return ( - + {segments.map((seg, i) => { if (seg.kind === 'text') { - return {seg.text}; + return {seg.text}; } return ( - onPress(seg)}> + onPress(seg)} + // Long-Press soll an den Parent durch fuer Selection + onLongPress={undefined} + suppressHighlighting={false} + > {seg.text} );