Commit graph

1550 commits

Author SHA1 Message Date
Erik Johnston 49c040c89f Refactor Notifier to return channel (#311)
This has two benefits:

1. Using channels makes it easier to time out while waiting
2. Allows us to clean up goroutines that were waiting if we timeout the
   request
2017-10-26 11:34:54 +01:00
Erik Johnston e5944e0fdb Move BuildEvent to common package (#315)
This is in preperation for implementing various federation APIs that
need to build events.
2017-10-25 14:44:33 +01:00
Erik Johnston 3790a8da40 Move federationapi.readers package into routing (#314)
This seems to have been missed when we folded all the readers and
writers packages into routing.
2017-10-25 11:27:44 +01:00
Erik Johnston ce562d96f6 Don't add empty room entries to sync responses (#312) 2017-10-18 10:36:45 +01:00
Paul Tötterman 6d15aec8d3 Add /devices/ and /device/{deviceID} (#313)
Signed-off-by: Paul Tötterman <paul.totterman@iki.fi>
2017-10-17 19:12:54 +01:00
Erik Johnston 5a6a950ee8 Factor out addRoomDeltaToResponse from IncrementalSync (#306) 2017-10-17 17:13:41 +01:00
Erik Johnston 7b0f62208f Mention how to run the linters in documentation (#310)
Closes #309
2017-10-17 17:11:00 +01:00
Erik Johnston bd07447abe Fix some edge cases with /sync (#302)
Including:
- Handle timeout=0 correctly
- Always return immediately on initial sync
- Handle spurious wake ups from the notifier
2017-10-16 13:34:08 +01:00
Erik Johnston 35b628f5bf Handle duplicate kafka messages (#301)
The way we store the partition offsets for kafka streams means that when
we start after a crash we may get the last message we processed again.
This means that we have to be careful to ensure that the processing
handles consecutive duplicates correctly.
2017-10-16 13:20:24 +01:00
Remi Reuvekamp 1a026f16d5 Implement /logout/all (#307)
Signed-off-by: Remi Reuvekamp <git@remireuvekamp.nl>
2017-10-15 11:29:47 +01:00
Erik Johnston 32a2b3a5c0 Update vendor libraries and dendrite to s/Sirupsen/sirupsen/ (#304) (#305) 2017-10-13 14:57:54 +01:00
Erik Johnston 464fb5de1c Update vendor libraries and dendrite to s/Sirupsen/sirupsen/ (#304) 2017-10-13 14:42:57 +01:00
Erik Johnston d66244cb0a Merge readers/writers/routing packages (#295)
The HTTP handlers in the components are split into reader and writer directories. This was a fairly arbitrary distinction, and turns out to not be so helpful. Most read APIs have a corresponding write API, and it is more natural for them to be in the same file rather than in different directories.
2017-10-11 18:16:53 +01:00
Erik Johnston ba0d0672ea Rename kafka consumers to *Consumer (#294)
The prior naming was confusing, OutputRoomEvent consumed
OutputNewRoomEvents
2017-10-11 18:13:43 +01:00
Erik Johnston cf5ea25322 Update CONTRIBUTING.md 2017-10-11 18:08:35 +01:00
Erik Johnston 996b7d4198 Update dendrite-config.yaml to use server.crt, not .pem (#299) 2017-10-10 16:04:39 +01:00
Erik Johnston c0271c2462 Use returned ID from INSERT in create filter (#297) 2017-10-10 15:17:29 +01:00
Erik Johnston f6bda82366 Implement filter POSTing and GETting. (#296)
* Implement filter POSTing and GETting.

Signed-off-by: Jan Christian Grünhage <jan.christian@gruenhage.xyz>

* Add missing '}' typo introduced during merge

* Still trying to fix that merge...

* Fix linting
2017-10-10 14:28:49 +01:00
Erik Johnston e9314e5b30 Untangle precommit and travis test scripts (#288) 2017-10-10 11:02:39 +01:00
Erik Johnston 38999c54e1 Generate new devices for each new /login (#281) 2017-10-10 10:40:52 +01:00
Erik Johnston c78d9a5952 Clean up README a bit (#289) 2017-10-10 09:33:41 +01:00
Marcel 13107c6b2b Implement /register/available API (#291)
Signed-off-by: MTRNord <mtrnord1@gmail.com>
2017-10-09 15:24:38 +01:00
Erik Johnston 619fec6113 Add bug number 2017-10-06 14:13:53 +01:00
Erik Johnston f36269d9b1 Implement GET /rooms/{roomID}/state/{type}/{stateKey} (#276)
* Implement GET /rooms/{roomID}/state/{type}/{stateKey}

* Add comments
2017-10-06 11:23:58 +01:00
Erik Johnston 1e6fc74d4f Add Code Style and some dev docs (#286) 2017-10-06 11:23:49 +01:00
Erik Johnston 5229dbf310 Create CONTRIBUTING.md (#264) 2017-10-06 02:11:51 +01:00
Erik Johnston bcf58fad84 gb vendor update github.com/matrix-org/gomatrix 2017-10-03 13:05:57 +01:00
Richard van der Hoff 831a76ae91 gb vendor updates
gb vendor update github.com/matrix-org/gomatrixserverlib
gb vendor update github.com/matrix-org/util
2017-10-02 10:33:43 +01:00
Richard van der Hoff b7687310fe gb vendor update github.com/matrix-org/gomatrixserverlib 2017-09-29 15:14:17 +01:00
Mark Haines 847621bc5d Add config for setting up a jaeger opentracing reporter (#271)
* Add config for setting up a jaeger opentracing reporter

* Remove redundant comment
2017-09-28 17:00:23 +01:00
Mark Haines 4a0b24c7f4 gb vendor fetch github.com/jaegertracing/jaeger 2017-09-28 15:03:21 +01:00
Mark Haines c4947c2ffb Add opentracing Spans to the HTTP APIs (#270)
* Add opentracing Spans to the HTTP APIs

* Add opentracing spans to the HTTP RPC clients

* Set the span in the request context

* More docstring
2017-09-28 14:50:40 +01:00
Mark Haines 88dde65efc gb vendor fetch github.com/opentracing/go-opentracing 2017-09-28 13:51:56 +01:00
Erik Johnston f11af1e78f Implement setting alias during room create (#268)
* Implement setting alias during room create
2017-09-27 16:44:40 +01:00
Erik Johnston 00adbb38c6 Add POST /send/ api (#265) 2017-09-26 12:55:48 +01:00
Richard van der Hoff f7aa96fc9e gb vendor update github.com/matrix-org/gomatrixserverlib 2017-09-26 12:54:39 +01:00
Mark Haines 9ed609b9df Pass requests made by remote servers for media to the media API (#263) 2017-09-26 12:53:30 +01:00
Richard van der Hoff 3dd30858d1 Update the install instructions (#255)
* Update the install instructions

To include some of the newer components.

* update INSTALL diagram

client_data goes to sync-api-server, not room-server.
2017-09-25 11:20:36 +01:00
Jan Christian Grünhage b2f6f89496 Implement version endpoint (#262) 2017-09-25 11:16:47 +01:00
Mark Haines 42f264119f Stub APIs for sytest (#261) 2017-09-22 17:28:29 +01:00
Erik Johnston 8a395b0262 Make login support logging in via user id (#260) 2017-09-22 17:08:16 +01:00
Erik Johnston bdfade26ed Don't validate username when fetching registration flows (#259) 2017-09-22 16:38:22 +01:00
Erik Johnston 6bec139544 Add missing GET for /login (#258) 2017-09-22 16:13:43 +01:00
Erik Johnston 8dabca0f07 Implement shared secret registration (#257)
* Implement shared secret registration

* Use HexString from gomatrixserverlib

* Correctly check username validility
2017-09-22 16:13:19 +01:00
Brendan Abolivier 0218063339 Implement room state retrieval endpoint (#254)
* Move prev event structure to component-wide types

* Renamed key for better understandability

* Implement /state endpoint

* Change rowsToEvents() to return an empty slice instead of nil in case of empty result set

* Doc

* Fix forgotten comma

* Specify HTTP method

* Update comment

* Remove debug fmt.Println
2017-09-22 11:34:54 +01:00
Mark Haines b9a933846b Allow users to join rooms they've been invited to (#253) 2017-09-21 17:00:48 +01:00
Mark Haines ce019738ff Pass a context when downloading remote media (#251) 2017-09-21 16:20:10 +01:00
Mark Haines fef290c47e Add context to the server key database (#248) 2017-09-21 16:16:02 +01:00
Mark Haines 7596c19f3a Add context to the mediaapi database (#250) 2017-09-21 15:44:00 +01:00
Mark Haines a7773d3d3d Add context to the partition offset table (#249) 2017-09-21 15:09:19 +01:00