Commit Graph

2198 Commits

Author SHA1 Message Date
Andrew Morgan
de5d463dd2 goimports 2019-12-17 16:54:21 +00:00
Andrew Morgan
8fb2c9c33c Replace deprecated prometheus.InstrumentHandler and unsafe time.Ticker 2019-12-17 16:47:45 +00:00
Serra Allgood
56318dcca4 Fix login using identifier key
Not a full fix, it only really supports logging in with
the localpart of an mxid.

Signed-off-by: Serra Allgood <serra@allgood.dev>
2019-11-27 14:09:06 -08:00
Andrew Morgan
145921f207
Pin golangci-lint version to non-broken one (#809) 2019-10-08 12:20:37 +01:00
Alex Chen
e959927d0a selectAccountDataByType shouldn't error when no rows (#804)
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-10-07 13:15:58 +01:00
Andrew Morgan
9a56cf8439
Add AppService to test config and bind addrs (#800)
Because our unit tests are often forgotten about :/
2019-10-04 17:08:00 +01:00
aditsachde
7d77538ca4 patch dendrite microservices with bind config (#795)
This PR adds a block in the dendrite config for the services to bind to. The microservices should bind to the addresses in the bind block, and will be contacted at the address in the listen block.

This fixes an issue with the microservices and kubernetes services.
2019-10-02 10:29:27 +01:00
Alex Chen
3e2bb8bf2f
Clean up CircleCI leftovers (#801) 2019-10-02 11:01:52 +08:00
Alex Chen
e239fb10f3
Add missing servers field in /directory/room/:alias response (#732) 2019-10-02 00:09:47 +08:00
Behouba Manassé
49fd47c863 selectAccountDataByType return ClientEvent pointer instead of slice of ClientEvent (#798)
This pull request is an attempt to fix #773.

Signed-off-by: Kouame Behouba Manassé behouba@gmail.com
2019-09-30 17:25:04 +01:00
Andrew Morgan
7b454bdd27
Remove CircleCI (#793)
Sytest has been switched to Buildkite. As such the `.circleci` folder has been removed.
2019-09-26 14:27:14 +01:00
Andrew Morgan
e91942c9e4
Add 'Can paginate public room list' to testfile (#797) 2019-09-26 14:20:34 +01:00
Alex Chen
5e25f6ba22
Set up queryAPI in federationsender (#791) 2019-08-24 01:25:10 +08:00
Alex Chen
43308d2f3f
Associate transactions with session IDs instead of device IDs (#789) 2019-08-24 00:55:40 +08:00
Alex Chen
5eb63f1d1e
Add joined hosts query APIs (#781)
This adds two joined hosts query APIs to the federation sender for use of other components.
2019-08-22 19:47:52 +08:00
Alex Chen
a81917c3e7
Make trailing slash on server key request optional (#788)
Cherry-picked from 7e861b60fbd721b374ec929926b14e57dc60ec41
2019-08-20 01:01:53 +08:00
Alex Chen
0ed2dd0b15
Fix data race in clientapi/routing/register.go (#787) 2019-08-16 12:05:00 +08:00
Parminder Singh
bf5efbc31f Error when recaptcha enabled with empty configs (#786) 2019-08-16 01:59:17 +08:00
Alex Chen
d63d2a50cd
Replace event content types with ones in gomatrixserverlib (#785)
The types that are not in gomatrixserverlib are not replaced.

This also updates the gomatrixserverlib dependency.
2019-08-16 01:45:11 +08:00
Parminder Singh
d21a2fb152 Add auth fallback endpoint (#405)
Also adds support for the recaptcha auth type.
2019-08-15 01:34:49 +08:00
Alex Chen
28f60bec4e
Update name of a passing test in testfile (#784) 2019-08-14 21:44:34 +08:00
Victor Cuadrado Juan
386cc975f0 Add typingserver service to docker-compose (#692)
Signed-off-by: Víctor Cuadrado Juan <me@viccuad.me>
2019-08-09 11:30:38 +01:00
Alex Chen
aa0d22bf50
Implement client single event retrieval (#693) 2019-08-09 17:45:54 +08:00
Thibaut CHARLES
5716cd60b5 Add filtering database API to syncapi account data table (#513) 2019-08-08 13:10:42 +08:00
Andrew Morgan
76040bfa87
Add CI information to CONTRIBUTING.md (#778)
Add information about how the continuous integration is set up in Dendrite and how to run the tests locally so that people don't need to wait around for things to churn.
2019-08-07 11:46:36 +01:00
Thibaut CHARLES
76e4ebaf78 State events filtering database api (#438)
This PR adds a gomatrixserverlib.Filter parameter to functions handling the syncapi_current_room_state table. It does not implement any filtering logic inside the syncapi IncrementalSync/CompleteSync functions, just the APIs for future use.

Default filters are provided as placeholders in IncrementalSync/CompleteSync, so behaviour should be unchanged (except the default 20 event limit)

SQL table will be changed. You can upgrade an existing database using:

```
ALTER TABLE syncapi_current_room_state  ADD COLUMN IF NOT EXISTS sender text;
UPDATE syncapi_current_room_state SET sender=(event_json::json->>'sender');
ALTER TABLE syncapi_current_room_state ALTER COLUMN sender SET NOT NULL;
ALTER TABLE syncapi_current_room_state  ADD COLUMN IF NOT EXISTS contains_url bool;
UPDATE syncapi_current_room_state SET contains_url=(event_json::json->>'content')::json->>'url' IS NOT NULL;
ALTER TABLE syncapi_current_room_state ALTER COLUMN contains_url SET NOT NULL;
```

Note: This depends on #436 (and includes all its commits). I'm not sure if Github will remove the duplicated commits once #436 is merged.
2019-08-07 11:12:09 +01:00
Alex Chen
94ea325c93
Fix permission and 404 response for alias deletion - #654 (#706) 2019-08-07 11:00:58 +08:00
Andrew Morgan
8c721b555e
Scope the buildkite build badge only to tests running on master (#779) 2019-08-06 20:26:15 +01:00
Alex Chen
324ca22b35
Implement profile retrieval over federation (#726) 2019-08-07 00:02:12 +08:00
Alex Chen
66bf615360
Fix transaction IDs in transaction cache have global scope (#772) 2019-08-06 23:33:53 +08:00
Andrew Morgan
83f8e05032
Add /event/ on non world readable room does not work (#777) 2019-08-06 15:52:04 +01:00
Alex Chen
f8d2860765 Replace membership and visibility values with constants (#774)
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-08-06 15:07:36 +01:00
Sumukha Pk
d283676b9a Implements room tagging. (#694) 2019-08-02 19:17:51 +08:00
Alex Chen
3578d77d25
Implement "full_state" query parameter for /sync (#751)
Closes #637.
2019-08-01 12:36:13 +08:00
Alex Chen
0dcf0a7d64 Fix /sync may contain duplicate EDUs and EDUs for left rooms (#752)
In 29841be (#718), EDUs are added to /sync responses for rooms listed
in joinedRoomIDs returned by addPDUDeltaToResponse. However this list
may contain rooms other than those currently joined.

Some variable renamings are done to make golangci-lint pass.

Signed-off-by: Alex Chen minecnly@gmail.com
2019-07-31 14:36:41 +01:00
Alex Chen
92db6cd0ea Fix index in invites_table.go (#770)
This PR fixes a possible typo in an index created in invites_table.go.

Signed-off-by: Alex Chen minecnly@gmail.com
2019-07-31 14:36:21 +01:00
Alex Chen
3e1abe9ad3 Fix /sync may contain duplicate EDUs and EDUs for left rooms (#752)
In 29841be (#718), EDUs are added to /sync responses for rooms listed
in joinedRoomIDs returned by addPDUDeltaToResponse. However this list
may contain rooms other than those currently joined.

Some variable renamings are done to make golangci-lint pass.

Signed-off-by: Alex Chen minecnly@gmail.com
2019-07-31 14:20:11 +01:00
Alex Chen
40e44c5f3b Add newly passing tests from matrix-org/sytest (#771)
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-07-31 13:45:45 +01:00
Alex Chen
3e6d0a6246
Add newly passing tests from matrix-org/sytest 56de891 (#769) 2019-07-29 15:18:21 +08:00
Alex Chen
e66933b108
Fix data races reported by go test -race ./... (#748) 2019-07-26 00:00:22 +08:00
Andrew Morgan
45d24d3fb5
Remove the buildkite pipeline (#763)
New repo: https://github.com/matrix-org/pipelines/
2019-07-24 18:41:39 +01:00
Alex Chen
604685c503 Implement room creation content (#754)
Fixes #660.

Signed-off-by: Alex Chen minecnly@gmail.com
2019-07-24 17:15:36 +01:00
Thibaut CHARLES
b729a10366 Store & retrieve filters as structs rather than []byte (#436)
Manipulate filters as gomatrix.Filter structures, instead of their []byte JSON representation.
This lays ground work for using filters in dendrite for /sync requests.
2019-07-25 00:08:51 +08:00
Alex Chen
6773572907 Update gomatrixserverlib to v0.0.0-20190724145009-a6df10ef35d6 (#762)
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-07-24 16:27:40 +01:00
Andrew Morgan
4410acc673 Add filepath and function name to log output (#755)
Adds detailed logging, describing which file/line a log message came from, as well as the name of the function that it was contained within.
2019-07-24 12:44:05 +08:00
Andrew Morgan
78032b3f4c
Correctly create new device when device_id is passed to /login (#753)
Fixes https://github.com/matrix-org/dendrite/issues/401

Currently when passing a `device_id` parameter to `/login`, which is [supposed](https://matrix.org/docs/spec/client_server/unstable#post-matrix-client-r0-login) to return a device with that ID set, it instead just generates a random `device_id` and hands that back to you.

The code was already there to do this correctly, it looks like it had just been broken during some change. Hopefully sytest will prevent this from becoming broken again.
2019-07-22 15:05:38 +01:00
Andrew Morgan
bdd1a87d4d Add appservice API to config unit test (#744)
Fixes #558
2019-07-19 14:04:06 +08:00
Andrew Morgan
6ff7b6a72a Clarify that POST publicRooms is implemented (#743)
As a response to #638, it seems that POST /publicRooms is already implemented. It is, however, unclear from the code that it is.

Add some comments and change a method name to make this more clear.
2019-07-19 00:21:06 +08:00
Andrew Morgan
e56d6e41fd Remove the trailing slash from /send/{txnID} and /backfill/{roomID} (#746)
In conjunction with matrix-org/sytest#651, /send/{txnID} and /backfill/{roomID} should not have trailing slashes according to the spec.
2019-07-18 15:41:29 +08:00
Andrew Morgan
504d23f468 Remove unnecessary http method checks (#747)
Closes #523

There were a lot of unnecessary checks for HTTP methods of requests. gorilla/mux makes sure that these methods will only be called if certain HTTP methods are used, thus there's no reason to have these extra checks.
2019-07-18 15:40:10 +08:00