triggerReconnect was called with the per-connection context (connCtx), but reconnectLoop immediately cancels it via p.connCancel(). This caused the reconnect backoff loop to exit on the first iteration because ctx.Done() was already closed. Fix by storing the platform lifetime context and using it for reconnect operations. Made-with: Cursor