From ff3960130385ec47062a4b57b8a2da0931368391 Mon Sep 17 00:00:00 2001 From: Tony James Date: Sun, 7 Jun 2026 00:34:37 +0100 Subject: [PATCH] fix(tesla): skip OAuth on car after pair-code if desktop already linked Tesla MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pair-code flow always called startTeslaConnect() afterwards, which redirected the car browser to auth.tesla.com even when the server already held tokens from the desktop OAuth. Now connectIfNeeded() re-fetches status post-login and short-circuits when connected: true. The car flow becomes: enter 6-digit code โ†’ 'Tesla connected ยท Carried over from your other device โ€” ready to go.' No second OAuth. --- .code-review-graph/graph.db | Bin 0 -> 385024 bytes client/src/pages/TeslaTripPlanner.tsx | 26 +++++++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 .code-review-graph/graph.db diff --git a/.code-review-graph/graph.db b/.code-review-graph/graph.db new file mode 100644 index 0000000000000000000000000000000000000000..d443a0b10ad571a7a3febf08466701f977bf790b GIT binary patch literal 385024 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 ap++ctx{D!0d{VI7I7GEjw2UZ7jsF21HJb_m literal 0 HcmV?d00001 diff --git a/client/src/pages/TeslaTripPlanner.tsx b/client/src/pages/TeslaTripPlanner.tsx index 8ed4982..e013fd2 100644 --- a/client/src/pages/TeslaTripPlanner.tsx +++ b/client/src/pages/TeslaTripPlanner.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { toast } from 'sonner'; import { MapContainer, TileLayer, Marker, Polyline, Popup, useMap } from 'react-leaflet'; -import { useTesla, startTeslaConnect, disconnectTesla, sendToTeslaNav, wakeTesla, loginOwner, mintOwnerPairCode, redeemOwnerPairCode, type TeslaActiveRoute } from '../lib/tesla'; +import { useTesla, startTeslaConnect, disconnectTesla, sendToTeslaNav, wakeTesla, loginOwner, mintOwnerPairCode, redeemOwnerPairCode, fetchTeslaStatus, type TeslaActiveRoute } from '../lib/tesla'; import { isMockEnabled, getMockScenario, setMockScenario, resetMockDrive } from '../lib/teslaMock'; import { detectInCar } from '../lib/incar'; import { computeBatteryPlan, type BatteryAtStop, type BatteryRisk } from '../lib/batteryPlan'; @@ -2452,16 +2452,28 @@ export default function TeslaTripPlanner() { teslaStatus={tesla.status} teslaState={tesla.state} onConnectTesla={async () => { + // Pending action that runs after owner-login succeeds. Re-checks + // the server: if a Tesla token is already stored (e.g. the user + // OAuthed on their desktop and just paired this device), we skip + // the Tesla OAuth round-trip entirely. + const connectIfNeeded = async () => { + const fresh = await fetchTeslaStatus(); + if (fresh.connected) { + await tesla.refreshStatus(); + toast.success('Tesla connected', { + description: 'Carried over from your other device โ€” ready to go.', + }); + return; + } + try { await startTeslaConnect(); } + catch { toast.error('Could not start Tesla OAuth'); } + }; if (tesla.owner?.required && !tesla.owner.authenticated) { - ownerLoginThenRef.current = async () => { - try { await startTeslaConnect(); } - catch { toast.error('Could not start Tesla OAuth'); } - }; + ownerLoginThenRef.current = connectIfNeeded; setOwnerLoginOpen(true); return; } - try { await startTeslaConnect(); } - catch { toast.error('Could not start Tesla OAuth'); } + await connectIfNeeded(); }} onDisconnectTesla={async () => { await disconnectTesla();