Giter Site home page Giter Site logo

matrix-redux's People

Contributors

gperdomor avatar johuder33 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jair1004

matrix-redux's Issues

Implementar mejor sync.start()

  • Procesar estado null
  • Procesar estado PREPARED
  • Procesar estado STOPPED
  • Procesar estado SYNCING
  • Procesar estado ERROR
  • Hacer test de prueba con error que tuvimos, para comprobar que el DEBUG lo registre y que se actualice el state de Errores.
  • Poder ejecutar start() con las opciones de la librería y que el syncToken
  • Ver que pasa cuando inicio con el syncToken

Action para enviar evento a la medida

La idea es poder enviar eventos del tipo que queramos, como por ejemplo:

  • Tareas, y con persona asignada y que pertenecen a un proyecto
  • Encuestas
  • Solicitud de completar formularios
  • Timeline como Facebook.
  • etc

Mejor función `request`

  • Indicar en documentación que se necesita instalar isomorphic-fetch para node y web
  • Indicar en doc que se necesita instalar es6-promise para web
  • Indicar que para React-Native no se necesita nada
  • Copiar el funcionamiento original, teniendo en cuenta query-string, y retornar sin modificación.
  • Opción para habilitar debug

Mejor Framework de Tests

  • Usar librería de Mockups para llamadas Web
  • Usar recursive en Mocka para que tome todos los test
  • Configurar Travis para que corra los tests
  • Hacer Tests para Action Creators
  • Hacer Tests para Reducers
  • Hacer Tests para las funciones de utils
  • Hacer Tests para las funciones de client
  • Hacer Tests para Milddleware de la API
  • Hacer Tests para los Schemas

2. Mejoras a startClient()

Cliente start de matrix que escuche eventos, transforme json y dispatche acciones que actualicen el estado:

  • que pueda hacer start con synctoken
  • las acciones son los mismos tipos de eventos de matrix, ver si es necesario separarlos aún más
  • los eventos disparan acciones

Implementar MatrixClient como Middleware

  • Indicar en la doc que se debe cargar el Middleware al usar el store
  • Los tests deben ser con mockups
  • Las llamadas deben tener tests
  • Se debe probar se devuelvan los errores
  • Sólo hacer un request si el objeto no está en el store
  • Las respuestas deben ser retornadas pasando por el schema json

3. Funciones básicas

Crear las siguientes Acciones básicas:

  • Login
  • Logout
  • Startclient con synctoken
  • setear estado
  • enviar mensaje
  • enviar adjuntos
  • mandar info de mensaje leido
  • crear sala
  • invitar a sala

Transformar JSON a Schema útil

Primer nivel debe retornar:

  • "nextBatch": "s39946_475703_4111_33749_101_17_21"
  • "rooms": {Objetos con roomIds}
  • "events": {Objeto con events}
  • "accountData": "events": [ARRAY]
  • "toDevice": "events": [ARRAY]
  • "presence": "events": {Objecto con Id el Id es el Id del usuario}

Cada objeto room debe tener:

  • id, el Id del room
  • membershipState, el estado de membresía del currentUser sobre el room,
  • "name": "name",
  • "topic": "topic",
  • "avatarUrl": "url",
  • "members": [Object"],
  • "unreadNotifications": ["Object"],
  • "timeline.events": ["ARRAY OF Events Ids"],

Varios del Room:

  • eventsTimeLine debe estar ordenado por tiempo.

Varios del Event:

  • debe tener un roomIdque pertenezca al room

Logger

  • Indicar en la documentación que la librería de LOGS se debe pasar como parámetro, algo así como : logger=loggerFunction
  • Indicar en la doc que se puede activar el debug como opción
  • Con soporte para INFO, WARN y DEBUG
  • INFO y WARN deberían estar siempre activos
  • DEBUG se debe activar por parámetros cuando se inicia el cliente

Fallo en State de rooms

Se esta creando un objeto undefined dentro de rooms y objetos undefined y join dentro de byIds

screen shot 2016-11-03 at 5 39 41 pm

Mappear avatarUrl en users state

Optimización al llamarse MatrixClient.getAvatarUrl(...) una sola vez desde en lugar de hacerlo cada vez que se quiera mostrar la imagen, por ejemplo en las conversaciones

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.