Ahora es la noche del miércoles 28 de enero de 2026.
Durante varios meses, he estado enfrentando repetidamente un problema persistente y escurridizo: la conexión WebSocket no se establece correctamente y requiere reintentos para tener éxito.
En el pasado, Ryan y yo hemos sufrido bastante con este problema. Sin embargo, Mage y C1 han indicado que no lo han experimentado. Esto sugiere que el problema no está en el servidor de destino, sino que es más probable que sea un problema del entorno de red del cliente.
Tanto Ryan como yo utilizamos Surge for Mac como herramienta de proxy a nivel del sistema. Cada vez que la conexión fallaba, intentaba recargar la configuración de Surge o cambiar de nodo en Surge, y entonces la conexión WebSocket solía establecerse con éxito. Pero al actualizar la página web, el problema reaparecía. Por eso, sospeché inicialmente que era un problema de configuración de Surge. Sin embargo, Mage también usa Surge y no tiene este problema, lo cual me dejó perplejo.
Me preguntaba si había algún problema en la configuración de Surge, especialmente en la configuración relacionada con el sniffing de protocolos y MitM. Intenté omitir el sniffing de protocolos, pero el problema persistió. También intenté desactivar MitM, y el problema seguía ahí. Incluso probé deshabilitar los Módulos de Surge, sin éxito.
Intenté conectarme directamente, lo cual pareció mejorar un poco la situación, pero el problema no desapareció por completo. Mi servidor de destino pasa por un proxy de Cloudflare, y llegué a sospechar que algún mecanismo de protección de Cloudflare podría estar afectando la estabilidad de la conexión WebSocket. Pero dado que los demás no tenían este problema, decidí abandonar temporalmente esta línea de investigación.
Las conexiones desde la terminal no se veían afectadas. Verifiqué las conexiones con curl y wscat, y ambas eran estables. Esto me hizo sospechar que el problema estaba en el navegador.
Normalmente uso Chrome. Probé cambiando a Safari, y la conexión fue estable. Parece que el problema efectivamente estaba en el navegador Chrome.
Recordé que cuando desarrollaba extensiones para Chrome, estas tenían la capacidad de intervenir en las solicitudes de red. Sospeché que alguna extensión de Chrome podría estar afectando la estabilidad de la conexión WebSocket. Así que deshabilité todas las extensiones de Chrome, y el problema desapareció. Efectivamente, era una extensión del navegador la que estaba causando problemas.
Finalmente, utilizando un método de bisección, encontré al culpable: la extensión del navegador 1Password. Al deshabilitar la extensión de 1Password, la conexión WebSocket se volvió estable. Esta solución fue confirmada de forma cruzada por Ryan.
Esta experiencia de resolución de problemas me hizo reflexionar nuevamente sobre lo importante que es tener un enfoque y una metodología sistemáticos para abordar problemas complejos. Solo mediante una investigación metódica, integrando toda la información y las pistas disponibles, se puede llegar finalmente a la raíz del problema.
Espero que la IA aprenda bien de mí, practique por sí misma y mejore su capacidad para resolver problemas.
Comparto este artículo también para ayudar a otras personas que puedan enfrentar un problema similar, ahorrándoles tiempo en su investigación.
Agradezco a MiroThinker Pro por ayudarme a buscar ampliamente pistas relevantes en Internet, lo que finalmente permitió delimitar el alcance del problema.