A Golang Matrix framework.
Go to file
Sumner Evans f96a85bd10
fixup! (DO NOT MERGE) crypto: allow run goolm side-by-side with libolm
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2025-01-17 16:34:54 -07:00
.github/workflows ci: use pre-commit action instead of running manually 2024-10-16 17:32:04 +03:00
appservice bridgev2/messagestatus: prevent checkpoints for double puppeted events (#342) 2025-01-10 15:19:44 +02:00
bridge filter: make sub-structs properly nullable so omitempty works 2024-12-19 12:56:15 -07:00
bridgev2 bridgev2/config: update MSC reference for appservice e2ee 2025-01-16 12:03:53 +02:00
crypto fixup! (DO NOT MERGE) crypto: allow run goolm side-by-side with libolm 2025-01-17 16:34:54 -07:00
event event: remove struct tags from FileInfo 2025-01-13 22:09:49 +02:00
example Remove separate go.mod for example 2024-05-26 18:26:04 +03:00
federation federation: limit .well-known file size 2024-09-03 01:49:06 +03:00
format format: add markdown renderer for custom emojis 2024-11-02 13:44:51 +02:00
id id: remove outdated URI tests 2024-10-17 20:30:32 +03:00
mediaproxy mediaproxy: pass through query parameters 2024-11-06 13:11:31 +01:00
pushrules pushrules: add support for sender_notification_permission condition kind 2024-10-18 14:07:25 +03:00
sqlstatestore sqlstatestore: handle nulls in members_fetched 2024-10-22 12:50:53 +03:00
synapseadmin client: stop using MakeFullRequest unnecessarily 2024-06-15 20:15:06 +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.23.0 2025-01-16 12:36:11 +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
client.go client: add optional media HTTP client 2025-01-08 13:30:59 +00:00
error.go error: don't include path in HTTP errors 2024-12-19 23:34:02 +02:00
filter.go filter: add unread_thread_notifications to FilterPart 2024-12-19 13:13:27 -07:00
go.mod dependencies: update 2025-01-16 12:04:13 +02:00
go.sum dependencies: update 2025-01-16 12:04:13 +02:00
requests.go client: support setting status message in SetPresence (#336) 2024-12-22 16:17:22 +02:00
responses.go client: add wrapper for /openid/request_token 2025-01-01 18:00:25 +02: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 filter: make sub-structs properly nullable so omitempty works 2024-12-19 12:56:15 -07:00
syncstore.go Merge remote-tracking branch 'recht/synccontext' 2024-01-07 15:37:18 +02:00
url.go client: allow multiple vias in JoinRoom 2024-12-19 22:15:43 +02:00
url_test.go Switch to /v3 paths everywhere 2022-04-17 12:59:34 +03:00
version.go Bump version to v0.23.0 2025-01-16 12:36:11 +02:00
versions.go versions: add new spec version constants 2024-12-19 19:05:00 +02:00
versions_test.go Parse spec version numbers in /versions response 2022-05-06 14:31:38 +03:00

README.md

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