From df3972dfe8b95d014d61de98c98166d6c51ff34a Mon Sep 17 00:00:00 2001 From: Max Goodhart Date: Mon, 10 Aug 2020 23:51:29 -0700 Subject: [PATCH] Apply mouseup handler faster in hopes of reducing drag glitches --- src/web/control.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/web/control.js b/src/web/control.js index 9006671..cb44456 100644 --- a/src/web/control.js +++ b/src/web/control.js @@ -5,7 +5,13 @@ import ReconnectingWebSocket from 'reconnecting-websocket' import * as Y from 'yjs' import { patch as patchJSON } from 'jsondiffpatch' import { h, Fragment, render } from 'preact' -import { useEffect, useState, useCallback, useRef } from 'preact/hooks' +import { + useEffect, + useLayoutEffect, + useState, + useCallback, + useRef, +} from 'preact/hooks' import { State } from 'xstate' import styled, { createGlobalStyle } from 'styled-components' import { useHotkeys } from 'react-hotkeys-hook' @@ -214,7 +220,7 @@ function App({ wsEndpoint }) { ev.preventDefault() }, []) const [dragEnd, setDragEnd] = useState() - useEffect(() => { + useLayoutEffect(() => { function endDrag() { if (dragStart !== undefined) { stateDoc.transact(() => {