b6ea1bc67a
* Move current work into single branch * Initial massaging of clientapi etc (not working yet) * Interfaces for accounts/devices databases * Duplicate postgres package for sqlite3 (no changes made to it yet) * Some keydb, accountdb, devicedb, common partition fixes, some more syncapi tweaking * Fix accounts DB, device DB * Update naffka dependency for SQLite * Naffka SQLite * Update naffka to latest master * SQLite support for federationsender * Mostly not-bad support for SQLite in syncapi (although there are problems where lots of events get classed incorrectly as backward extremities, probably because of IN/ANY clauses that are badly supported) * Update Dockerfile -> Go 1.13.7, add build-base (as gcc and friends are needed for SQLite) * Implement GET endpoints for account_data in clientapi * Nuke filtering for now... * Revert "Implement GET endpoints for account_data in clientapi" This reverts commit 4d80dff4583d278620d9b3ed437e9fcd8d4674ee. * Implement GET endpoints for account_data in clientapi (#861) * Implement GET endpoints for account_data in clientapi * Fix accountDB parameter * Remove fmt.Println * Fix insertAccountData SQLite query * Fix accountDB storage interfaces * Add empty push rules into account data on account creation (#862) * Put SaveAccountData into the right function this time * Not sure if roomserver is better or worse now * sqlite work * Allow empty last sent ID for the first event * sqlite: room creation works * Support sending messages * Nuke fmt.println * Move QueryVariadic etc into common, other device fixes * Fix some linter issues * Fix bugs * Fix some linting errors * Fix errcheck lint errors * Make naffka use postgres as fallback, fix couple of compile errors * What on earth happened to the /rooms/{roomID}/send/{eventType} routing Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com> |
||
---|---|---|
.github | ||
appservice | ||
clientapi | ||
cmd | ||
common | ||
docker | ||
docs | ||
federationapi | ||
federationsender | ||
hooks | ||
mediaapi | ||
publicroomsapi | ||
roomserver | ||
scripts | ||
syncapi | ||
typingserver | ||
.editorconfig | ||
.gitignore | ||
.golangci.yml | ||
CODE_STYLE.md | ||
CONTRIBUTING.md | ||
DESIGN.md | ||
INSTALL.md | ||
LICENSE | ||
README.md | ||
WIRING.md | ||
build.sh | ||
dendrite-config.yaml | ||
go.mod | ||
go.sum | ||
show-expected-fail-tests.sh | ||
sytest-blacklist | ||
sytest-whitelist |
README.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.