a5d822004d
* Groundwork for send-to-device messaging * Update sample config * Add unstable routing for now * Send to device consumer in sync API * Start the send-to-device consumer * fix indentation in dendrite-config.yaml * Create send-to-device database tables, other tweaks * Add some logic for send-to-device messages, add them into sync stream * Handle incoming send-to-device messages, count them with EDU stream pos * Undo changes to test * pq.Array * Fix sync * Logging * Fix a couple of transaction things, fix client API * Add send-to-device test, hopefully fix bugs * Comments * Refactor a bit * Fix schema * Fix queries * Debug logging * Fix storing and retrieving of send-to-device messages * Try to avoid database locks * Update sync position * Use latest sync position * Jiggle about sync a bit * Fix tests * Break out the retrieval from the update/delete behaviour * Comments * nolint on getResponseWithPDUsForCompleteSync * Try to line up sync tokens again * Implement wildcard * Add all send-to-device tests to whitelist, what could possibly go wrong? * Only care about wildcard when targeted locally * Deduplicate transactions * Handle tokens properly, return immediately if waiting send-to-device messages * Fix sync * Update sytest-whitelist * Fix copyright notice (need to do more of this) * Comments, copyrights * Return errors from Do, fix dendritejs * Review comments * Comments * Constructor for TransactionWriter * defletions * Update gomatrixserverlib, sytest-blacklist |
||
---|---|---|
.github | ||
appservice | ||
build | ||
clientapi | ||
cmd | ||
docs | ||
eduserver | ||
federationapi | ||
federationsender | ||
internal | ||
keyserver | ||
mediaapi | ||
publicroomsapi | ||
roomserver | ||
serverkeyapi | ||
syncapi | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
are-we-synapse-yet.list | ||
are-we-synapse-yet.py | ||
build-dendritejs.sh | ||
build.sh | ||
dendrite-config.yaml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
show-expected-fail-tests.sh | ||
sytest-blacklist | ||
sytest-whitelist |
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.