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.