6d832ae544
* Initial cut for backfilling The syncserver now asks the roomserver via QueryBackfill (which already existed to *handle* backfill requests) which then makes federation requests via gomatrixserverlib.RequestBackfill. Currently, tests fail on subsequent /messages requests because we don't know which servers are in the room, because we are unable to get state snapshots from a backfilled event because that code doesn't exist yet. * WIP backfill, doesn't work * Make initial backfill pass checks * Persist backfilled events with state snapshots * Remove debug lines * Linting * Review comments |
||
---|---|---|
.github | ||
appservice | ||
clientapi | ||
cmd | ||
common | ||
docker | ||
docs | ||
eduserver | ||
federationapi | ||
federationsender | ||
hooks | ||
internal/sqlutil | ||
mediaapi | ||
publicroomsapi | ||
roomserver | ||
scripts | ||
syncapi | ||
.editorconfig | ||
.gitignore | ||
.golangci.yml | ||
are-we-synapse-yet.list | ||
are-we-synapse-yet.py | ||
build.sh | ||
CODE_STYLE.md | ||
CONTRIBUTING.md | ||
dendrite-config.yaml | ||
DESIGN.md | ||
go.mod | ||
go.sum | ||
INSTALL.md | ||
LICENSE | ||
p2p.md | ||
README.md | ||
show-expected-fail-tests.sh | ||
sytest-blacklist | ||
sytest-whitelist | ||
WIRING.md |
Dendrite
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.