Dendrite is a second-generation Matrix homeserver written in Go!
Find a file
Andrew Morgan 46881a68b2 Encode URLs properly
We were escaping the URL before performing any pattern matching on it.
This meant that if you sent data that URLdecoded to a "/", it would count as
a "/" in the URL, potentially causing a 404. This was causing some flaky tests
with some randomly-generated query parameters.

Now, we keep URLs encoded while doing the pattern matching, and only afterwards
do we URL decode each query parameter individually before passing them to their
respective handler functions.
2019-07-02 17:09:31 +01:00
.buildkite Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
.circleci Run CircleCI on pull request branches (#710) 2019-05-29 11:34:36 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
clientapi Encode URLs properly 2019-07-02 17:09:31 +01:00
cmd Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
common Encode URLs properly 2019-07-02 17:09:31 +01:00
docker Update Docker files and remove references to gb (#703) 2019-05-22 10:44:25 +01:00
docs Fix testfile path hardcoded in show-expected-fail-tests.sh (#719) 2019-06-25 11:50:19 +01:00
federationapi Encode URLs properly 2019-07-02 17:09:31 +01:00
federationsender use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
hooks run commit hook on what we're committing (#356) 2017-11-27 12:19:04 +00:00
mediaapi Encode URLs properly 2019-07-02 17:09:31 +01:00
publicroomsapi Encode URLs properly 2019-07-02 17:09:31 +01:00
roomserver rommserver/alias: Do not call appserviceAPI in GetRoomIDForAlias if local alias found #631 (#702) 2019-06-25 13:43:18 +01:00
scripts Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
syncapi Encode URLs properly 2019-07-02 17:09:31 +01:00
typingserver Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
.editorconfig Add .editorconfig (#179) 2017-08-05 02:25:40 +01:00
.gitignore use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
.golangci.yml Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
build.sh Not all systems have bash (#720) 2019-06-24 13:35:29 +01:00
CODE_STYLE.md Code Style: Prefer WithFields over Infof (#349) 2017-11-22 09:35:25 +00:00
CONTRIBUTING.md Update Docker files and remove references to gb (#703) 2019-05-22 10:44:25 +01:00
dendrite-config.yaml Remove riot.im from the list of trusted ID servers in the default config (#688) 2019-01-31 10:06:11 +00:00
DESIGN.md Clean up README a bit (#289) 2017-10-10 09:33:41 +01:00
go.mod Encode URLs properly 2019-07-02 17:09:31 +01:00
go.sum Encode URLs properly 2019-07-02 17:09:31 +01:00
INSTALL.md use go module for dependencies (#594) 2019-05-21 21:56:55 +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 Fix pipeline, emoji and syntax (#713) 2019-06-19 14:05:03 +01:00
show-expected-fail-tests.sh Fix testfile path hardcoded in show-expected-fail-tests.sh (#719) 2019-06-25 11:50:19 +01:00
testfile Encode URLs properly 2019-07-02 17:09:31 +01:00
WIRING.md Document internal APIs and Application Services component (#499) 2018-07-06 02:33:53 -07:00

Dendrite Build Status CircleCI Dendrite Dev on Matrix Dendrite on Matrix

Dendrite will be a matrix homeserver written in go.

It's still very much a work in progress, but installation instructions can be found in INSTALL.md

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!

We aim to try and make it as easy as possible to jump in.

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.