Commit graph

1227 commits

Author SHA1 Message Date
Alex Chen
adaec7c8e7 Refine config and docs for sytest ()
This PR adds the "passed but expected fail" tests to testfile, as well as instructions on finding which tests to add for new PRs.
2019-06-21 16:49:37 +01:00
Andrew Morgan
bc382bba46
Fix pipeline, emoji and syntax ()
Fixes 

Switched to golangci-lint, fixes issues with buildkite and does some linting fixes to appease the new linters.
2019-06-19 14:05:03 +01:00
Andrew Morgan
7a2d5b17b9
Switch to Buildkite () 2019-05-29 15:17:00 +01:00
Brendan Abolivier
bcd6bdb8de
Fix CircleCI badge ()
The current one is directed towards @anoadragon453's repo, not the main Matrix.org one.
2019-05-29 14:48:43 +01:00
Andrew Morgan
ade4b9c978
Run CircleCI on pull request branches ()
We were previously only running CircleCI on master, but we want it to PRs as well.
2019-05-29 11:34:36 +01:00
Andrew Morgan
c7c5e8d8e8
Add CircleCI build status 2019-05-29 10:54:44 +01:00
Andrew Morgan
1667a4b09f
Add SyTest support to CI ()
Adds SyTest CI through CircleCI.

Also need to add all the tests that currently pass to testfile, but I don't think that's a hard blocker for merging.
2019-05-24 15:00:03 +01:00
Brendan Abolivier
e1ec98e248
Update Docker files and remove references to gb ()
Fix Docker files which had been forgotten in  and update scripts and docs to remove references to gb.

I also removed the `jenkins` directory which is outdated. We can revert f8d7e99 if we realise that it was a mistake to do so.
2019-05-22 10:44:25 +01:00
ruben
74827428bd use go module for dependencies () 2019-05-21 21:56:55 +01:00
Andrew Morgan
4d588f7008
Add #dendrite-dev to the README ()
I suspect this is why we're getting a lot of people coming in to #dendrite asking dev-related questions.
2019-03-27 17:36:45 +00:00
Travis Ralston
f8f9965cc5
Ensure appservices have their devices checked ()
The regular device check will return the device for the appservice's bot user instead of going through the user_id branch. The check has been moved to below the user_id check to ensure the right virtual user's device is chosen.
2019-03-21 08:48:21 -06:00
Alex Chen
5d2d0484d1 Fix build conflict between docker environment and host - ()
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-03-04 14:47:29 +00:00
Sumukha Pk
6baaf8c36c Improved clarity for setup in INSTALL.md ()
* Improved clarity for setup in INSTALL.md
2019-03-04 14:26:30 +00:00
Andrew Morgan
ce9f3ea362
Bump to go version 1.10 () 2019-01-31 11:14:16 +00:00
Aaron Raimist
76a81e51b3 Remove riot.im from the list of trusted ID servers in the default config ()
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-01-31 10:06:11 +00:00
Andrew Morgan
0d6d72631b
Add matrix chatroom badge to readme ()
* Add matrix chatroom badge to readme

* Update URLs and add dendrite:matrix.org
2019-01-28 15:10:44 +00:00
Aaron Raimist
ac3ebcb3ed Fix PR templates and use matrix.to instead of riot.im/develop ()
* Use absolute links in pull request template

Relative links don't work in most places

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Use matrix.to (for now) instead of linking to riot.im/develop

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-01-28 10:15:33 +00:00
Andrew Morgan
4452cb4a65
Add PR template () 2019-01-25 16:00:59 +00:00
MANASSE
3465f6727b "v1" replaced with "r0" in pathPrefixR0 in mediaapi's routing () 2019-01-17 09:25:13 +00:00
Alex Chen
4c5bd91e1c POST /join/{roomId}: Allow joining even when not invited ()
* POST /join/{roomId}: Allow joining even when not invited 

Signed-off-by: Alex Chen <minecnly@gmail.com>

* POST /join/{roomId}: Use server in roomID as last resort to join

Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-01-15 18:20:46 +00:00
Alex Chen
e063433b74 Fix POST /get_missing_events/{roomId} ()
* Fix  /get_missing_events/{roomId}

