Saltar al contenido

Depurar el puente

Con el recorrido conocido, cualquier fallo tiene un sitio donde buscar: el árbol de diagnóstico completo, de un síntoma a su paso.

El árbol

Y la primera fila es la bifurcación principal: si la llamada aparece en la traza del core, el problema es de los pasos 6 a 11; si no aparece, es de los pasos 1 a 5.

Hacer visible cada tramo

Las cuatro herramientas, cada una para su tramo:

Y las dos primeras juntas cubren el recorrido entero con el identificador de operación del nivel 55.3 uniéndolas: se ve una llamada de un extremo al otro.

Los seis fallos frecuentes

Y sus causas más probables, para no perseguir la equivocada:

  • Permiso denegado → la capability, no el comando. Y con plugins, el prefijo del nombre.
  • Error de deserialización → el frontend manda algo distinto de lo que la firma espera. Casi siempre un campo opcional que llega ausente en vez de nulo, o un número que llega como cadena.
  • La promesa no resuelve → tu función se ha quedado esperando algo. Nivel 55.5.
  • El evento no llega → el nombre difiere entre los dos lados.
  • Todo va lento → el número de llamadas, no cada llamada. Niveles 42.1 y 76.3.
  • Y funciona en desarrollo y no instalado → no es el puente: es el origen, las rutas o los permisos. Nivel 51.5.

El último merece recordarse porque el síntoma parece del puente y la causa nunca lo es.

Lo que cierra este nivel

Y con el recorrido conocido, tres cosas que antes eran reglas y ahora son consecuencias:

  • Por qué el puente cuesta —dos serializaciones y un coste fijo, nivel 76.3—.
  • Por qué los permisos se comprueban siempre —está en el paso 6 y no se puede saltar, fase V—.
  • Y por qué los eventos se rompen en silencio —el paso 5 no falla, nivel 76.2—.

Ninguna de las tres era arbitraria, y verlas como consecuencias del recorrido es lo que hace que se recuerden sin memorizarlas.