Dendrite is a second-generation Matrix homeserver written in Go!
Go to file
Kegsay 7c36fb78a7
Fix rooms v3 url paths for good - with tests (#1130)
* Fix rooms v3 url paths for good - with tests

- Add a test rig around `federationapi` to test routing.
- Use `JSONVerifier` over `KeyRing` so we can stub things out more easily.
- Add `test.NopJSONVerifier` which verifies nothing.
- Add `base.BaseMux` which is the original `mux.Router` used to spawn public/internal routers.
- Listen on `base.BaseMux` and not the default serve mux as it cleans paths which we don't want.
- Factor out `ListenAndServe` to `test.ListenAndServe` and add flag for listening on TLS.

* Fix comments

* Linting
2020-06-15 16:57:59 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
build Nuke old Docker stuff (#1104) 2020-06-05 19:00:30 +01:00
clientapi Current wiring (#1125) 2020-06-15 10:13:57 +01:00
cmd Fix rooms v3 url paths for good - with tests (#1130) 2020-06-15 16:57:59 +01:00
docs Current wiring (#1125) 2020-06-15 10:13:57 +01:00
eduserver Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
federationapi Fix rooms v3 url paths for good - with tests (#1130) 2020-06-15 16:57:59 +01:00
federationsender Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
internal Fix rooms v3 url paths for good - with tests (#1130) 2020-06-15 16:57:59 +01:00
keyserver Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
mediaapi Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
publicroomsapi Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
roomserver Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
serverkeyapi Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
syncapi Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
userapi Fix rooms v3 url paths for good - with tests (#1130) 2020-06-15 16:57:59 +01:00
.dockerignore Docker Hub (#1053) 2020-05-21 13:02:28 +01:00
.gitignore Support embedding Riot Web (#1113) 2020-06-11 10:16:46 +01:00
.golangci.yml Get room versions from database (#918) 2020-03-17 18:00:10 +00:00
are-we-synapse-yet.list Update are-we-synapse-yet (#1092) 2020-06-04 11:13:40 +01:00
are-we-synapse-yet.py Update are-we-synapse-yet (#1092) 2020-06-04 11:13:40 +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 Send-to-device support (#1072) 2020-06-01 17:50:19 +01:00
go.mod Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +01:00
go.sum Rehuffle where things are in the internal package (#1122) 2020-06-12 14:55:57 +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 Send-to-device support (#1072) 2020-06-01 17:50:19 +01:00
sytest-whitelist Enable room version 6 (#1087) 2020-06-04 10:53:39 +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.