Dendrite is a second-generation Matrix homeserver written in Go!
Go to file
Neil Alexander 9045b8e89f
Perspective key fetching, some federation room join fixes (#975)
* Update gomatrixserverlib

* Test matrix.org as perspective key server

* Base64 decode better

* Optional strict validity checking in gmsl

* Update gomatrixserverlib

* Attempt to find missing auth events over federation (this shouldn't happen but I am guessing there is a synapse bug involved where we don't get all of the auth events)

* Update gomatrixserverlib, debug logging

* Remove debugging output

* More verbose debugging

* Print outliers

* Increase timeouts for testing, observe contexts before trying to join over more servers

* Don't block on roomserver (experimental)

* Don't block on roomserver

* Update gomatrixserverlib

* Update gomatrixserverlib

* Configurable perspective key fetchers

* Output number of configured keys for perspective

* Example perspective config included

* Undo debug stack trace

* Undo debug stack trace

* Restore original HTTP listener in monolith

* Fix lint

* Review comments

* Set default HTTP server timeout to 5 minutes now, block again when joining

* Don't use HTTP address for HTTPS whoops

* Update gomatrixserverlib

* Update gomatrixserverlib

* Update gomatrixserverlib

* Actually add perspectives

* Actually add perspectives

* Update gomatrixserverlib
2020-04-20 17:42:34 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Add SQL tracing via DENDRITE_TRACE_SQL (#968) 2020-04-16 10:06:55 +01:00
clientapi Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
cmd Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
common Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
docker Rename the typing server to EDU server (#948) 2020-03-30 15:02:20 +01:00
docs Update guides for running sytest (#958) 2020-04-12 13:48:24 +01:00
eduserver use custom http client instead of the http DefaultClient (#823) 2020-04-03 11:40:50 +01:00
federationapi Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
federationsender Add SQL tracing via DENDRITE_TRACE_SQL (#968) 2020-04-16 10:06:55 +01:00
hooks run commit hook on what we're committing (#356) 2017-11-27 12:19:04 +00:00
internal/sqlutil Add SQL tracing via DENDRITE_TRACE_SQL (#968) 2020-04-16 10:06:55 +01:00
mediaapi Add SQL tracing via DENDRITE_TRACE_SQL (#968) 2020-04-16 10:06:55 +01:00
publicroomsapi Allow anyone to publish rooms (#971) 2020-04-17 12:17:20 +01:00
roomserver Set default room version to 4 (#957) 2020-04-16 12:53:27 +01:00
scripts Move files back if linting fails (#810) 2019-12-25 18:14:58 +00:00
syncapi Add SQL tracing via DENDRITE_TRACE_SQL (#968) 2020-04-16 10:06:55 +01:00
.editorconfig Add .editorconfig (#179) 2017-08-05 02:25:40 +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 Ensure room version tests can be grouped whether failed or passed (#972) 2020-04-18 11:01:48 +01:00
are-we-synapse-yet.py Are we synapse yet? (#960) 2020-04-14 16:05:15 +01:00
build.sh Add peer-to-peer support into Dendrite via libp2p and fetch (#880) 2020-03-06 10:23:55 +00:00
CODE_STYLE.md replaced gometalinter description with golangci-lint (#837) 2019-12-25 18:28:10 +00:00
CONTRIBUTING.md Update documentation for Go 1.13 (#867) 2020-02-06 11:54:26 +00:00
dendrite-config.yaml Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
DESIGN.md Clean up README a bit (#289) 2017-10-10 09:33:41 +01:00
go.mod Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
go.sum Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
INSTALL.md Update documentation for Go 1.13 (#867) 2020-02-06 11:54:26 +00:00
LICENSE Add Apache Version 2.0 license and headers to all golang files 2017-04-21 00:40:52 +02:00
p2p.md p2p: Use JSServer for comms rather than GoJsConn (#888) 2020-03-11 12:18:37 +00:00
README.md Kick CI 2020-02-28 14:46:03 +00:00
show-expected-fail-tests.sh Fix: show-expected-fail-tests.sh ignores # in whitelist and strips quotes in test names in output (#943) 2020-03-31 15:53:09 +01:00
sytest-blacklist Move /room/{roomID}/state endpoints into client API (#606) (#962) 2020-04-14 18:36:08 +01:00
sytest-whitelist Perspective key fetching, some federation room join fixes (#975) 2020-04-20 17:42:34 +01:00
WIRING.md Rename the typing server to EDU server (#948) 2020-03-30 15:02:20 +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.