A minimalistic client written in Go


  • Less than 250 lines of code.
  • Fetching last ten messages of each room on start.
  • Receiving messages by long polling sync call.
  • Sending messages through named pipes.
  • Marking latest event as read (the recommendation to only mark this as read when the user has read the message seems iffy here. An IMAP type tagging system could work, but would be as complex as the program itself). At least this way, users of other clients will know your computer has recieved the message.
  • Online presence.
  • Message modification time set to message timestamp minus five seconds.
  • List of new messages (file paths) written to stdout


  • Syncing all message history without gaps.

Above list fetched from gitlab!


How helpful was this page? Click to give a rating