Signed-off-by: Alex Chen <minecnly@gmail.com>

* Set initial size for eventsToFilter in /get_missing_events/{roomId}

Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-01-14 10:20:19 +00:00
Reto
088a939461 Fix default timeout for /sync () ()
The sync timeout should be 0 according to the spec[1]

[1] https://matrix.org/docs/spec/client_server/r0.4.0.html#get-matrix-client-r0-sync

Signed-off-by: Reto Brunner <brunnre8@gmail.com>
2019-01-10 10:28:13 +00:00
Brendan Abolivier
170264404e
Fix the sync api returning an empty sync response when reaching timeout, regardless of the since token ()
* Fix the sync api returning an empty sync response when reaching timeout, regardless of the since token

* Declare syncData from the start to avoid declaration shadowing

* Bump Kafka version
Since this is a huge bump, it might completely blow up - I'll revert it if that's the case

* Put the loop and the IsEmpty() check back in sync handler

* Add doc and allow returning if timeout is reached
2018-12-18 17:56:08 +00:00
Brendan Abolivier
2133e6bf59
Bump dependencies ()
* Bump dependencies

* Fix missing dependencies that were not previously fetched
2018-11-12 10:21:15 +00:00
Brendan Abolivier
8b0f60a470
Fill the prev_batch property in responses from /sync ()
* Fill the prev_batch property in responses from /sync

* Set prev_batch to 1 (first possible value in the sequence) if it's about to hit 0
2018-11-08 15:11:11 +00:00
Brendan Abolivier
83c3c7e1db
Fix the ordering of events in a response to /sync () 2018-11-07 19:12:23 +00:00
Brendan Abolivier
56058b9469
Implement the /backfill federation endpoint ()
* Implement the /backfill federation endpoint

* Make the BFS loop block common between QueryMissingEvents and QueryPreviousEvents

* Improve comments on the BFS loop block

* Optimisation: prevent unnecessary redefinitions/reallocations

* Add trailing slash at the end of the route for parity with synapse

* Replace QueryPreviousEvents with QueryBackfill

* Change the backfill response to comply with the specs and synapse's behaviour
2018-11-07 11:38:01 +00:00
Matthew Hodgson
daf57b19b7 make docker work on current codebase () 2018-11-06 18:14:39 +00:00
Brendan Abolivier
8ff136e595
Fix interactive registration failing ()
* Fix interactive registration failing because of being confused with AS registration

* Fix AS registration tests

* Move AS registration handling to dedicated function and split the switch/case to avoid unnecessary condition

* Ignore handleRegistrationFlow() for gocyclo and add some doc/comments on the code
2018-11-06 14:40:37 +00:00
Zero King
1a82e6bc58 Add Go 1.11 to .travis.yml () 2018-09-04 18:20:30 +01:00
Zero King
a0b38a6f2b Fix typo () 2018-09-01 09:31:47 +01:00
krombel
b71d922a72 Propagate error with wrong ?ts= param back to client ()
* make MatrixError implement error interface

* let ParseTSParam return error when no int transmitted

* fix to high cyclo for SendEvent

* Move generateSendEvent below SendEvent

* Drop ParseIntParam() as it is used only in one place

* Parse ts param at the beginning of JoinRoom

to be able to abort right in the beginning and
to not parse the MatrixError to get an error response

* make ParseTSParam() return error instead of JSONResponse
2018-08-22 13:40:25 +01:00
Andrew Morgan
0b5ae4692e Make use of /users/{userID} in relevant APIs ()
* Query whether a room alias exists on app services

Signed-off-by: Andrew Morgan <andrewm@matrix.org>

* Query AS /alias/ API at a lower level

* Add support for querying /users/ on appservices

* Have endpoints query AS users if not found locally
2018-08-20 10:45:17 +01:00
Andrew Morgan
2382d363ab Include appservice namespace in username available check ()
Signed-off-by: Andrew Morgan <andrewm@matrix.org>
2018-08-20 10:23:01 +01:00
mohit kumar singh
d07a652d8e return same device as sent from client if it exists in db ()
Signed-off-by: mohit kumar singh <mohitkumarsingh907@gmail.com>
2018-08-20 10:22:06 +01:00
Anant Prakash
5d52863b9f
[Federation] Send typing events ()
* GetJoinedHosts from federation server db

* Add dummy api.OutputTypingEvent

* Add a typing server consumer to federation sender

* Update queue to support EDU events

* Update OutputTypingEvent format

* Use SendEDU in federation server, remove dummy/api

* Add helpful comments

* fix typo

* remove origin field

* Count EDUs in sendCounter
2018-08-10 20:56:57 +05:30
Andrew Morgan
bab4d1401f
AppServices: Implement /users/{userID} ()
* Add support for querying /users/ on appservices

* Fix copy/paste error
2018-08-10 07:47:14 -07:00
Andrew Morgan
609646c19b
Implement GET /rooms/{roomAlias} ()
* Query whether a room alias exists on app services

Signed-off-by: Andrew Morgan <andrewm@matrix.org>

* URL encode room alias before sending to AS

* Add /room/ to path

* Query AS /alias/ API at a lower level

* Don't verify self-signed AS certificates

* Don't skip cert validation on appservices, fix logging

* Separate req.WithContext

* Linting

* Do not warn when an AS room alias does not exist
2018-08-08 08:17:10 -07:00
Andrew Morgan
e05a31f4c2
Federation: Improve /query/directory endpoint () 2018-08-07 06:41:50 -07:00
Anant Prakash
b11591fdd1
Fix up timestamp messaging ()
* Revert "implement AS timestamp massaging ()"

This reverts commit a56752f3f6.

* Update APIs to support ts

* refactor MakeJoin, make code consistent

* Keep one parameter per line
2018-08-06 18:39:25 +05:30
Anant Prakash
2c2200718a
Cleanup code in federationapi/routing ()
Signed-off-by: Anant Prakash <anantprakashjsr@gmail.com>
2018-08-06 18:37:29 +05:30
Anant Prakash
dc89e04e7d
Add whoami endpoint support ()
* Add whoami endpoint support

Signed-off-by: Anant Prakash <anantprakashjsr@gmail.com>

* Trim code, update against merged changes
2018-08-04 15:02:02 +05:30
Andrew Morgan
1176c1d574 Add detail to room alias name error message () 2018-08-03 15:56:48 +01:00
Anant Prakash
1165b49da7
Implement Typing server ()
* update gomatrixserverlib

* Make removeUser public

* Implement api.TypingServerInputAPI

* Integrate the typing server component, create kafka topic

* Add typing server cmd for multiprocess dendrite
2018-08-02 22:52:44 +05:30
Anant Prakash
9cdd3a66e4
Add TypingCache to maintain a list of users typing ()
* Add typing cache

Signed-off-by: Anant Prakash <anantprakashjsr@gmail.com>

* Add tests for typingCache

* Make test stricter

* Handle cases where expireTime is updated

* Make the slice comparisons sturdy

* Use timers to call removeUser after timeout

* Add test for TypingCache.removeUser

Signed-Off-By: Matthias Kesler <krombel@krombel.de>

* Write deterministic test
2018-07-31 16:22:57 +05:30
Derek
f8ca2561cc removed outdated "flag" comments on clientapi membership storage ()
Signed-off-by: Derek Meer <derekmeer@protonmail.com>
2018-07-31 10:06:04 +01:00
Anant Prakash
2a2f42990a
Refactor string slice helper to common/test ()
* Refactor string slice helper to common/test

Signed-off-by: Anant Prakash <anantprakashjsr@gmail.com>

* Do not modify the given slice

* Add Unsorted in the function name
2018-07-26 22:04:39 +05:30
Anant Prakash
53a726fab1
Correct user/devices path () 2018-07-25 18:28:10 +05:30
Anant Prakash
38965ef5e2
Support PUTing typing status in clientapi ()
* Add handler for typing events

* Add typing events producer

* Setup typing server component

* Send one event per API call
2018-07-24 20:19:49 +05:30
krombel
68131ca7a3 Handle AS with auth header ()
* Handle AS with auth header

* fix lint (gocyclo)
2018-07-23 06:40:35 -07:00