A Golang Matrix framework.
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
Skip R b7f130c1cd bridgev2/userlogin: copy the remote profile when filling bridge state
Pointing into ul.RemoteProfile directly means that the RemoteProfile in
the pending BridgeState will always point to the "latest" RemoteProfile,
which leads the RemoteProfile comparison in ShouldDeduplicate to always
think that the RemoteProfile hasn't changed. It's always going to
dereference the same two pointers.
2026-03-06 21:22:09 -08:00
.github/workflows main: bump minimum Go version to 1.25 2026-02-11 21:34:47 +02:00
appservice client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
bridgev2 bridgev2/userlogin: copy the remote profile when filling bridge state 2026-03-06 21:22:09 -08:00
commands event/cmdschema: disallow positional optional parameters and add tail parameters 2026-01-11 23:42:24 +02:00
crypto client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
event client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
example pre-commit: ban log.Str(x.String()) 2025-08-29 11:07:16 +03:00
federation federation/pdu: add AddSignature helper method 2026-03-01 12:37:13 +02:00
format format: add MarkdownMentionRoomID helper 2025-08-24 00:47:55 +03:00
id crypto: save source of megolm sessions 2026-02-21 01:06:12 +02:00
mediaproxy mediaproxy: handle federation thumbnail requests 2026-02-15 21:47:10 +02:00
mockserver crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03:00
pushrules all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
sqlstatestore statestore: save join rules for rooms 2025-11-12 21:46:23 +02:00
synapseadmin all: fix staticcheck issues 2025-12-08 00:07:25 +02: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 ci: update actions and pre-commit hooks 2025-12-13 10:54:58 +02:00
CHANGELOG.md Bump version to v0.26.3 2026-02-16 14:33:21 +02:00
client.go client: log content length when uploading to external url 2026-03-04 22:50:43 +02:00
client_ephemeral_test.go client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01:00
error.go error: add RespError.CanRetry field (#456) 2026-01-29 15:01:48 +00:00
filter.go all: fix staticcheck issues 2025-12-08 00:07:25 +02:00
go.mod dependencies: update 2026-02-19 22:51:37 +02:00
go.sum dependencies: update 2026-02-19 22:51:37 +02:00
LICENSE treewide: fixup for pre-commit 2022-01-27 09:35:41 -07:00
README.md readme: update 2026-03-05 11:59:11 +02:00
requests.go client: add support for sending MSC4354 sticky events 2026-01-18 14:49:06 +02:00
responses.go client: add MemberCount helper method for lazy load summary 2026-01-18 22:41:34 +02:00
responses_test.go crypto: add basic group session sharing benchmark 2025-09-26 20:37:58 +03:00
room.go all: fix staticcheck issues 2025-12-08 00:07:25 +02: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 all: fix staticcheck issues 2025-12-08 00:07:25 +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.3 2026-02-16 14:33:21 +02:00
versions.go client,event,bridgev2: add support for Beeper's custom ephemeral events and AI stream events (#457) 2026-03-04 01:38:50 +01: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. key backup, cross-signing, interactive verification, etc)
  • High-level module for building puppeting bridges
  • Partial federation module (making requests, PDU processing and event authorization)
  • A media proxy server which can be used to expose anything as a Matrix media repo
  • Wrapper functions for the Synapse admin API
  • Structs for parsing event content
  • Helpers for parsing and generating Matrix HTML
  • Helpers for handling push rules