Dendrite is a second-generation Matrix homeserver written in Go!
Find a file
Kegsay b6ea1bc67a
Support sqlite in addition to postgres (#869)
* 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 4d80dff458.

* 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>
2020-02-13 17:27:33 +00:00
.github Add SyTest support to CI (#704) 2019-05-24 15:00:03 +01:00
appservice Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
clientapi Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
cmd Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
common Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
docker Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
docs Adding sslmode: disable to sytest server config (#813) 2020-02-11 13:53:00 +00:00
federationapi Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
federationsender Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
hooks run commit hook on what we're committing (#356) 2017-11-27 12:19:04 +00:00
mediaapi Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
publicroomsapi Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
roomserver Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
scripts Move files back if linting fails (#810) 2019-12-25 18:14:58 +00:00
syncapi Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
typingserver Lots of small typo fixes (#737) 2019-07-12 16:43:01 +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 make cmd directory path absolute in build.sh (#830) 2020-01-09 13:36:39 +00:00
CODE_STYLE.md replaced gometalinter description with golangci-lint (#837) 2019-12-25 18:28:10 +00:00
CONTRIBUTING.md Update documentation for Go 1.13 (#867) 2020-02-06 11:54:26 +00: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 Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
go.sum Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
INSTALL.md Update documentation for Go 1.13 (#867) 2020-02-06 11:54:26 +00: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 documentation for Go 1.13 (#867) 2020-02-06 11:54:26 +00:00
show-expected-fail-tests.sh Add a Sytest blacklist file (#849) 2020-01-22 13:31:22 +00:00
sytest-blacklist Implement missing device management features (#835) 2020-02-11 12:13:38 +00:00
sytest-whitelist Upgrade gomatrixserverlib dependency (#808) 2020-02-11 15:46:51 +00:00
WIRING.md Document internal APIs and Application Services component (#499) 2018-07-06 02:33:53 -07: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.