fix(dashboard): write ChatView visualViewport vars imperatively
The mobile composer/footer slid over the message list when the user swiped with the keyboard up. Cause: --vv-height / --vv-offset-top were routed through React state via useMobileKeyboard, so on iOS — which fires visualViewport scroll/resize on the same frame as its keyboard animation — the .chat-thread translation lagged by one paint, visible as the composer momentarily floating over messages. Now those two vars are written imperatively in a useLayoutEffect directly to the .chat-thread DOM node on every visualViewport event, mirroring the working pattern at QuickChatFAB.tsx:1032-1052 (which already works correctly on mobile). Only --keyboard-overlap (a structural open/close signal, not per-frame) still flows through React state. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
15
.changeset/chatview-mobile-viewport-imperative.md
Normal file
15
.changeset/chatview-mobile-viewport-imperative.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
"@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.
|
||||
5
.changeset/fn-3613-hermes-fusion-skill-auto-install.md
Normal file
5
.changeset/fn-3613-hermes-fusion-skill-auto-install.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@runfusion/fusion": patch
|
||||
---
|
||||
|
||||
Auto-install the bundled Fusion skill when the Hermes runtime plugin loads, including profile-aware Hermes skill-path resolution and safe idempotent replacement behavior. Hermes runtime startup now continues with warnings if skill mirroring fails.
|
||||
Reference in New Issue
Block a user