mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-13 08:14:58 -05:00
## Changes 🏗️ I found that if I logged out while an agent was running, sometimes Webscokets would keep open connections but fail to connect ( given there is no token anymore ) and cause strange behavior down the line on the login screen. Two root causes behind after inspecting the browser logs 🧐 - WebSocket connections were attempted with an empty token right after logout, yielding `wss://.../ws?token=` and repeated `1006/connection` refused loops. - During logout, sockets in `CONNECTING` state weren’t being closed, so the browser kept trying to finish the handshake and were reattempted shortly after failing Trying to fix this like: - Guard `connectWebSocket()` to no-op if a logout/disconnect intent is set, and to skip connecting when no token is available. - Treat `CONNECTING` sockets as closeable in `disconnectWebSocket()` and clear `wsConnecting` to avoid stale pending Promises - Left existing heartbeat/reconnect logic intact, but it now won’t run when we’re logging out or when we can’t get a token. ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Login and run an agent that takes long to run - [x] Logout - [x] Check the browser console and you don't see any socket errors - [x] The login screen behaves ok ### For configuration changes: Noop