Closed Frozen-Burrito closed 2 years ago
La implementación del getter UserProfile.selectedEnvironment
fue modificada para evitar que lance un StateError
, aún cuando las condiciones sean incorrectas (cuando un perfil tiene un selectedEnvId
que no existe en su colección de unlockedEnvironments
.
Es posible que el issue #13 contribuya directamente a este error.
La solución del issue #13 arregló la causa del error identificado en este issue
Descripción del Error Parece que con cada ejecución de la app, de alguna manera se agregan nuevos registros en la tabla muchos a muchos entre perfiles y entornos. Los registros son idénticos (referencian al mismo perfil de usuario y el mismo entorno). Esto provoca que métodos como
UserProfile.selectedEnvironment
produzcan errores inesperados.Cómo Reproducir Pasos para reproducir el error:
Comportamiento Esperado La app agrega un solo registro a la tabla muchos a muchos, cuando se crea un nuevo perfil de usuario. Este registro referencia el nuevo perfil con el entorno por defecto (el entorno que es desbloqueado gratis, para todos).
Entorno
Contexto Adicional El total de registros en la tabla debe equivaler a la suma del número de perfiles desbloqueados de cada perfil de la app.
También, el getter
UserProfile.selectedEnvironment
produce un error cuandounlockedEnvironments
no está vacío, pero el ID deselectedEnvId
no coincide con ninguno de los entornos desbloqueados. Actualmente, esto genera unStateError
. Quizás es más apropiado que simplemente modifiqueselectedEnvId
a un valor correcto y retorne el entorno por defecto.