From bf8f164f550cdbf6b95df728a921eabe40075d9a Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 5 May 2022 13:15:07 +0100 Subject: [PATCH] Fix lint errors Various hooks either missing dependencies or with extra ones. Two remaining errors are from the recapcta code where I can't work out if the extra dependency is intentional or not. --- package.json | 2 +- src/auth/useInteractiveLogin.js | 59 ++++++++++++++------------ src/auth/useInteractiveRegistration.js | 2 +- src/home/useGroupCallRooms.js | 2 +- src/room/useLoadGroupCall.js | 2 +- src/room/usePTT.js | 13 ++++-- src/settings/submit-rageshake.js | 4 +- 7 files changed, 47 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 1cd926f6..3ac338e7 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build-storybook": "build-storybook", "prettier:check": "prettier -c src", "prettier:format": "prettier -w src", - "lint": "eslint --max-warnings 11 src" + "lint": "eslint --max-warnings 2 src" }, "dependencies": { "@juggle/resize-observer": "^3.3.1", diff --git a/src/auth/useInteractiveLogin.js b/src/auth/useInteractiveLogin.js index 4b1bc540..2b2420aa 100644 --- a/src/auth/useInteractiveLogin.js +++ b/src/auth/useInteractiveLogin.js @@ -7,39 +7,42 @@ export function useInteractiveLogin() { const { setClient } = useClient(); const [state, setState] = useState({ loading: false }); - const auth = useCallback(async (homeserver, username, password) => { - const authClient = matrix.createClient(homeserver); + const auth = useCallback( + async (homeserver, username, password) => { + const authClient = matrix.createClient(homeserver); - const interactiveAuth = new InteractiveAuth({ - matrixClient: authClient, - busyChanged(loading) { - setState((prev) => ({ ...prev, loading })); - }, - async doRequest(_auth, _background) { - return authClient.login("m.login.password", { - identifier: { - type: "m.id.user", - user: username, - }, - password, - }); - }, - }); + const interactiveAuth = new InteractiveAuth({ + matrixClient: authClient, + busyChanged(loading) { + setState((prev) => ({ ...prev, loading })); + }, + async doRequest(_auth, _background) { + return authClient.login("m.login.password", { + identifier: { + type: "m.id.user", + user: username, + }, + password, + }); + }, + }); - const { user_id, access_token, device_id } = - await interactiveAuth.attemptAuth(); + const { user_id, access_token, device_id } = + await interactiveAuth.attemptAuth(); - const client = await initClient({ - baseUrl: defaultHomeserver, - accessToken: access_token, - userId: user_id, - deviceId: device_id, - }); + const client = await initClient({ + baseUrl: defaultHomeserver, + accessToken: access_token, + userId: user_id, + deviceId: device_id, + }); - setClient(client, { user_id, access_token, device_id }); + setClient(client, { user_id, access_token, device_id }); - return client; - }, []); + return client; + }, + [setClient] + ); return [state, auth]; } diff --git a/src/auth/useInteractiveRegistration.js b/src/auth/useInteractiveRegistration.js index fce5a6db..d0658f73 100644 --- a/src/auth/useInteractiveRegistration.js +++ b/src/auth/useInteractiveRegistration.js @@ -89,7 +89,7 @@ export function useInteractiveRegistration() { return client; }, - [] + [setClient] ); return [state, register]; diff --git a/src/home/useGroupCallRooms.js b/src/home/useGroupCallRooms.js index ea075f85..b0bfbd27 100644 --- a/src/home/useGroupCallRooms.js +++ b/src/home/useGroupCallRooms.js @@ -81,7 +81,7 @@ export function useGroupCallRooms(client) { client.removeListener("GroupCall.incoming", updateRooms); client.removeListener("GroupCall.participants", updateRooms); }; - }, []); + }, [client]); return rooms; } diff --git a/src/room/useLoadGroupCall.js b/src/room/useLoadGroupCall.js index c763ce78..b9da8bcd 100644 --- a/src/room/useLoadGroupCall.js +++ b/src/room/useLoadGroupCall.js @@ -86,7 +86,7 @@ export function useLoadGroupCall(client, roomId, viaServers, createIfNotFound) { .catch((error) => setState((prevState) => ({ ...prevState, loading: false, error })) ); - }, [client, roomId, state.reloadId]); + }, [client, roomId, state.reloadId, createIfNotFound, viaServers]); return state; } diff --git a/src/room/usePTT.js b/src/room/usePTT.js index 89a1bcf9..f8534700 100644 --- a/src/room/usePTT.js +++ b/src/room/usePTT.js @@ -55,7 +55,7 @@ export function usePTT(client, groupCall, userMediaFeeds) { setState((prevState) => ({ ...prevState, pttButtonHeld: true })); } - }, []); + }, [groupCall, activeSpeakerUserId, isAdmin, talkOverEnabled]); const stopTalking = useCallback(() => { if (!groupCall.isMicrophoneMuted()) { @@ -63,7 +63,7 @@ export function usePTT(client, groupCall, userMediaFeeds) { } setState((prevState) => ({ ...prevState, pttButtonHeld: false })); - }, []); + }, [groupCall]); useEffect(() => { function onKeyDown(event) { @@ -100,7 +100,14 @@ export function usePTT(client, groupCall, userMediaFeeds) { window.removeEventListener("keyup", onKeyUp); window.removeEventListener("blur", onBlur); }; - }, [activeSpeakerUserId, isAdmin, talkOverEnabled]); + }, [ + groupCall, + startTalking, + stopTalking, + activeSpeakerUserId, + isAdmin, + talkOverEnabled, + ]); const setTalkOverEnabled = useCallback((talkOverEnabled) => { setState((prevState) => ({ diff --git a/src/settings/submit-rageshake.js b/src/settings/submit-rageshake.js index ed1a22ee..dada7ad2 100644 --- a/src/settings/submit-rageshake.js +++ b/src/settings/submit-rageshake.js @@ -223,7 +223,7 @@ export function useSubmitRageshake() { console.error(error); } }, - [client] + [client, json, sending] ); return { @@ -294,7 +294,7 @@ export function useRageshakeRequestModal(roomId) { return () => { client.removeListener("event", onEvent); }; - }, [modalState.open, roomId]); + }, [modalState.open, roomId, client, modalState]); return { modalState, modalProps: { ...modalProps, rageshakeRequestId } }; }