* Use HTTP API for roomserver input.
* Use synchronous HTTP API for writing events to the roomserver
* Remove unused config for kafka topic
* Tweak comments
* Saving memberships
* Removed unused index
* Removed useless log
* Fixed membership not being saved on the right conditions + added membership removal
* Updated outdated comment
* Use server lib method + check server name + use new roomserver API
* Better handling of events from the room server
* Fixed membership removal
* Corrected indentation
* Fix tests (hopefully)
* Replace broken kafka mirror
* Apply requested changes on database management
* Remove useless check and function
* Moved memberships update to the database package
* Use new common function
* Remove useless function
* Make the roomserver output format more flexible
* Fix the sync server integration testdata
* Fix roomserver testdata
* Actually fix the sync server tests
* Fix typo
* Profile retrieval
* Saving avatar (without propagating it)
* Saving display name (without propagating it)
* Getters for display name and avatar URL
* Doc'd
* Introduced new Kafka topic and producer
* Updated config with new kafka topic
* Switched to samara producer and now sending messages
* Doc'd
* Put kafka update after the database insert
* Doc'd profileUpdate structure
* Removed unused parameter
* Moved user updates producer to clientapi/producers
* Add a component for sending event to remote matrix servers using federation
* Use named constants
* Comment on why we combine the deltas
* Comments
* Copyright headers!
* Fix the copy+Pasted comment
* Add tests for combineDeltas
* Review comments
* More review comments
* More comments
* Even more comments
* Name the mutexes
* Document what the mutexes are protecting
* Simplify the SQL, and more comments
* Set depth of events and whether they need to be federated.
Set the depth of each new event to one greater than the maximum depth
of it's direct ancestors.
Add a flag to each event passing through the roomserver that tells us
whether the event needs to be sent over federation.
We do this by passing the name of the server to send the event as.
We will need this capability if we want to support vhosting as it is
not possible to tell from the event alone which server to send it as.
(The reason for this is that sometimes a event needs to be sent on
behalf of a different remote matrix server)
* Update roomserver integration tests
* More comments
* Constants and comments
* Fix comments
* Document the int64 returned by LatestEventIDs
* Include the state before the event in roomserver output
* Fix roomserver integration test
* Remove VisibilityEventIDs from the JSON
* More comments
* Remove spurious TODO
* Move all the dendrite config in to a single place
* Add tests for config parsing
* replace syncserver config with common config
* Replace client API config with common config
* Replace federation API config with common config
* Replace media api config with common config
* Replace room server config with common config
* Remove unused readKey function
* Fix the integration tests
* Comment on hardcoding roomserver to HTTP
* Add a method for getting RoomServerURL
This moves the hardcoding of HTTPs into one place.
* Add a single config file format for dendrite.
This config file combines all the configuration needed by the
dendrite components into a single file.
* Resolve relative paths against the current working directory
* Review comments
* more review comments!
* Document what the purpose of the version field is