---
# System prepended metadata

title: Dominio del Appstate y su carga

---

# Dominio del Appstate y su carga
Cuando el usuario carga equip en su browser se crea un objeto llamado **appstate** que representa una estructura donde se guardará toda la información que requeiere su aplicación. Por lo tanto parte de la planificación de un feature es asegurarse que la data que necesita está disponible en el Appstate, de no estarlo, habría que diseñar la solución para incorporarla.

## [Appstate actual](https://hackmd.io/@moqOc1m4TV6zGd_vaZ-2Sg/r1AgJx_LH)

## Problemas actuales
1. No están definidos todos los criterios en el [documento de diseño](https://hackmd.io/BNcUd5fsQhmEBTfVLyTelg?both#Modelos-en-el-AppState) y no estamos seguros de cuáles son todos los criterios. Falta clarificar que queremos evitar y como hacerlo.
2. Tenemos 2 métodos para cargar el appstate: 1) Carga inicial, cuando se cragan en la primera llamada del app llamada getState 2) Gradualmente, cuando se ejecuta una acción en esspecífico. Aquí faltan clarificar los criterios para saber cuándo se carga "gradualmente" un conjunto de elementos vs cuándo se carga inicialmente. Y protocolizar cómo generar estas acciones y como corroborar si ya se cargó o no para evitar bugs.
3. Falta definir la secuencia de preguntas-respuestas para saber dónde agregar un nuevo atributo.
4. El appstate mantiene una estructura basada en separar la información según la pantalla donde se usa. Pero esta distinción se dejó de respetar con el feature: "ver los compromisos activos de tur reportes directos al hacerles un pedido" y "Ver los compromisos activos tomados contigo para postergarlo en pos de un pedido prioritario". Y por lo tanto dificulta tener una forma más eficiente de data (para optimizar las búsquedas de data desde los componentes)
5. Hay un key del appstate actual llamado directReports, que debiese ser llamado reports.
6. Los nombres de los key no son suficientemente claros (EJ: collaborators.activeCommitments guarda los compromisos activos de mis reportes, de los pedidos que yo hice y están activos y de los compromisos de proyectos que creé yo o uno de mis reportes directos).
7. Falta incluir en el diagrama cómo es la carga de los elementos.
8. Problema de carga desde [favoritos](https://www.loom.com/share/7deebf02f6c0453397edad27ce0998bf) 
