Dendrite is a second-generation Matrix homeserver written in Go!
Go to file
Neil Alexander 02fe38e1f7
Per-user-per-device sync streams (#1068)
* Per-user-per-device sync streams

* Tweaks

* Tweaks

* Pass full device into CompleteSync

* Set user IDs and device IDs properly in tests

* Add new test, fix TestNewEventAndWasPreviouslyJoinedToRoom

* nolint a function that is not used yet

* Add test for waking up single device

* Hopefully unstick test

* Try to ensure that TestCorrectStreamWakeup doesn't block forever

* Update tests
2020-05-28 10:05:04 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
build Per-user-per-device sync streams (#1068) 2020-05-28 10:05:04 +01:00
clientapi Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
cmd Server key component (#1050) 2020-05-27 10:19:24 +01:00
docs Update p2p docs 2020-05-27 09:39:26 +01:00
eduserver Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00
federationapi Return 500 when processing a transaction fails fatally (#1066) 2020-05-27 11:16:27 +01:00
federationsender Read batches from incoming channels (#1067) 2020-05-27 12:16:53 +01:00
internal Server key component (#1050) 2020-05-27 10:19:24 +01:00
keyserver Separate muxes for public and internal APIs (#1056) 2020-05-22 11:43:17 +01:00
mediaapi dendritejs tweaks for persisting sqlite DBs (#1058) 2020-05-22 12:28:48 +01:00
publicroomsapi dendritejs tweaks for persisting sqlite DBs (#1058) 2020-05-22 12:28:48 +01:00
roomserver Convert remaining roomserver tables (#1065) 2020-05-27 11:03:47 +01:00
serverkeyapi Server key component (#1050) 2020-05-27 10:19:24 +01:00
syncapi Per-user-per-device sync streams (#1068) 2020-05-28 10:05:04 +01:00
.dockerignore Docker Hub (#1053) 2020-05-21 13:02:28 +01:00
.gitignore Update .gitignore 2020-03-10 11:42:40 +00:00
.golangci.yml Get room versions from database (#918) 2020-03-17 18:00:10 +00:00
are-we-synapse-yet.list Direct messages (#1012) 2020-05-07 16:46:11 +01:00
are-we-synapse-yet.py Are we synapse yet? (#960) 2020-04-14 16:05:15 +01:00
build-dendritejs.sh Bake in git commit into dendritejs binary (#1048) 2020-05-19 16:42:30 +01:00
build.sh Unbreak the wasm build (#986) 2020-04-28 16:22:00 +01:00
dendrite-config.yaml Server key component (#1050) 2020-05-27 10:19:24 +01:00
go.mod Server key component (#1050) 2020-05-27 10:19:24 +01:00
go.sum Server key component (#1050) 2020-05-27 10:19:24 +01:00
LICENSE Add Apache Version 2.0 license and headers to all golang files 2017-04-21 00:40:52 +02:00
README.md Update INSTALL.md, move docs (#1034) 2020-05-14 16:49:18 +01:00
show-expected-fail-tests.sh Fix newlines between white/blacklist test names in buildkite annotations (#1003) 2020-05-04 14:48:49 +01:00
sytest-blacklist Move /room/{roomID}/state endpoints into client API (#606) (#962) 2020-04-14 18:36:08 +01:00
sytest-whitelist Miscellaneous fixes (#1060) 2020-05-26 14:41:16 +01:00

Dendrite Build Status Dendrite Dev on Matrix Dendrite on Matrix

Dendrite will be a second-generation Matrix homeserver written in Go.

It's still very much a work in progress, but installation instructions can be found in INSTALL.md. It is not recommended to use Dendrite as a production homeserver at this time.

An overview of the design can be found in DESIGN.md.

Contributing

Everyone is welcome to help out and contribute! See CONTRIBUTING.md to get started!

Please note that, as of February 2020, Dendrite now only targets Go 1.13 or later. Please ensure that you are using at least Go 1.13 when developing for Dendrite.

Discussion

For questions about Dendrite we have a dedicated room on Matrix #dendrite:matrix.org. Development discussion should happen in #dendrite-dev:matrix.org.

Progress

There's plenty still to do to make Dendrite usable! We're tracking progress in a project board.