Descripción
Al abrir el mismo enlace del tablero Kanban en otro navegador o dispositivo, la aplicación no respeta los datos ya existentes en Supabase: inicializa un estado en blanco o duplica los datos básicos, interpretando que es un tablero distinto. Esto rompe la colaboración y el trabajo multi-dispositivo sobre el mismo tablero.
Requerimiento completo: requirements/improvements-21-supabase-data-sync.md
Propuesta
- Identificadores únicos por tablero: la URL debe portar el ID único del tablero (ej.
?boardId=xyz o /board/xyz)
- Re-hidratación correcta: si se detecta un
boardId válido en la URL, la app no debe hacer "push" de la configuración local inicial a Supabase; primero debe hacer fetch del backend y usar esos datos como estado inicial
- Realtime (opcional/MVP+): usar Supabase Realtime para propagar cambios entre clientes conectados al mismo tablero y actualizar IndexedDB/estado en memoria sin conflictos
- Indicador de sincronización en la barra superior (☁️ verde = sincronizado, naranja = guardando, rojo = error)
Impacto técnico
- Cambios en la lógica de inicialización del store local (
src/db/supabase-sync.ts)
- Posible columna
board_id / llave foránea en las tablas de Supabase si están desvinculadas actualmente
- Integración de canales realtime de
@supabase/supabase-js
Criterios de Aceptación
Área
Sync & Persistencia
Prioridad
Alta
Rama sugerida
fix/IMP-21-supabase-data-sync
Descripción
Al abrir el mismo enlace del tablero Kanban en otro navegador o dispositivo, la aplicación no respeta los datos ya existentes en Supabase: inicializa un estado en blanco o duplica los datos básicos, interpretando que es un tablero distinto. Esto rompe la colaboración y el trabajo multi-dispositivo sobre el mismo tablero.
Requerimiento completo:
requirements/improvements-21-supabase-data-sync.mdPropuesta
?boardId=xyzo/board/xyz)boardIdválido en la URL, la app no debe hacer "push" de la configuración local inicial a Supabase; primero debe hacerfetchdel backend y usar esos datos como estado inicialImpacto técnico
src/db/supabase-sync.ts)board_id/ llave foránea en las tablas de Supabase si están desvinculadas actualmente@supabase/supabase-jsCriterios de Aceptación
boardIdde la URL antes de decidir si crear datos por defectoÁrea
Sync & Persistencia
Prioridad
Alta
Rama sugerida
fix/IMP-21-supabase-data-sync