A Golang Matrix framework.
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
Tulir Asokan 7d54edbfda
Some checks are pending
Go / Lint (latest) (push) Waiting to run
Go / Build (old, libolm) (push) Waiting to run
Go / Build (latest, libolm) (push) Waiting to run
Go / Build (old, goolm) (push) Waiting to run
Go / Build (latest, goolm) (push) Waiting to run
bridgev2/mxmain: add support for reading env vars from config
2025-12-02 19:04:04 +02:00
.github/workflows ci: disable tests on goolm again 2025-08-17 13:15:53 +03:00
appservice client,appservice: deprecate SendMassagedStateEvent in favor of SendStateEvent params 2025-11-13 17:38:45 +02:00
bridgev2 bridgev2/mxmain: add support for reading env vars from config 2025-12-02 19:04:04 +02:00
commands commands: add safety to type check 2025-07-15 13:19:44 +03:00
crypto crypto: allow storing arbitrary metadata alongside encrypted account data 2025-11-26 10:42:32 +00:00
event bridgev2: add custom event for requesting state change (#428) 2025-11-19 13:15:38 +02:00
example pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
federation federation/eventauth: fix sender membership check when kicking 2025-11-28 13:40:54 +02:00
format format: add MarkdownMentionRoomID helper 2025-08-24 00:47:55 +03:00
id client,event: MSC4140: Delayed events 2025-10-14 14:22:47 +03:00
mediaproxy bridgev2,federation,mediaproxy: enable http access logging 2025-07-29 17:10:50 +03:00
mockserver crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03:00
pushrules event,pushrules: replace assert.Nil with assert.NoError 2025-08-21 13:19:11 +03:00
sqlstatestore statestore: save join rules for rooms 2025-11-12 21:46:23 +02:00
synapseadmin synapseadmin: Add force_purge option (#420) 2025-10-18 21:27:08 +01:00
.editorconfig bridgev2/matrix: add OpenAPI spec for provisioning API 2024-08-10 17:43:53 +03:00
.gitignore Add draft of high-level client framework 2024-05-26 18:29:22 +03:00
.pre-commit-config.yaml pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
CHANGELOG.md changelog: fix link 2025-11-19 12:51:08 +02:00
client.go client: add special error that indicates to retry canceled contexts 2025-11-26 10:55:36 +00:00
error.go client: add special error that indicates to retry canceled contexts 2025-11-26 10:55:36 +00:00
filter.go filter: add unread_thread_notifications to FilterPart 2024-12-19 13:13:27 -07:00
go.mod dependencies: update 2025-11-28 13:38:05 +02:00
go.sum dependencies: update 2025-11-28 13:38:05 +02:00
LICENSE treewide: fixup for pre-commit 2022-01-27 09:35:41 -07:00
README.md Update readme 2024-06-11 21:08:24 +03:00
requests.go client,event: MSC4140: Delayed events 2025-10-14 14:22:47 +03:00
responses.go client: move some room summary fields to public room info 2025-11-19 12:51:08 +02:00
responses_test.go crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03:00
room.go Add method to get full room state 2021-09-30 16:05:56 +03:00
statestore.go statestore: fix missing JoinRules map when initializing MemoryStateStore (#432) 2025-11-17 20:18:46 +02:00
sync.go crypto/helper: don't block on decryption 2025-10-05 12:30:54 +03:00
syncstore.go Merge remote-tracking branch 'recht/synccontext' 2024-01-07 15:37:18 +02:00
url.go client: add some nil safety 2025-03-12 19:48:05 +02:00
url_test.go Switch to /v3 paths everywhere 2022-04-17 12:59:34 +03:00
version.go Bump version to v0.26.0 2025-11-16 12:51:14 +02:00
versions.go bridgev2/matrix: use MSC4169 to send redactions when available 2025-11-13 17:39:27 +02:00
versions_test.go Parse spec version numbers in /versions response 2022-05-06 14:31:38 +03:00

mautrix-go

GoDoc

A Golang Matrix framework. Used by gomuks, go-neb, mautrix-whatsapp and others.

Matrix room: #go:maunium.net

This project is based on matrix-org/gomatrix. The original project is licensed under Apache 2.0.

In addition to the basic client API features the original project has, this framework also has:

  • Appservice support (Intent API like mautrix-python, room state storage, etc)
  • End-to-end encryption support (incl. interactive SAS verification)
  • High-level module for building puppeting bridges
  • High-level module for building chat clients
  • Wrapper functions for the Synapse admin API
  • Structs for parsing event content
  • Helpers for parsing and generating Matrix HTML
  • Helpers for handling push rules