From 172ac4a48dbfebbabacc76342218130fbc5fede9 Mon Sep 17 00:00:00 2001 From: Mike Johnston Date: Thu, 29 Jan 2026 02:39:21 -0500 Subject: [PATCH] bugfix --- frontend/src/AuthContext.jsx | 11 ++++++++--- frontend/src/SocketContext.jsx | 8 +++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/frontend/src/AuthContext.jsx b/frontend/src/AuthContext.jsx index 3e55ac1..efd076b 100644 --- a/frontend/src/AuthContext.jsx +++ b/frontend/src/AuthContext.jsx @@ -6,10 +6,12 @@ const AuthContext = createContext(null); export const AuthProvider = ({ children }) => { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); + const [token, setToken] = useState(localStorage.getItem('token')); useEffect(() => { - const token = localStorage.getItem('token'); - if (token) { + const storedToken = localStorage.getItem('token'); + if (storedToken) { + setToken(storedToken); api.getMe() .then(data => setUser(data.user)) .catch(() => { @@ -25,12 +27,14 @@ export const AuthProvider = ({ children }) => { const login = async (email, password) => { const data = await api.login(email, password); setUser(data.user); + setToken(data.token); return data; }; const register = async (email, username, password) => { const data = await api.register(email, username, password); setUser(data.user); + setToken(data.token); return data; }; @@ -38,10 +42,11 @@ export const AuthProvider = ({ children }) => { localStorage.removeItem('token'); api.setToken(null); setUser(null); + setToken(null); }; return ( - + {children} ); diff --git a/frontend/src/SocketContext.jsx b/frontend/src/SocketContext.jsx index a9c466e..41514da 100644 --- a/frontend/src/SocketContext.jsx +++ b/frontend/src/SocketContext.jsx @@ -20,6 +20,7 @@ export function SocketProvider({ children }) { useEffect(() => { // Only connect if user is authenticated if (!user || !token) { + console.log('⏳ Waiting for authentication...', { user: !!user, token: !!token }); if (socket) { socket.disconnect(); setSocket(null); @@ -28,10 +29,14 @@ export function SocketProvider({ children }) { return; } + console.log('🔄 Initializing socket connection...'); + // Determine backend URL const backendUrl = import.meta.env.VITE_API_URL || (import.meta.env.DEV ? 'http://localhost:4000' : window.location.origin); + console.log('🌐 Connecting to:', backendUrl); + // Create socket connection with JWT authentication const newSocket = io(backendUrl, { auth: { @@ -53,7 +58,8 @@ export function SocketProvider({ children }) { }); newSocket.on('connect_error', (error) => { - console.error('Socket connection error:', error.message); + console.error('❌ Socket connection error:', error.message); + console.error(' Error details:', error); }); setSocket(newSocket);