Fix the React Hooks complains, and _app for rust

This commit is contained in:
Pierre Jacquier
2023-09-08 08:01:49 -04:00
parent 8a709ed70a
commit 4a2ff925e5
14 changed files with 44 additions and 18 deletions

View File

@ -87,10 +87,10 @@ async fn login(app: tauri::AppHandle, host: &str) -> Result<String, InvokeError>
fn main() { fn main() {
tauri::Builder::default() tauri::Builder::default()
.setup(|app| { .setup(|_app| {
#[cfg(debug_assertions)] // only include this code on debug builds #[cfg(debug_assertions)] // only include this code on debug builds
{ {
let window = app.get_window("main").unwrap(); let window = _app.get_window("main").unwrap();
// comment out the below if you don't devtools to open everytime. // comment out the below if you don't devtools to open everytime.
// it's useful because otherwise devtools shuts everytime rust code changes. // it's useful because otherwise devtools shuts everytime rust code changes.
window.open_devtools(); window.open_devtools();

View File

@ -286,7 +286,17 @@ export function App() {
return () => { return () => {
eng?.tearDown() eng?.tearDown()
} }
}, [height, setEngineCommandManager, setIsStreamReady, setMediaStream, setStreamDimensions, token, width]) }, [
height,
quadHeight,
quadWidth,
setEngineCommandManager,
setIsStreamReady,
setMediaStream,
setStreamDimensions,
token,
width,
])
useEffect(() => { useEffect(() => {
if (!isStreamReady) return if (!isStreamReady) return
@ -385,7 +395,23 @@ export function App() {
return () => { return () => {
unsubFn.forEach((fn) => fn()) unsubFn.forEach((fn) => fn())
} }
}, [defferedCode, isStreamReady, engineCommandManager]) }, [
defferedCode,
isStreamReady,
engineCommandManager,
setAst,
resetLogs,
resetKCLErrors,
setIsExecuting,
setArtifactMap,
setError,
highlightRange,
setHighlightRange,
setCursor2,
setProgramMemory,
addKCLError,
addLog,
])
const debounceSocketSend = throttle<EngineCommand>((message) => { const debounceSocketSend = throttle<EngineCommand>((message) => {
engineCommandManager?.sendSceneCommand(message) engineCommandManager?.sendSceneCommand(message)

View File

@ -122,7 +122,7 @@ export function useCalc({
if (ast) { if (ast) {
setNewVariableName(findUniqueName(ast, valueName)) setNewVariableName(findUniqueName(ast, valueName))
} }
}, []) }, [ast, value, valueName])
useEffect(() => { useEffect(() => {
const allVarNames = Object.keys(programMemory.root) const allVarNames = Object.keys(programMemory.root)
@ -131,7 +131,7 @@ export function useCalc({
} else { } else {
setIsNewVariableNameUnique(true) setIsNewVariableNameUnique(true)
} }
}, [newVariableName]) }, [newVariableName, programMemory.root])
useEffect(() => { useEffect(() => {
if (!ast || !programMemory || !selectionRange) return if (!ast || !programMemory || !selectionRange) return
@ -165,7 +165,7 @@ export function useCalc({
setCalcResult('NAN') setCalcResult('NAN')
setValueNode(null) setValueNode(null)
} }
}, [value]) }, [availableVarInfo.variables, engineCommandManager, value])
return { return {
valueNode, valueNode,

View File

@ -30,7 +30,7 @@ export const ConvertToVariable = () => {
const _enableHorz = canReplace && isOnlyOneSelection const _enableHorz = canReplace && isOnlyOneSelection
setEnableAngLen(_enableHorz) setEnableAngLen(_enableHorz)
}, [guiMode, selectionRanges]) }, [ast, guiMode, selectionRanges])
return ( return (
<button <button

View File

@ -68,7 +68,7 @@ export const EqualAngle = () => {
isOthersLinkedToPrimary && isOthersLinkedToPrimary &&
theTransforms.every(Boolean) theTransforms.every(Boolean)
setEnableEqual(_enableEqual) setEnableEqual(_enableEqual)
}, [guiMode, selectionRanges]) }, [ast, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -68,7 +68,7 @@ export const EqualLength = () => {
isOthersLinkedToPrimary && isOthersLinkedToPrimary &&
theTransforms.every(Boolean) theTransforms.every(Boolean)
setEnableEqual(_enableEqual) setEnableEqual(_enableEqual)
}, [guiMode, selectionRanges]) }, [ast, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -47,7 +47,7 @@ export const HorzVert = ({
const _enableHorz = isAllTooltips && theTransforms.every(Boolean) const _enableHorz = isAllTooltips && theTransforms.every(Boolean)
setEnableHorz(_enableHorz) setEnableHorz(_enableHorz)
}, [guiMode, selectionRanges]) }, [ast, guiMode, horOrVert, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -119,7 +119,7 @@ export const Intersect = () => {
theTransforms.every(Boolean) && theTransforms.every(Boolean) &&
_forcedSelectionRanges?.codeBasedSelections?.[1]?.type === 'line-end' _forcedSelectionRanges?.codeBasedSelections?.[1]?.type === 'line-end'
setEnable(_enableEqual) setEnable(_enableEqual)
}, [guiMode, selectionRanges]) }, [ast, guiMode, programMemory, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -51,7 +51,7 @@ export const RemoveConstrainingValues = () => {
} catch (e) { } catch (e) {
console.error(e) console.error(e)
} }
}, [guiMode, selectionRanges]) }, [ast, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -77,7 +77,7 @@ export const SetAbsDistance = ({
selectionRanges.codeBasedSelections.length === 1 && selectionRanges.codeBasedSelections.length === 1 &&
(enableX || enableY) (enableX || enableY)
setEnableAngLen(_enableHorz) setEnableAngLen(_enableHorz)
}, [guiMode, selectionRanges]) }, [ast, disType, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
const isAlign = buttonType === 'snapToYAxis' || buttonType === 'snapToXAxis' const isAlign = buttonType === 'snapToYAxis' || buttonType === 'snapToXAxis'

View File

@ -78,7 +78,7 @@ export const SetAngleBetween = () => {
isOthersLinkedToPrimary && isOthersLinkedToPrimary &&
theTransforms.every(Boolean) theTransforms.every(Boolean)
setEnable(_enableEqual) setEnable(_enableEqual)
}, [guiMode, selectionRanges]) }, [ast, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -96,7 +96,7 @@ export const SetHorzVertDistance = ({
isOthersLinkedToPrimary && isOthersLinkedToPrimary &&
theTransforms.every(Boolean) theTransforms.every(Boolean)
setEnable(_enableEqual) setEnable(_enableEqual)
}, [guiMode, selectionRanges]) }, [ast, constraint, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
const isAlign = const isAlign =

View File

@ -59,7 +59,7 @@ export const SetAngleLength = ({
const _enableHorz = isAllTooltips && theTransforms.every(Boolean) const _enableHorz = isAllTooltips && theTransforms.every(Boolean)
setEnableAngLen(_enableHorz) setEnableAngLen(_enableHorz)
}, [guiMode, selectionRanges]) }, [angleOrLength, ast, guiMode, selectionRanges])
if (guiMode.mode !== 'sketch') return null if (guiMode.mode !== 'sketch') return null
return ( return (

View File

@ -38,5 +38,5 @@ export default function useStateMachineCommands<T extends AnyStateMachine>({
return () => { return () => {
removeCommands(newCommands) removeCommands(newCommands)
} }
}, [state]) }, [addCommands, commandBarMeta, owner, removeCommands, send, state])
} }