From 83ac61e2a12c1d0a3e214d9ff83226266e732d71 Mon Sep 17 00:00:00 2001 From: Bohan Jiang <52446949+Bohan-J@users.noreply.github.com> Date: Sat, 6 Jun 2026 23:04:49 +0800 Subject: [PATCH] fix(mobile): border + className passthrough on WorkspaceAvatar logo branch (#3849) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The logo (resolved avatar_url) branch was missing the border the fallback tile and web's carry, and didn't thread the className prop. NativeWind has no cssInterop for expo-image, so className/border on is silently dropped — wrap the logo in an overflow-hidden View that carries border border-border + className (the same pattern lib/markdown/markdown-image.tsx uses to border/round an expo-image). Both branches now match web parity. Follow-up to #3839. MUL-3096 Co-authored-by: J Co-authored-by: multica-agent --- .../components/workspace/workspace-avatar.tsx | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/apps/mobile/components/workspace/workspace-avatar.tsx b/apps/mobile/components/workspace/workspace-avatar.tsx index 9b135b4f6..f6cb60f5b 100644 --- a/apps/mobile/components/workspace/workspace-avatar.tsx +++ b/apps/mobile/components/workspace/workspace-avatar.tsx @@ -9,6 +9,14 @@ * core's resolvePublicFileUrl — because avatar_url comes back as a server- * relative path on self-hosted backends without a CDN signer, which RN's * can't load without an absolute origin. + * + * Both branches render a `border border-border` tile and thread `className` + * through, matching web's / (both carry `border` + `className`). + * The logo sits inside an overflow-hidden View rather than styling the + * directly: NativeWind has no cssInterop for expo-image, so + * className/border utilities are silently dropped on . The wrapper + * View is how the rest of the app borders/rounds an expo-image — see + * lib/markdown/markdown-image.tsx. */ import { View } from "react-native"; import { Image as ExpoImage } from "expo-image"; @@ -32,12 +40,17 @@ export function WorkspaceAvatar({ if (resolved) { return ( - + > + + ); }