Delay RustDesk provisioning until machineId is loaded

This commit is contained in:
Esdras Renan 2025-11-27 08:29:33 -03:00
parent 59e68b0032
commit 35de633b6f

View file

@ -847,12 +847,16 @@ const resolvedAppUrl = useMemo(() => {
const ensureRustdesk = useCallback(async () => { const ensureRustdesk = useCallback(async () => {
if (!store) return null if (!store) return null
if (!config?.machineId) {
logDesktop("rustdesk:skip:no-machine-id")
return null
}
setIsRustdeskProvisioning(true) setIsRustdeskProvisioning(true)
try { try {
const payload = await invoke<RustdeskProvisioningResult>("ensure_rustdesk_and_emit", { const payload = await invoke<RustdeskProvisioningResult>("ensure_rustdesk_and_emit", {
configString: RUSTDESK_CONFIG_STRING || null, configString: RUSTDESK_CONFIG_STRING || null,
password: RUSTDESK_DEFAULT_PASSWORD || null, password: RUSTDESK_DEFAULT_PASSWORD || null,
machineId: config?.machineId ?? null, machineId: config.machineId,
}) })
await handleRustdeskProvision(payload) await handleRustdeskProvision(payload)
return payload return payload
@ -896,13 +900,13 @@ const resolvedAppUrl = useMemo(() => {
} }
}, [store, handleRustdeskProvision]) }, [store, handleRustdeskProvision])
useEffect(() => { useEffect(() => {
if (!store) return if (!store || !config?.machineId) return
if (!rustdeskInfo && !isRustdeskProvisioning && !rustdeskBootstrapRef.current) { if (!rustdeskInfo && !isRustdeskProvisioning && !rustdeskBootstrapRef.current) {
rustdeskBootstrapRef.current = true rustdeskBootstrapRef.current = true
ensureRustdesk().finally(() => { ensureRustdesk().finally(() => {
rustdeskBootstrapRef.current = false rustdeskBootstrapRef.current = false
}) })
return return
} }
if (rustdeskInfo && !isRustdeskProvisioning) { if (rustdeskInfo && !isRustdeskProvisioning) {