Erik Johnston
5a6a950ee8
Factor out addRoomDeltaToResponse from IncrementalSync ( #306 )
2017-10-17 17:13:41 +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
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
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
38999c54e1
Generate new devices for each new /login ( #281 )
2017-10-10 10:40:52 +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
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
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
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
Mark Haines
9ed609b9df
Pass requests made by remote servers for media to the media API ( #263 )
2017-09-26 12:53:30 +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
Mark Haines
636848c350
Add invites to the sync API ( #244 )
...
* Add table for storing invites in the syncapi
* Use the invite table to list the active invites for a user
* Update the invites table from the roomserver stream
* Include the invites table when determining the maxInviteID
2017-09-20 15:36:41 +01:00
Erik Johnston
7a30f2085a
Add goconst linter ( #246 )
2017-09-20 15:25:25 +01:00
Erik Johnston
340a84cdc0
Add staticcheck lint ( #245 )
2017-09-20 14:54:17 +01:00
Erik Johnston
584acbe9a9
Add 'unused' lint ( #241 )
...
* Add 'unused' lint
* Keep testdata consts
2017-09-20 14:47:29 +01:00
Erik Johnston
cc2f755cb3
Add gosimple linter ( #242 )
2017-09-20 14:15:38 +01:00
Erik Johnston
b72142ace5
Add vet linter ( #240 )
2017-09-20 13:40:22 +01:00
Erik Johnston
8a36a7e89b
Add errcheck linter ( #238 )
...
* Add errcheck linter
* Add config for 'fast' linters
* Fix errcheck lint stuff
* Fix errcheck lint
2017-09-20 10:59:19 +01:00
Mark Haines
b91b3e729a
Use a shared PostgreSQL sequence to generate ids. ( #237 )
...
* Use a shared PostgreSQL sequence to generate ids.
Share an auto incrementing sequnce between the account data and
the room event table.
This means that account data updates can be received independantly of
room events updates.
This should give some basic support for fixing #212
* Remove redundant 'primary key'
* Re-number the SQL arguments
* Fewer lies in comments
2017-09-19 17:15:46 +01:00
Mark Haines
fbc4477be0
Use a read-only snapshot transaction for calculating sync responses ( #236 )
...
* Use a read-only snapshot transaction for calculating sync responses
* gb vendor update github.com/lib/pq
2017-09-19 16:22:02 +01:00
Erik Johnston
08b9940dde
Make media repo use error rather than jsonErrorResponse ( #235 )
...
* Make media repo use error rather than jsonErrorResponse
* Update comments
* gb vendor github.com/pkg/errors
* Fixup error formats
2017-09-19 11:40:21 +01:00
Mark Haines
856bc5b52e
Add context to the syncapi database ( #234 )
2017-09-18 16:52:22 +01:00
Mark Haines
238646ee3c
Add contexts to device database ( #233 )
...
* Add contexts to device database
* Remove spurious whitespace
2017-09-18 15:51:26 +01:00
Mark Haines
e28ee27605
Add context to the account database ( #232 )
2017-09-18 14:15:27 +01:00
Mark Haines
5ada8872bb
Add context to the federationsender database ( #231 )
2017-09-18 14:15:17 +01:00
Mark Haines
dc5dd4c5d2
Add contexts to the public rooms database ( #230 )
2017-09-14 14:46:56 +01:00
Mark Haines
bfcce5bd21
Add contexts to the roomserver storage layer ( #229 )
...
* Add contexts to the roomserver storage layer
* Fix rooms_table
2017-09-13 16:30:19 +01:00
Mark Haines
3133bef797
Add contexts to the internal roomserver APIs ( #228 )
2017-09-13 13:37:50 +01:00
Brendan Abolivier
79adba43f0
Append target profile to invite events created from a 3PID invite ( #227 )
...
* Append target profile to invite events created from a 3PID invite
* Don't redeclare err
* Add check on invited server
2017-09-13 13:31:46 +01:00
Brendan Abolivier
4fbafc35fe
Specify HTTP methods for public APIs ( #226 )
...
* Specify HTTP methods for the client API
* Specify HTTP methods for the federation API
* Specify HTTP methods for the media API
* Specify HTTP methods for the sync API
2017-09-13 11:08:11 +01:00
Mark Haines
029e71828a
Add context.Context to the federation client ( #225 )
...
* Add context.Context to the federation client
* gb vendor update github.com/matrix-org/gomatrixserverlib
2017-09-13 11:03:41 +01:00