Commit graph

198 commits

Author SHA1 Message Date
Neil Alexander 95e2e4d668
Notify account data without advancing PDU position in notifier 2021-01-08 13:39:12 +00:00
Neil Alexander d70ebaa1b9
Fixes 2021-01-08 13:36:08 +00:00
Neil Alexander e96185bbc0
Fix invite position 2021-01-08 11:19:40 +00:00
Neil Alexander 85e6b646c9
Re-add notifier 2021-01-08 11:00:37 +00:00
Neil Alexander 0aa91059a9
Tweaks 2021-01-07 17:21:07 +00:00
Neil Alexander e91d71ebca
Remove some fmt.Println 2021-01-07 17:08:56 +00:00
Neil Alexander 4506b50828
Limit fixes, amongst other things 2021-01-07 16:59:35 +00:00
Neil Alexander ac525fba47
Use limit for incremental sync 2021-01-07 15:58:48 +00:00
Neil Alexander 076ef91a48
Advance account data position 2021-01-07 15:11:24 +00:00
Neil Alexander ff22d71de6
Device list updates 2021-01-07 14:57:56 +00:00
Neil Alexander 0465f523cb
Fix typing positions 2021-01-07 14:23:09 +00:00
Neil Alexander a6549669ca
More lightweight notifications 2021-01-07 13:48:32 +00:00
Neil Alexander 875cb2c379
Don't drop errors 2021-01-07 12:03:53 +00:00
Neil Alexander 89e0d0f124
Complete sync send-to-device 2021-01-07 11:21:05 +00:00
Neil Alexander f1a6fb2ece
Clean up a bit 2021-01-07 11:19:10 +00:00
Neil Alexander 6929b8a4ec
Streams package 2021-01-07 11:09:52 +00:00
Neil Alexander 98707e1554
Fix complete sync for receipt, typing 2021-01-07 09:31:40 +00:00
Neil Alexander 3843d076bc
End of day 2021-01-06 17:29:07 +00:00
Neil Alexander af6b07e1b4
Add account data stream/position 2021-01-06 17:17:57 +00:00
Neil Alexander c31a1767f7
Don't reset next batch position on timeout 2021-01-06 17:05:42 +00:00
Neil Alexander 722510ac9f
Fix timed out syncs 2021-01-06 16:58:07 +00:00
Neil Alexander a588f9061b
Log tweaks, typing fixed? 2021-01-06 16:54:27 +00:00
Neil Alexander 9ead2d96e2
Use addRoomDeltaToResponse 2021-01-06 16:07:59 +00:00
Neil Alexander af332f24ae
Add some more wakeups 2021-01-06 15:36:53 +00:00
Neil Alexander 2eb4efca44
Bring forward some more PDU logic, clean up other places 2021-01-06 15:30:20 +00:00
Neil Alexander 6da5ebfadf
Don't leak channels 2021-01-06 14:38:31 +00:00
Neil Alexander cbaeff6096
Clean up, add templates for other streams 2021-01-06 14:37:09 +00:00
Neil Alexander aa0126f607
Dedupe a bit, add a template for the invite stream 2021-01-06 13:43:28 +00:00
Neil Alexander 954b36a74c
Delete notifier, other tweaks 2021-01-06 13:05:36 +00:00
Neil Alexander 721a40edb0
Fix bugs, add receipt stream 2021-01-06 11:40:52 +00:00
Neil Alexander cac9f758dc
Other tweaks, typing works 2021-01-06 11:12:46 +00:00
Neil Alexander b353c039ff
Wakeups largely working 2021-01-06 10:17:34 +00:00
Neil Alexander 475ae4ca3b
It's half-alive 2021-01-05 17:22:27 +00:00
6543 a85051ca9d
fix imports (#1665)
* fix imports

Signed-off-by: 6543 <6543@obermui.de>

* add sqlite driver import back

Signed-off-by: 6543 <6543@obermui.de>

* rm import of userapi/storage/accounts/sqlite3/storage.go
2020-12-21 14:27:01 +00:00
Neil Alexander 4fe4c180e6
Ensure we wake for our own device list updates (#1661)
* Make sure we wake up for our own key changes

* Whitelist 'Users receive device_list updates for their own devices'
2020-12-18 14:04:17 +00:00
Neil Alexander 50963b724b
More sane next batch handling, typing notification tweaks, give invites their own stream position, device list fix (#1641)
* Update sync responses

* Fix positions, add ApplyUpdates

* Fix MarshalText as non-pointer, PrevBatch is optional

* Increment by number of read receipts

* Merge branch 'master' into neilalexander/devicelist

* Tweak typing

* Include keyserver position tweak

* Fix typing next position in all cases

* Tweaks

* Fix typo

* Tweaks, restore StreamingToken.MarshalText which somehow went missing?

* Rely on positions from notifier rather than manually advancing them

* Revert "Rely on positions from notifier rather than manually advancing them"

This reverts commit 53112a62cc.

* Give invites their own position, fix other things

* Fix test

* Fix invites maybe

* Un-whitelist tests that look to be genuinely wrong

* Use real receipt positions

* Ensure send-to-device uses real positions too
2020-12-18 11:11:21 +00:00
Neil Alexander e1ace7e44a
Add event ID index on current state table (helps performance) (#1649) 2020-12-16 18:16:39 +00:00
Kegsay 76becac003
Add start_stream to /messages (#1648) 2020-12-16 18:10:39 +00:00
Kegsay 42e9cbf342
NOTSPEC: Make ?from= optional in /messages (#1647) 2020-12-16 17:31:03 +00:00
Neil Alexander 56b5847c74
Add prometheus metrics for destination queues, sync requests
Squashed commit of the following:

commit 7ed1c6cfe67429dbe378a763d832c150eb0f781d
Author: Neil Alexander <neilalexander@users.noreply.github.com>
Date:   Wed Dec 16 14:53:27 2020 +0000

    Updates

commit 8442099d08760b8d086e6d58f9f30284e378a2cd
Author: Neil Alexander <neilalexander@users.noreply.github.com>
Date:   Wed Dec 16 14:43:18 2020 +0000

    Add some sync statistics

commit ffe2a11644ed3d5297d1775a680886c574143fdb
Author: Neil Alexander <neilalexander@users.noreply.github.com>
Date:   Wed Dec 16 14:37:00 2020 +0000

    Fix backing off display

commit 27443a93855aa60a49806ecabbf9b09f818301bd
Author: Neil Alexander <neilalexander@users.noreply.github.com>
Date:   Wed Dec 16 14:28:43 2020 +0000

    Add some destination queue metrics
2020-12-16 15:02:39 +00:00
Neil Alexander 38318b0f16
De-map device list positions in streaming tokens (#1642)
* De-map device list positions in streaming tokens

* Fix lint error

* Tweak toOffset
2020-12-15 15:09:10 +00:00
Neil Alexander ebcacd1bb5
Give receipts their own stream ID in the database (#1631)
* Give read recipts their own database sequence

* Give receipts their own stream ID

* Change migration names

* Reset sequences

* Add max receipt queries, missing stream_id table entry for SQLite
2020-12-11 14:02:17 +00:00
Neil Alexander 9c03b0a4fa
Refactor sync tokens (#1628)
* Refactor sync tokens

* Comment out broken notifier test

* Update types, sytest-whitelist

* More robust token checking

* Remove New functions for streaming tokens

* Export Logs in StreamingToken

* Fix tests
2020-12-10 18:57:10 +00:00
Neil Alexander bad81c028f
Don't recalculate event ID so often in sync (#1624)
* Don't bail so quickly in fetchMissingStateEvents

* Don't recalculate event IDs so often in sync API

* Add comments

* Fix comments

* Update to matrix-org/gomatrixserverlib@eb6a890
2020-12-09 18:07:17 +00:00
Neil Alexander be7d8595be
Peeking updates (#1607)
* Add unpeek

* Don't allow peeks into encrypted rooms

* Fix send tests

* Update consumers
2020-12-03 11:11:46 +00:00
Neil Alexander b5aa7ca3ab
Top-level setup package (#1605)
* Move config, setup, mscs into "setup" top-level folder

* oops, forgot the EDU server

* Add setup

* goimports
2020-12-02 17:41:00 +00:00
Neil Alexander 417c7d3569
Send client events to appservices (#1603)
* Send client events to appservices

* FormatSync instead of FormatAll
2020-12-02 15:14:12 +00:00
Ariadne Conill d5b8260196
syncapi/requestpool: fix initial sync logic error in appendAccountData() (#1594)
* requestpool: fix initial sync logic error in appendAccountData()

In initial sync, req.since is no longer nil, but instead,
req.since.PDUPosition() and req.since.EDUPosition() returns 0.

This ensures forgotten rooms do not come back as zombies.

* syncapi/requestpool: reintroduce req.since == nil check
2020-12-01 17:01:34 +00:00
Neil Alexander c636be5070
Update last seen on sync requests (#1593)
* Update last seen on sync requests

* Fix MSC2836 unit tests

* Only update once per minute

* Remove debug logging

* Configurable option

* Simplify updateLastSeen/cleanLastSeen
2020-11-20 11:29:02 +00:00
Neil Alexander 20a01bceb2
Pass pointers to events — reloaded (#1583)
* Pass events as pointers

* Fix lint errors

* Update gomatrixserverlib

* Update gomatrixserverlib

* Update to matrix-org/gomatrixserverlib#240
2020-11-16 15:44:53 +00:00