Need help with gomatrix?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

matrix-org
176 Stars 38 Forks Apache License 2.0 168 Commits 25 Opened issues

Description

A Golang Matrix client

Services available

!
?

Need anything else?

Contributors list

# 33,765
slack
Atom
golang
Perl
52 commits
# 129,922
Shell
React
webaudi...
html5
15 commits
# 50,192
Perl
sasl
jitsi
debian
8 commits
# 31,814
appserv...
bittorr...
Electro...
openvpn
8 commits
# 303,893
Databas...
SQL
golang
Shell
7 commits
# 139,264
riot
appserv...
C++
Qt
6 commits
# 691,665
Go
Shell
3 commits
# 36,008
Shell
Perl
nacl
matrix-...
3 commits
# 33,242
Flask
C++
macOS
Linux
3 commits
# 66,179
appserv...
TypeScr...
Perl
Discord
1 commit
# 46,387
Go
Shell
routing...
tun
1 commit
# 183,880
Rust
matrix-...
messeng...
routing...
1 commit
# 631,996
Shell
C++
C
1 commit
# 642,804
Go
Shell
1 commit
# 53,879
Perl
matrix-...
Firefox
Twitter
1 commit
# 718,349
Go
Shell
1 commit
# 205,480
D
attiny
attiny8...
Firefox
1 commit
# 5,083
Go
irc
faceboo...
Twitch
1 commit
# 718,350
Go
Shell
1 commit
# 71,583
Docker
Go
vagrant...
vuejs
1 commit

gomatrix

GoDoc

A Golang Matrix client.

THIS IS UNDER ACTIVE DEVELOPMENT: BREAKING CHANGES ARE FREQUENT.

Contributing

All contributions are greatly appreciated!

How to report issues

Please check the current open issues for similar reports in order to avoid duplicates.

Some general guidelines:

  • Include a minimal reproducible example when possible.
  • Describe the expected behaviour and what actually happened including a full trace-back in case of exceptions.
  • Make sure to list details about your environment

Setting up your environment

If you intend to contribute to gomatrix you'll first need Go installed on your machine (version 1.12+ is required). Also, make sure to have golangci-lint properly set up since we use it for pre-commit hooks (for instructions on how to install it, check the official docs).

  • Fork gomatrix to your GitHub account by clicking the Fork button.
  • Clone the main repository (not your fork) to your local machine.

    $ git clone https://github.com/matrix-org/gomatrix
    $ cd gomatrix
    
  • Add your fork as a remote to push your contributions.Replace

    {username}
    with your username.
    git remote add fork https://github.com/{username}/gomatrix
    
  • Create a new branch to identify what feature you are working on.

    $ git fetch origin
    $ git checkout -b your-branch-name origin/master
    
  • Make your changes, including tests that cover any code changes you make, and run them as described below.

  • Execute pre-commit hooks by running

    /hooks/pre-commit
    
  • Push your changes to your fork and create a pull request describing your changes.

    $ git push --set-upstream fork your-branch-name
    
  • Finally, create a pull request

How to run tests

You can run the test suite and example code with

$ go test -v

Running Coverage

To run coverage, first generate the coverage report using

go test
go test -v -cover -coverprofile=coverage.out

You can now show the generated report as a html page with

go tool
go tool cover -html=coverage.out

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.