Dendrite is a second-generation Matrix homeserver written in Go!
Find a file
Kegsay e15a8042a1
BREAKING: Make eduserver/appservice use userapi (#1138)
* BREAKING: Make eduserver/appservice use userapi

This is a breaking change because this PR restructures how the AS API
tracks its position in Kafka streams. Previously, it used the account DB
to store partition offsets. However, this is also being used by `clientapi`
for the same purpose, which is bad (each component needs to store offsets
independently or else you might lose messages across restarts). This PR
changes this behaviour to now store partition offsets in the `appservice`
database.

This means that:
 - Upon restart, the `appservice` component will attempt to replay all
   room events from the beginning of time.
 - An additional table will be created in the appservice database, which
   in and of itself is backwards compatible.

* Return ErrorConflict
2020-06-16 17:39:56 +01:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice BREAKING: Make eduserver/appservice use userapi (#1138) 2020-06-16 17:39:56 +01:00
build Nuke old Docker stuff (#1104) 2020-06-05 19:00:30 +01:00
clientapi BREAKING: Make eduserver/appservice use userapi (#1138) 2020-06-16 17:39:56 +01:00
cmd BREAKING: Make eduserver/appservice use userapi (#1138) 2020-06-16 17:39:56 +01:00
docs Make syncapi use userapi (#1136) 2020-06-16 17:05:38 +01:00
eduserver BREAKING: Make eduserver/appservice use userapi (#1138) 2020-06-16 17:39:56 +01:00
federationapi Make federationapi use userapi (#1135) 2020-06-16 14:53:19 +01:00
federationsender Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
internal Make syncapi use userapi (#1136) 2020-06-16 17:05:38 +01:00
keyserver Make userapi responsible for checking access tokens (#1133) 2020-06-16 14:10:55 +01:00
mediaapi Fix media API for demos and possibly Synapse (#1134) 2020-06-16 14:29:11 +01:00
publicroomsapi Make userapi responsible for checking access tokens (#1133) 2020-06-16 14:10:55 +01:00
roomserver Minor perf/debugging improvements (#1121) 2020-06-12 15:11:33 +01:00
serverkeyapi More server key updates, tests (#1129) 2020-06-16 13:11:20 +01:00
syncapi Make syncapi use userapi (#1136) 2020-06-16 17:05:38 +01:00
userapi BREAKING: Make eduserver/appservice use userapi (#1138) 2020-06-16 17:39:56 +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 Make userapi responsible for checking access tokens (#1133) 2020-06-16 14:10:55 +01:00
go.mod More server key updates, tests (#1129) 2020-06-16 13:11:20 +01:00
go.sum More server key updates, tests (#1129) 2020-06-16 13:11:20 +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 Update sytest-whitelist 2020-06-16 14:47:30 +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.