[matrix] is an open network for secure, decentralized communication.
This project contains Haskell libraries for matrix.org. This allows you to rapidly integrate matrix events in your application.
A low level library to implements the client-server spec:
- Basic room membership to leave and join rooms
- Basic sync to read room's timeline
- Sending text events
- Identity lookup
- Invites
- Rich messages
- Decoders to support OLM with https://github.com/livmackintosh/matrix-sdk
- The rest of the HTTP API...
To work on this project you need a Haskell toolchain, for example on fedora:
$ sudo dnf install -y ghc cabal-install && cabal update
Run the tests:
$ cabal build all && cabal test all
Some tests requires a local matrix server, run integration service:
# In another terminal:
$ nix develop -c conduit-start
# Before running cabal test:
$ export $(nix develop -c conduit-setup)
$ cabal test all
Restart the commands to run the test on a fresh environment.
If you experience any difficulties, please don't hesistate to raise an issue.