Fallo de tabla dinámica en Supabase Node

Los Dropdowns Dinámicos de Tabla/Campo de Supabase en n8n Fallan con “No bridge acquired for this context. Call acquire() first.”

Me estoy encontrando con un problema en n8n Cloud con el nodo nativo de Supabase donde la credencial de Supabase funciona y el nodo puede consultar datos exitosamente, pero los dropdowns dinámicos de tabla y campo no se cargan.

El problema parece estar aislado en la carga de parámetros dinámicos de n8n en lugar de conectividad de Supabase, autenticación, RLS o acceso a tablas.

Entorno

  • n8n Cloud

  • Nodo nativo n8n-nodes-base.supabase

  • Proyecto Supabase alojado

  • Usando una Clave Secreta del lado del servidor de Supabase recién creada

  • Recurso: Row

  • Operación: Get Many

Problema

La credencial de Supabase se prueba exitosamente en n8n.

Sin embargo, al crear un nodo de Supabase, el dropdown Table Name or ID muestra:

Error fetching options from Supabase

La interfaz también reporta:

There was a problem loading the parameter options from server: "[object Object]"

El mismo problema ocurre cuando n8n intenta cargar dinámicamente los nombres de campos/columnas.

Lo importante es que el nodo real de Supabase funciona cuando los nombres de tabla y campo se ingresan manualmente como expresiones.

Pruebas Realizadas

  1. Prueba de credencial de Supabase

La prueba de credencial de Supabase en n8n tiene éxito.

Resultado:

Connection successful

  1. Nombre de tabla manual

En lugar de usar el dropdown Table Name roto, cambié el campo al modo Expression e ingresé una tabla conocida manualmente:

{{ 'example_table' }}

Luego ejecuté:

  • Recurso: Row

  • Operación: Get Many

  • Límite: 50

  • Sin filtros

Resultado:

El nodo de Supabase retornó exitosamente filas de la tabla.

  1. Nombre de campo manual y filtro

Luego agregué un filtro e ingresé manualmente un nombre de campo conocido como expresión:

{{ 'status' }}

Condición:

Equals

Valor:

Test

Resultado:

El nodo de Supabase retornó exitosamente filas coincidentes.

Esto confirma que:

  • La autenticación de Supabase funciona

  • n8n puede alcanzar Supabase

  • La tabla es accesible

  • Los campos son accesibles

  • Los filtros funcionan

  • La recuperación de datos funciona

  • El nodo de Supabase puede ejecutarse exitosamente

El fallo parece estar específicamente relacionado con la carga de parámetros dinámicos.

  1. Prueba directa de Supabase Data API

También probé la API REST de Supabase directamente usando un nodo n8n HTTP Request.

Solicitud:

GET https://[PROJECT].supabase.co/rest/v1/

Encabezados:

apikey: [REDACTED SERVER-SIDE SECRET]

Authorization: Bearer [REDACTED SERVER-SIDE SECRET]

La solicitud tiene éxito y Supabase retorna el esquema OpenAPI, incluyendo rutas y definiciones de tablas.

Así que Supabase parece estar exponiendo exitosamente los metadatos requeridos para descubrimiento de tablas y columnas.

Error de Red desde n8n

Abrí Chrome DevTools y capturé la solicitud generada cuando un nodo Supabase completamente nuevo intenta cargar el dropdown Table Name.

La solicitud de opciones de parámetros dinámicos retorna:

HTTP 500

Respuesta:

{
  "code": 0,
  "message": "No bridge acquired for this context. Call acquire() first.",
  "level": "warning",
  "tags": {},
  "timestamp": "[REDACTED]",
  "context": {},
  "functionality": "regular",
  "name": "NodeApiError",
  "node": {
    "parameters": {
      "useCustomSchema": false,
      "resource": "row",
      "operation": "getAll",
      "tableId": "",
      "returnAll": false,
      "limit": 50,
      "filterType": "manual",
      "matchType": "anyFilter",
      "filters": {}
    },
    "id": "[REDACTED]",
    "name": "Temp-Node",
    "type": "n8n-nodes-base.supabase",
    "typeVersion": 1,
    "position": [
      0,
      0
    ],
    "credentials": {
      "supabaseApi": {
        "name": "Supabase account"
      }
    }
  },
  "messages": [
    "No bridge acquired for this context. Call acquire() first."
  ],
  "httpCode": null
}

Comportamiento Esperado

Cuando se selecciona una credencial de Supabase válida, el dropdown Table Name or ID debe poblarse con las tablas Supabase disponibles.

Después de seleccionar una tabla, los dropdowns de campo deben poblarse con las columnas disponibles.

Comportamiento Real

El dropdown muestra:

Error fetching options from Supabase

La solicitud de parámetros dinámicos retorna HTTP 500 con:

No bridge acquired for this context. Call acquire() first.

Solución Alternativa

El nodo de Supabase funciona si los IDs de tabla y campo se ingresan manualmente usando expresiones.

Por ejemplo:

Tabla:

{{ 'example_table' }}

Campo:

{{ 'status' }}

El nodo entonces consulta y filtra exitosamente datos de Supabase.

Notas Adicionales

Originalmente sospeché RLS o permisos de Supabase, pero las pruebas anteriores parecen descartar eso.

La misma clave de Supabase del lado del servidor:

  • pasa la prueba de credencial de n8n

  • recupera el esquema OpenAPI de Supabase

  • consulta exitosamente filas a través del nodo nativo de Supabase

  • aplica exitosamente filtros a través del nodo nativo de Supabase

Solo la carga de opciones de tabla/campo dinámicas falla.

Esto parece ser un problema interno de parámetros dinámicos/load-options de n8n en lugar de un problema de API de Supabase.

Puedo proporcionar registros adicionales, capturas de pantalla sanitizadas, JSON de flujo de trabajo, información de versión de n8n Cloud u otros diagnósticos si es útil.

@Chainmaster 1 pregunta, ¿en qué versión estás?

Estamos en n8n Cloud, versión 1.123.69.

Gracias por informarnos sobre esto. Hemos creado CAT-4130 como el ticket interno de desarrollo para investigarlo.

@Chainmaster ¡Actualiza tu versión a 2.0, esto se corrigió en 2.19.3!

¡Gracias por avisarnos! Estábamos evitando migrar a 2.x por los cambios incompatibles, pero parece que tendremos que usar la herramienta de migración.

@Chainmaster ¡n8n tiene una guía de migración en tu panel de administración sobre qué se romperá para que puedas planificar con anticipación!

¡Siéntete libre de marcar cualquiera de las respuestas como solución y que tengas un buen día!

¡Hola @Chainmaster! ¡Bienvenido!
El parche se implementó en la línea 1.x, así que puedes quedarte en 1.x en lugar de hacer la migración a 2.x. n8n lanzó 1.123.73 con la corrección. En el panel de control de Cloud ve a Manage > Workspace > Updates & maintenance, selecciona 1.123.73 en el menú desplegable de versión de n8n y haz clic en Change version, eso desencadena un reinicio de uno a dos minutos.
Mira esto: