fix(kefu): avoid chat control hydration mismatch

This commit is contained in:
mlogclub
2026-05-06 17:37:57 +08:00
parent bdf9bd64f6
commit c1f4f74244
+5 -1
View File
@@ -85,7 +85,7 @@ export function KefuChatShell() {
useKefuSystemTheme()
const messageListRef = useRef<KefuMessageListHandle | null>(null)
const [isEmbedded] = useState(() => isEmbeddedInHost())
const [isEmbedded, setIsEmbedded] = useState(false)
const [isMaximized, setIsMaximized] = useState(false)
const [isCloseDialogOpen, setIsCloseDialogOpen] = useState(false)
const [isClosingConversation, setIsClosingConversation] = useState(false)
@@ -142,6 +142,10 @@ export function KefuChatShell() {
)
const safeMessages = Array.isArray(messages) ? messages : []
useEffect(() => {
setIsEmbedded(isEmbeddedInHost())
}, [])
const maybeMarkConversationRead = useCallback(() => {
if (!isVisible || !conversation || typeof document === "undefined") {
return