revert(dashboard): undo imperative visualViewport write in ChatView

The imperative useLayoutEffect approach made mobile worse — first tap
flickered and didn't bring up the keyboard, while the original
swipe-overlap symptom remained. Restoring the previous React-state
flow until a better fix is identified. Removes the changeset that
shipped with the failed attempt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-05-06 20:29:12 -07:00
parent 72691c6fd6
commit f08c8ace24
2 changed files with 8 additions and 56 deletions

View File

@@ -1,15 +0,0 @@
---
"@runfusion/fusion": patch
---
Fix ChatView composer sliding over messages on mobile when the user
swipes with the keyboard up. The visualViewport `--vv-height` and
`--vv-offset-top` CSS vars were being routed through React state, so
on iOS — which fires visualViewport scroll/resize on the same frame
as its keyboard animation — the thread translation lagged by one
paint. The composer briefly appeared to slide over the message list
during a pan. The vars are now written imperatively in a
`useLayoutEffect` directly to the `.chat-thread` element on every
visualViewport event, mirroring the working pattern in
`QuickChatFAB.tsx:1032-1052`. Only `--keyboard-overlap` (a structural
open/close signal) still goes through React state.