A Golang Matrix framework.
  • Go 99.7%
  • PLpgSQL 0.3%
Find a file
Nick Mills-Barrett 487fc699fe
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/provisioning: add session transfer support
For connector logins that support it this will expose an API to transfer
credentials between bridge instances.

Currently does not do any extra validation beyond the usual provisioning
API request validation (so shared secret or matrix token). One future
improvement would be to require clients to sign incoming requests, and
to then validate a) the signature and b) the device is verified.
2025-05-22 11:28:58 +01:00
.github/workflows dependencies: update go 2025-02-12 13:44:24 +02:00
appservice appservice/http: use constant time comparisons for access tokens 2025-03-16 15:05:55 +02:00
bridgev2 bridgev2/provisioning: add session transfer support 2025-05-22 11:28:58 +01:00
commands commands: include handler chain in command events 2025-05-02 02:05:11 +03:00
crypto crypto/cross_signing: allow json marshaling cross-signing key seeds 2025-05-10 11:35:06 +03:00
event event: clear mentions in SetEdit 2025-04-29 19:58:47 +03:00
example Remove separate go.mod for example 2024-05-26 18:26:04 +03:00
federation federation/serverauth: fix go 1.23 compatibility 2025-05-04 01:14:44 +03:00
format format: accept any string-like type in SafeMarkdownCode 2025-04-28 01:00:25 +03:00
id id: make user id parsing more efficient 2025-04-11 17:12:06 +03:00
mediaproxy mediaproxy: add option to enforce federation auth 2025-05-04 01:04:40 +03:00
pushrules pushrules: fix word boundary matching and case sensitivity 2025-02-08 16:18:51 +02:00
sqlstatestore crypto,sqlstatestore: fix more deprecated NewRowIter uses 2025-01-29 15:16:53 +02:00
synapseadmin synapseadmin: add SuspendAccount method 2025-05-03 03:00:31 +03: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: update and ban Msgf on zerolog logs 2024-10-30 10:15:37 -06:00
CHANGELOG.md Bump version to v0.24.0 2025-05-16 08:13:16 +03:00
client.go client: don't attempt to make requests if the homeserver URL isn't set (#376) 2025-05-07 14:19:01 +01:00
error.go client: don't attempt to make requests if the homeserver URL isn't set (#376) 2025-05-07 14:19:01 +01:00
filter.go filter: add unread_thread_notifications to FilterPart 2024-12-19 13:13:27 -07:00
go.mod Bump version to v0.24.0 2025-05-16 08:13:16 +03:00
go.sum Bump version to v0.24.0 2025-05-16 08:13:16 +03: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,federation: add wrappers for /publicRooms 2025-04-21 23:43:44 +03:00
responses.go client: add allowed_room_ids to room summary response (#367) 2025-04-06 00:41:16 +01:00
responses_test.go Fix bug 2022-08-04 15:03:05 +03:00
room.go Add method to get full room state 2021-09-30 16:05:56 +03:00
statestore.go statestore: mass insert members on refetch 2024-09-02 23:49:06 +03:00
sync.go sync: add support for MSC4222 2025-03-09 21:04:50 +02: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.24.0 2025-05-16 08:13:16 +03:00
versions.go client: add wrapper method for MSC2815 2025-02-23 18:13:09 +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