From 9f8a4ffa9057a57a92176d6c26cab07f885f48ca Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Mon, 23 Mar 2026 21:12:06 +0100 Subject: [PATCH] fix: prevent native text selection on mobile long-press iOS triggered both the app context menu and native text selection overlay on long-press. Three-layer fix: CSS user-select:none on buttons/[role=button]/ [data-context-menu] elements; non-passive touchstart listener with conditional preventDefault on context-menu targets; removeAllRanges() at timer fire to clear any residual selection. Added data-context-menu to all mobile surfaces that use onContextMenu handlers. --- packages/web/src/components/chat/Message.tsx | 3 ++- packages/web/src/components/layout/MobileDmsScreen.tsx | 1 + packages/web/src/components/layout/MobileFolderSheet.tsx | 2 +- .../web/src/components/layout/MobileSpacesScreen.tsx | 2 ++ .../web/src/components/layout/MobileVoiceFullScreen.tsx | 1 + packages/web/src/components/ui/ContextMenuRenderer.tsx | 6 +++++- packages/web/src/styles/globals.css | 9 +++++++-- 7 files changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/web/src/components/chat/Message.tsx b/packages/web/src/components/chat/Message.tsx index a8a309cf..56dabc79 100644 --- a/packages/web/src/components/chat/Message.tsx +++ b/packages/web/src/components/chat/Message.tsx @@ -224,6 +224,7 @@ export function Message({ message, isCompact, isFirstInGroup, previousMessageId const ownerId = spaces.find(s => s.id === currentSpaceId)?.ownerId; const getMemberDisplayColor = (userId: string) => { + if (isDmMessage) return { color: '#d8d8de' }; const member = members.find(m => m.userId === userId); if (member?.roles && member.roles.length > 0) { const sorted = [...member.roles].sort((a, b) => b.position - a.position); @@ -524,7 +525,7 @@ export function Message({ message, isCompact, isFirstInGroup, previousMessageId ); return ( -
+
{content}
); diff --git a/packages/web/src/components/layout/MobileDmsScreen.tsx b/packages/web/src/components/layout/MobileDmsScreen.tsx index 5a3c8090..49fbca1e 100644 --- a/packages/web/src/components/layout/MobileDmsScreen.tsx +++ b/packages/web/src/components/layout/MobileDmsScreen.tsx @@ -165,6 +165,7 @@ export function MobileDmsScreen() { return (