Giter Club home page Giter Club logo

synapse-desktop's People

Contributors

marco-fp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

synapse-desktop's Issues

Refactor using Electron and React

Due to the fact that signal protocol's library uses window.crypto, will be necessary to migrate the client application to a browser environment; such as electron.

Refactor chat_client.js into a React component

Refactor the class of chat_client.js into a React component that wraps the chat client functionality, using nested routes for rendering children components (Contacts, chat/conversation).

Fix React warnings

  • setState(...): Cannot update during an existing state transition
  • Each child in an array or iterator should have a unique "key" prop. Check the render method [...]

Chat functionality between two clients

Chat initialization process:

  1. Client A sends server 'init-chat' message with the id of client B to start a conversation.
  2. Server receives 'init-chat' message and forwards the message to client B.
  3. Client B accepts the chat by answering the server with 'accept-chat' and client A's id.
  4. A and B can now send 'chat-msg' with each other's Ids.

Steps 1-3 handshake serves as a placeholder for future implementations of Signal's protocol sessions.

Improve styles

Improve styles on:

  • Landing page
  • Login
  • Loader
  • Contacts (check how difficult it would be to merge contacts and conversation view, like other desktop apps such as Telegram or WhatsApp)

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.