Skip to content

fix: Sincronización de datos y manejo de sesiones cross-device con Supabase (IMP-21) #124

Description

@konami12

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

  1. Identificadores únicos por tablero: la URL debe portar el ID único del tablero (ej. ?boardId=xyz o /board/xyz)
  2. 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
  3. Realtime (opcional/MVP+): usar Supabase Realtime para propagar cambios entre clientes conectados al mismo tablero y actualizar IndexedDB/estado en memoria sin conflictos
  4. 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

  • Al abrir la misma URL de un tablero con datos existentes desde otro navegador/dispositivo, se cargan exactamente los mismos datos (sin duplicar columnas/tareas por defecto en Supabase)
  • Editar una tarea en un navegador se refleja en otro navegador con el mismo tablero abierto, sin recargar la página (si se implementa Realtime en este alcance)
  • Existe un indicador visual de estado de sincronización (sincronizado / guardando / error) en la barra superior
  • La inicialización de la app respeta el boardId de la URL antes de decidir si crear datos por defecto

Área

Sync & Persistencia

Prioridad

Alta

Rama sugerida

fix/IMP-21-supabase-data-sync

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or requestsync

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions