Commit graph

547 commits

Author SHA1 Message Date
Cnly 530ed11ecc Refine docs
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-28 01:32:23 +08:00
Cnly 19f1a6fe0d Remove users from typing list when typing status times out
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 16:11:29 +08:00
Cnly d79a6a21c7 Userstreams should store and use complete pos, not pos update ("pos delta")
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 05:10:31 +08:00
Cnly 274db2fbaf Fix zero value of currPos may be used in OnIncomingSyncRequest
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 05:00:48 +08:00
Cnly 6fd1c21207 Fix docs for SyncPosition.WithUpdates
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 04:48:14 +08:00
Cnly aeceacd917 Make Notifier.CurrentPosition() respect stream lock
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 04:33:45 +08:00
Cnly 74fd292403 Fix latest sync pos used as since pos in requestpool.go
Previously, currPos, obtained using notifier.CurrentPosition(), is passed
to GetNotifyChannel. Since this is already the latest position on the
server, the client won't get updates until (1) a even newer event arrives at
the server, or (2) the /sync request times out.

(2) above is possible because when it times out, notifier calculates
currentSyncForUser based on syncReq, which contains the correct since pos
token that the client sent the server.

Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-27 04:02:43 +08:00
Cnly e7cf44946f Fix necessary field not set properly in TypingEvent; clean up OutputTypingEvent
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 23:03:50 +08:00
Cnly 2a9dab21f8 Fix sync position with partial info used as complete one in syncserver and notifier
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 22:56:58 +08:00
Cnly 55219aa746 Better logging in typing event consumer
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 22:48:19 +08:00
Cnly d3ee72c59b Typing event consumer now supplies real, not bogus position to notifier
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 22:46:12 +08:00
Cnly ad4f69a81c Remove room ID from m.typing client events
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 22:38:30 +08:00
Cnly badd360fe6 Add a simple test for EDU-only updates in notifier_test.go
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 18:00:50 +08:00
Cnly 18c59e68cd Fix more linting issues and docs
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 17:46:08 +08:00
Cnly e6870279ed Fix syncapi/sync/notifier_test.go
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-26 17:45:25 +08:00
Cnly e742b7d9b5 Add warning for OnNewEvent when no user to wake up
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-25 22:53:07 +08:00
Cnly ba35a0a96d Fix nil pointer and goroutine safety in typing cache
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-25 22:45:53 +08:00
Cnly 55a4e6061a Fix linting
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-25 22:22:03 +08:00
Cnly b896fdc537 Add typing notifications to /sync responses - fixes #635
Signed-off-by: Alex Chen <minecnly@gmail.com>
2019-06-25 15:28:52 +08:00
Alex Chen ce189a737d Update dependency gomatrixserverlib to 178ed5e (#695)
Update dependency gomatrixserverlib to 178ed5e
2019-06-22 14:40:55 +01:00
Alex Chen adaec7c8e7 Refine config and docs for sytest (#714)
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 (#713)
Fixes #697

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 (#712) 2019-05-29 15:17:00 +01:00
Brendan Abolivier bcd6bdb8de
Fix CircleCI badge (#711)
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 (#710)
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 (#704)
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 (#703)
Fix Docker files which had been forgotten in #594 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 (#594) 2019-05-21 21:56:55 +01:00
Andrew Morgan 4d588f7008
Add #dendrite-dev to the README (#699)
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 (#554)
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 - #596 (#598)
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 (#691)
* Improved clarity for setup in INSTALL.md
2019-03-04 14:26:30 +00:00
Andrew Morgan ce9f3ea362
Bump to go version 1.10 (#690) 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 (#688)
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 (#689)
* 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 (#687)
* 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 (#686) 2019-01-25 16:00:59 +00:00
MANASSE 3465f6727b "v1" replaced with "r0" in pathPrefixR0 in mediaapi's routing (#681) 2019-01-17 09:25:13 +00:00
Alex Chen 4c5bd91e1c POST /join/{roomId}: Allow joining even when not invited #663 (#680)
* POST /join/{roomId}: Allow joining even when not invited #663

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} #622 (#678)
* Fix #622 /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 (#615) (#679)
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 (#595)
* 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 (#592)
* 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 (#589)
* 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 (#588) 2018-11-07 19:12:23 +00:00
Brendan Abolivier 56058b9469
Implement the /backfill federation endpoint (#585)
* 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 (#584) 2018-11-06 18:14:39 +00:00
Brendan Abolivier 8ff136e595
Fix interactive registration failing (#583)
* 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 (#580) 2018-09-04 18:20:30 +01:00