You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
useKeyboardHeight and useVisualViewport wrap their measurements, while useNetworkStatus and useScrollDirection return values directly. Define a consistent return shape for scalar and composite measurements; update affected types, docs, and SSR tests.
@mnxmnz One more candidate for this issue. subscribeKeyboardHeight returns { unsubscribe }, an object that holds a single function. Since #531 unwraps single values in the browser hooks, returning the unsubscribe function directly (const unsubscribe = subscribeKeyboardHeight(...)) would follow the same direction. On the other hand, an object is easier to extend if the subscription ever needs another field.
Could you decide whether it fits in this issue? useKeyboardHeight is the only internal caller.
@hyesungoh Since #531 is closed and we're keeping the object shapes, I think subscribeKeyboardHeight should keep returning { unsubscribe } too 🙂 It lines up with the browser hooks and leaves room if the subscription ever needs another field. Closing this as decided in #531
Activity
hyesungoh commentedon Sep 28, 2026
@mnxmnz One more candidate for this issue.
subscribeKeyboardHeightreturns{ unsubscribe }, an object that holds a single function. Since #531 unwraps single values in the browser hooks, returning the unsubscribe function directly (const unsubscribe = subscribeKeyboardHeight(...)) would follow the same direction. On the other hand, an object is easier to extend if the subscription ever needs another field.Could you decide whether it fits in this issue?
useKeyboardHeightis the only internal caller.mnxmnz commentedon Oct 6, 2026
@hyesungoh Since #531 is closed and we're keeping the object shapes, I think
subscribeKeyboardHeightshould keep returning{ unsubscribe }too 🙂 It lines up with the browser hooks and leaves room if the subscription ever needs another field. Closing this as decided in #531