Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix flake8 warnings for tests | Mark Haines | 2016-02-19 | 39 | -364/+359 |
| | |||||
* | Add Measures to presence | Erik Johnston | 2016-02-19 | 1 | -57/+62 |
| | |||||
* | Add presence metric | Erik Johnston | 2016-02-19 | 1 | -0/+3 |
| | |||||
* | Remove spurious extra metrics | Erik Johnston | 2016-02-19 | 1 | -1/+0 |
| | |||||
* | Merge pull request #586 from matrix-org/erikj/presence | Erik Johnston | 2016-02-19 | 3 | -10/+47 |
|\ | | | | | Fix presence `currently_active`. Add presence metrics. | ||||
| * | Don't set currently_active for remote presence | Erik Johnston | 2016-02-19 | 2 | -10/+27 |
| | | |||||
| * | More metrics | Erik Johnston | 2016-02-19 | 1 | -0/+6 |
| | | |||||
| * | Add presence metrics | Erik Johnston | 2016-02-19 | 2 | -0/+14 |
| | | |||||
* | | Merge pull request #582 from matrix-org/erikj/presence | Erik Johnston | 2016-02-19 | 30 | -3102/+1450 |
|\| | | | | | Rewrite presence for performance. | ||||
| * | "You are not..." | Erik Johnston | 2016-02-18 | 1 | -1/+1 |
| | | |||||
| * | Close cursor | Erik Johnston | 2016-02-18 | 1 | -0/+1 |
| | | |||||
| * | Remove unused param from get_max_token | Erik Johnston | 2016-02-18 | 6 | -13/+11 |
| | | |||||
| * | WheelTimer: Don't scan list, use index. | Erik Johnston | 2016-02-18 | 1 | -5/+8 |
| | | |||||
| * | Remove invalid arg. | Erik Johnston | 2016-02-18 | 1 | -1/+0 |
| | | |||||
| * | Add unit test | Erik Johnston | 2016-02-18 | 2 | -93/+560 |
| | | |||||
| * | Remove old tests. | Erik Johnston | 2016-02-18 | 6 | -2098/+0 |
| | | |||||
| * | Add stuff pulled from the DB to the cache | Erik Johnston | 2016-02-18 | 1 | -2/+4 |
| | | |||||
| * | PEP8 | Erik Johnston | 2016-02-18 | 1 | -2/+2 |
| | | |||||
| * | Prefix TS fields with _ts | Erik Johnston | 2016-02-18 | 4 | -43/+44 |
| | | |||||
| * | Remove status_msg when going offline. Don't offline -> online if you send a ↵ | Erik Johnston | 2016-02-18 | 1 | -5/+15 |
| | | | | | | | | message | ||||
| * | Check presence state is a valid one | Erik Johnston | 2016-02-18 | 2 | -1/+6 |
| | | |||||
| * | Move if statement | Erik Johnston | 2016-02-18 | 1 | -8/+8 |
| | | |||||
| * | Comment | Erik Johnston | 2016-02-18 | 1 | -0/+2 |
| | | |||||
| * | Remove spurious comment | Erik Johnston | 2016-02-17 | 1 | -1/+0 |
| | | |||||
| * | Initial cut | Erik Johnston | 2016-02-17 | 16 | -1136/+933 |
| | | |||||
| * | Add wheeltimer impl | Erik Johnston | 2016-02-17 | 2 | -0/+162 |
| | | |||||
* | | Merge pull request #573 from matrix-org/erikj/sync_fix | Erik Johnston | 2016-02-18 | 1 | -5/+12 |
|\ \ | | | | | | | Mitigate against incorrect old state in /sync. | ||||
| * | | Mitigate against incorrect old state in /sync. | Erik Johnston | 2016-02-12 | 1 | -5/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | There have been reports from the field that servers occasionally have incorrect notions of what the old state of a room is. This proves problematic as /sync relies on a correct old state. This patch makes /sync specifically include in the 'state' key any current state events that haven't been correctly included. | ||||
* | | | Merge pull request #579 from matrix-org/markjh/dead_code | Mark Haines | 2016-02-18 | 10 | -141/+45 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Remove dead code for setting device specific rules. It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code. | ||||
| * | | | Remove dead code for setting device specific rules. | Mark Haines | 2016-02-18 | 10 | -141/+45 |
|/ / / | | | | | | | | | | | | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code. | ||||
* | | | Merge pull request #583 from matrix-org/daniel/roomcleanupincremental | Daniel Wagner-Hall | 2016-02-18 | 9 | -364/+393 |
|\ \ \ | | | | | | | | | Merge all of the room membership codepaths into one | ||||
| * | | | Review comments | Daniel Wagner-Hall | 2016-02-18 | 3 | -7/+7 |
| | | | | |||||
| * | | | Merge branch 'develop' into daniel/roomcleanupincremental | Daniel Wagner-Hall | 2016-02-17 | 4 | -85/+92 |
| |\ \ \ | |/ / / |/| | | | | | | | | | | | Conflicts: synapse/rest/client/v1/room.py | ||||
* | | | | Merge pull request #580 from Rugvip/develop | Erik Johnston | 2016-02-17 | 1 | -1/+4 |
|\ \ \ \ | |_|_|/ |/| | | | api/filtering: don't assume that event content will always be a dict | ||||
| * | | | api/filtering: don't assume that event content will always be a dict | Patrik Oldsberg | 2016-02-17 | 1 | -1/+4 |
| | | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
* | | | | Merge pull request #581 from Rugvip/event_id | Erik Johnston | 2016-02-17 | 1 | -2/+2 |
|\ \ \ \ | |/ / / |/| | | | client/v1/room: include event_id in response to state event PUT | ||||
| * | | | client/v1/room: include event_id in response to state event PUT, in ↵ | Patrik Oldsberg | 2016-02-17 | 1 | -2/+2 |
|/ / / | | | | | | | | | | | | | | | | accordance with the spec Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
* | | | Fix typo in request validation for adding push rules. | Mark Haines | 2016-02-16 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #578 from matrix-org/markjh/idempotent_rules | Mark Haines | 2016-02-16 | 1 | -82/+86 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Make adding push rules idempotent Also remove the **kwargs from the add_push_rule method. Fixes https://matrix.org/jira/browse/SYN-391 | ||||
| * | | | Make adding push rules idempotent | Mark Haines | 2016-02-16 | 1 | -82/+86 |
|/ / / | | | | | | | | | | | | | | | | Also remove the **kwargs from the add_push_rule method. Fixes https://matrix.org/jira/browse/SYN-391 | ||||
| * | | Some cleanup | Daniel Wagner-Hall | 2016-02-17 | 2 | -69/+61 |
| | | | | | | | | | | | | | | | I'm not particularly happy with the "action" switching, but there's no convenient way to defer the work that needs to happen after it, so... :( | ||||
| * | | Respond to federated invite with non-empty context | Daniel Wagner-Hall | 2016-02-17 | 3 | -46/+65 |
| | | | | | | | | | | | | | | | | | | | | | Currently, we magically perform an extra database hit to find the inviter, and use this to guess where we should send the event. Instead, fill in a valid context, so that other callers relying on the context actually have one. | ||||
| * | | Some cleanup, some TODOs, more to do | Daniel Wagner-Hall | 2016-02-16 | 1 | -68/+60 |
| | | | |||||
| * | | Some cleanup | Daniel Wagner-Hall | 2016-02-16 | 2 | -23/+30 |
| | | | |||||
| * | | Tidy? up room creation event sending | Daniel Wagner-Hall | 2016-02-16 | 1 | -63/+72 |
| | | | |||||
| * | | Add comment | Daniel Wagner-Hall | 2016-02-16 | 1 | -1/+1 |
| | | | |||||
| * | | Merge branch 'develop' into daniel/roomcleanupincremental | Daniel Wagner-Hall | 2016-02-16 | 1 | -3/+3 |
| |\ \ | |/ / |/| | | | | | | | | Conflicts: synapse/handlers/room.py | ||||
* | | | Merge pull request #577 from matrix-org/daniel/createroom | Daniel Wagner-Hall | 2016-02-16 | 2 | -55/+31 |
|\ \ \ | | | | | | | | | Simplify room creation code | ||||
| * | | | Simplify room creation code | Daniel Wagner-Hall | 2016-02-15 | 2 | -55/+31 |
|/ / / | |||||
| * | | Branch off member and non member sends | Daniel Wagner-Hall | 2016-02-15 | 5 | -74/+99 |
| | | | | | | | | | | | | Unclean, needs tidy-up, but works | ||||
| * | | Simplify room creation code | Daniel Wagner-Hall | 2016-02-15 | 2 | -52/+28 |
| | | | |||||
| * | | Use update_membership for profile updates | Daniel Wagner-Hall | 2016-02-15 | 2 | -20/+12 |
| | | | |||||
| * | | Use update_membership to kick guests | Daniel Wagner-Hall | 2016-02-15 | 2 | -16/+19 |
| | | | |||||
| * | | Reuse update_membership from /join | Daniel Wagner-Hall | 2016-02-15 | 2 | -19/+14 |
| | | | |||||
| * | | Inline _do_local_membership_update | Daniel Wagner-Hall | 2016-02-15 | 1 | -18/+7 |
| | | | |||||
| * | | Inline _do_join as it now only has one caller | Daniel Wagner-Hall | 2016-02-15 | 1 | -48/+47 |
| | | | | | | | | | | | | | | | | | | Also, consistently apply rate limiting. Again, ugly, but a step in the right direction. | ||||
| * | | Merge implementation of /join by alias or ID | Daniel Wagner-Hall | 2016-02-15 | 5 | -70/+71 |
| | | | | | | | | | | | | | | | This code is kind of rough (passing the remote servers down a long chain), but is a step towards improvement. | ||||
| * | | Merge some room joining codepaths | Daniel Wagner-Hall | 2016-02-15 | 2 | -5/+11 |
|/ / | | | | | | | | | | | Force joining by alias to go through the send_membership_event checks, rather than bypassing them straight into _do_join. This is the first of many stages of cleanup. | ||||
* | | Revert "Merge two of the room join codepaths" | Daniel Wagner-Hall | 2016-02-12 | 5 | -73/+69 |
| | | | | | | | | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check | ||||
* | | Merge pull request #575 from matrix-org/daniel/roomcleanup | Daniel Wagner-Hall | 2016-02-12 | 5 | -69/+73 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge two of the room join codepaths There's at least one more to merge in. Side-effects: * Stop reporting None as displayname and avatar_url in some cases * Joining a room by alias populates guest-ness in join event * Remove unspec'd PUT version of /join/<room_id_or_alias> which has not been called on matrix.org according to logs * Stop recording access_token_id on /join/room_id - currently we don't record it on /join/room_alias; I can try to thread it through at some point. | ||||
| * | | Merge two of the room join codepaths | Daniel Wagner-Hall | 2016-02-12 | 5 | -69/+73 |
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | There's at least one more to merge in. Side-effects: * Stop reporting None as displayname and avatar_url in some cases * Joining a room by alias populates guest-ness in join event * Remove unspec'd PUT version of /join/<room_id_or_alias> which has not been called on matrix.org according to logs * Stop recording access_token_id on /join/room_id - currently we don't record it on /join/room_alias; I can try to thread it through at some point. | ||||
* | | Merge pull request #574 from matrix-org/markjh/connection_closed | Mark Haines | 2016-02-12 | 5 | -11/+33 |
|\ \ | | | | | | | Catch the exceptions thrown by twisted when you write to a closed con… | ||||
| * | | Catch the exceptions thrown by twisted when you write to a closed connection | Mark Haines | 2016-02-12 | 5 | -11/+33 |
|/ / | |||||
* | | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-02-12 | 2 | -1/+12 |
|\| | |||||
| * | Merge branch 'release-v0.13.3' of github.com:matrix-org/synapse v0.13.3 | Erik Johnston | 2016-02-11 | 3 | -2/+7 |
| |\ | |||||
| | * | Bump version and changelog | Erik Johnston | 2016-02-11 | 2 | -1/+6 |
| | | | |||||
| | * | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-02-11 | 2 | -1/+7 |
| | |\ | | |/ | |/| | |||||
| * | | Merge branch 'release-v0.13.2' of github.com:matrix-org/synapse v0.13.2 | Erik Johnston | 2016-02-11 | 5 | -9/+29 |
| |\ \ | |||||
| | * | | Bump version and changelog | Erik Johnston | 2016-02-11 | 2 | -1/+7 |
| | | | | |||||
* | | | | Merge pull request #572 from matrix-org/daniel/exclusivity | Daniel Wagner-Hall | 2016-02-11 | 1 | -5/+12 |
|\ \ \ \ | |_|_|/ |/| | | | Enforce user_id exclusivity for AS registrations | ||||
| * | | | Enforce user_id exclusivity for AS registrations | Daniel Wagner-Hall | 2016-02-11 | 1 | -5/+12 |
|/ / / | | | | | | | | | | | | | This whole set of checks is kind of an ugly mess, which I may clean up at some point, but for now let's be correct. | ||||
* | / | Fix SYN-627, events are in incorrect room in /sync | Erik Johnston | 2016-02-11 | 1 | -1/+1 |
| |/ |/| | |||||
* | | Merge pull request #570 from matrix-org/erikj/events_fixes | Erik Johnston | 2016-02-11 | 2 | -8/+12 |
|\ \ | | | | | | | Return events in correct order for /events | ||||
| * | | Return events in correct order for /events | Erik Johnston | 2016-02-11 | 2 | -8/+12 |
|/ / | |||||
* | | Add some paranoia logging | Erik Johnston | 2016-02-11 | 1 | -0/+10 |
| | | |||||
* | | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-02-10 | 3 | -2/+9 |
|\| | |||||
| * | 0.13.1 v0.13.1 | Matthew Hodgson | 2016-02-10 | 1 | -1/+1 |
| | | |||||
| * | bump for 0.13.1 | Matthew Hodgson | 2016-02-10 | 1 | -0/+7 |
| | | |||||
| * | Merge branch 'master' of git+ssh://github.com/matrix-org/synapse | Matthew Hodgson | 2016-02-10 | 339 | -3968/+5722 |
| |\ | |||||
| | * | Merge branch 'release-v0.13.0' of github.com:matrix-org/synapse v0.13.0 | Erik Johnston | 2016-02-10 | 339 | -3968/+5714 |
| | |\ | |_|/ |/| | | |||||
* | | | Update CHANGES | Erik Johnston | 2016-02-10 | 1 | -2/+4 |
| | | | |||||
* | | | Bump version and changelog | Erik Johnston | 2016-02-10 | 2 | -1/+23 |
| | | | |||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.13.0 | Erik Johnston | 2016-02-10 | 91 | -1106/+1801 |
|\ \ \ | |||||
| * \ \ | Merge pull request #569 from matrix-org/erikj/initial_sync | Erik Johnston | 2016-02-10 | 2 | -72/+73 |
| |\ \ \ | | | | | | | | | | | Improvements to initial /syncs | ||||
| | * | | | Batch fetch _get_state_groups_from_groups | Erik Johnston | 2016-02-10 | 1 | -32/+34 |
| | | | | | |||||
| | * | | | Use _simple_select_many for _get_state_group_for_events | Erik Johnston | 2016-02-10 | 2 | -17/+11 |
| | | | | | |||||
| | * | | | Only calculate initial sync for 10 rooms at a time | Erik Johnston | 2016-02-10 | 1 | -24/+29 |
| |/ / / | | | | | | | | | | | | | This helps to ensure we don't completely starve other requests. | ||||
| * | | | Merge pull request #566 from matrix-org/erikj/logcontext | Erik Johnston | 2016-02-10 | 2 | -25/+14 |
| |\ \ \ | | | | | | | | | | | Don't bother copying records on parent context | ||||
| | * | | | Remove comment | Erik Johnston | 2016-02-10 | 1 | -1/+1 |
| | | | | | |||||
| | * | | | s/parent_context/previous_context/ | Erik Johnston | 2016-02-10 | 1 | -9/+9 |
| | | | | | |||||
| | * | | | Set parent context on instansiation | Erik Johnston | 2016-02-10 | 1 | -2/+7 |
| | | | | | |||||
| | * | | | Fix test | Erik Johnston | 2016-02-09 | 1 | -9/+1 |
| | | | | | |||||
| | * | | | Don't bother copying records on parent context | Erik Johnston | 2016-02-09 | 1 | -8/+0 |
| | | | | | |||||
| * | | | | Merge pull request #568 from matrix-org/erikj/unread_notif | Erik Johnston | 2016-02-10 | 7 | -89/+66 |
| |\ \ \ \ | | | | | | | | | | | | | Atomically persit push actions when we persist the event | ||||
| | * | | | | Rename functions | Erik Johnston | 2016-02-10 | 2 | -4/+4 |
| | | | | | | |||||
| | * | | | | Atomically persit push actions when we persist the event | Erik Johnston | 2016-02-09 | 6 | -65/+49 |
| | | | | | | |||||
| | * | | | | Pass in current state to push action handler | Erik Johnston | 2016-02-09 | 3 | -27/+20 |
| | | | | | | |||||
| * | | | | | Merge pull request #532 from floviolleau/floviolleau/documentation | Erik Johnston | 2016-02-10 | 2 | -1/+25 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Update documentation | ||||
| | * | | | | | Update documentation | Florent VIOLLEAU | 2016-01-27 | 2 | -1/+25 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Florent VIOLLEAU <floviolleau@gmail.com> | ||||
| * | | | | | | Merge pull request #565 from matrix-org/erikj/macaroon_config | Erik Johnston | 2016-02-09 | 3 | -19/+34 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Derive macaroon_secret_key from signing key. | ||||
| | * | | | | | | Typo | Erik Johnston | 2016-02-09 | 1 | -1/+1 |
| | | | | | | | | |||||
| | * | | | | | | Fix test | Erik Johnston | 2016-02-09 | 1 | -3/+4 |
| | | | | | | | | |||||
| | * | | | | | | Derive macaroon_secret_key from signing key. | Erik Johnston | 2016-02-08 | 2 | -16/+30 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, there are people that are running synapse without a `macaroon_sercret_key` set. Mandating they set one is a good solution, except that breaking auto upgrades is annoying. | ||||
| * | | | | | | | Change a log from debug to info | Erik Johnston | 2016-02-09 | 1 | -1/+1 |
| | |_|/ / / / | |/| | | | | | |||||
| * | | | | | | Remove dead code | Erik Johnston | 2016-02-09 | 1 | -12/+0 |
| | | | | | | | |||||
| * | | | | | | Invalidate get_last_receipt_event_id_for_user cache | Erik Johnston | 2016-02-09 | 1 | -0/+5 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #567 from matrix-org/erikj/sync_ephemeral | Erik Johnston | 2016-02-09 | 2 | -14/+20 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Don't load all ephemeral state for a room on every sync | ||||
| | * | | | | | | Don't load all ephemeral state for a room on every sync | Erik Johnston | 2016-02-09 | 2 | -14/+20 |
| |/ / / / / / | |||||
| * | | | | | | Fix unit tests | Erik Johnston | 2016-02-09 | 2 | -5/+9 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #560 from matrix-org/daniel/tox | Daniel Wagner-Hall | 2016-02-09 | 1 | -1/+1 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Remove pyc files before running tests | ||||
| | * | | | | | | Remove pyc files before running tests | Daniel Wagner-Hall | 2016-02-09 | 1 | -1/+1 |
| |/ / / / / / | |||||
| * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-02-09 | 3 | -6/+6 |
| |\ \ \ \ \ \ | |||||
| | * | | | | | | Revert "Reject additional path segments" | Daniel Wagner-Hall | 2016-02-09 | 3 | -6/+6 |
| | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1d19a5ec0fff73af9cee8c21118020b31be47379. iOS Console is apparently relying on these paths. | ||||
| * | | | | | | Measure some /sync related things | Erik Johnston | 2016-02-09 | 2 | -150/+162 |
| | | | | | | | |||||
| * | | | | | | Revert to putting it around the entire block | Erik Johnston | 2016-02-09 | 1 | -124/+124 |
| | | | | | | | |||||
| * | | | | | | Don't create new logging context | Erik Johnston | 2016-02-09 | 1 | -12/+15 |
| |/ / / / / | |||||
| * | | | | | Fix bug in util.metrics.Measure | Erik Johnston | 2016-02-09 | 1 | -1/+3 |
| | | | | | | |||||
| * | | | | | Create new context when measuring | Erik Johnston | 2016-02-09 | 1 | -2/+5 |
| | | | | | | |||||
| * | | | | | Don't measure across event stream call, as it lasts for a long time. | Erik Johnston | 2016-02-09 | 1 | -124/+124 |
| | | | | | | |||||
| * | | | | | Change logcontext warns to debug | Erik Johnston | 2016-02-09 | 1 | -3/+3 |
| |/ / / / | |||||
| * | | | | Merge pull request #564 from matrix-org/erikj/logcontext | Erik Johnston | 2016-02-08 | 31 | -229/+356 |
| |\ \ \ \ | | | | | | | | | | | | | Fix up logcontexts | ||||
| | * | | | | Fix up logcontexts | Erik Johnston | 2016-02-08 | 31 | -229/+356 |
| | | | | | | |||||
| * | | | | | Merge pull request #562 from matrix-org/erikj/push_metric | Erik Johnston | 2016-02-08 | 3 | -31/+149 |
| |\| | | | | | | | | | | | | | | | | Add metrics to pushers | ||||
| | * | | | | Add metrics to pushers | Erik Johnston | 2016-02-08 | 3 | -31/+149 |
| | | | | | | |||||
| * | | | | | Merge pull request #563 from matrix-org/daniel/dollarz | Daniel Wagner-Hall | 2016-02-08 | 3 | -6/+6 |
| |\ \ \ \ \ | | |/ / / / | |/| | | | | Reject additional path segments | ||||
| | * | | | | Reject additional path segments | Daniel Wagner-Hall | 2016-02-08 | 3 | -6/+6 |
| |/ / / / | |||||
| * | | | | Report the v1 and v2 patterns separately | Mark Haines | 2016-02-05 | 1 | -4/+12 |
| | | | | | |||||
| * | | | | List the URL patterns in synapse | Mark Haines | 2016-02-05 | 1 | -0/+54 |
| | | | | | |||||
| * | | | | Merge pull request #550 from matrix-org/daniel/guestnames | Daniel Wagner-Hall | 2016-02-05 | 2 | -19/+72 |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allocate guest user IDs numericcally The current random IDs are ugly and confusing when presented in UIs. This makes them prettier and easier to read. Also, disable non-automated registration of numeric IDs so that we don't need to worry so much about people carving out our automated address space and us needing to keep retrying ID registration. | ||||
| | * | | | | Allocate guest user IDs numericcally | Daniel Wagner-Hall | 2016-02-05 | 2 | -19/+72 |
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current random IDs are ugly and confusing when presented in UIs. This makes them prettier and easier to read. Also, disable non-automated registration of numeric IDs so that we don't need to worry so much about people carving out our automated address space and us needing to keep retrying ID registration. | ||||
| * | | | | Merge pull request #559 from matrix-org/daniel/media | Daniel Wagner-Hall | 2016-02-05 | 2 | -3/+6 |
| |\ \ \ \ | | | | | | | | | | | | | Host /media/r0 as well as /media/v1 | ||||
| | * | | | | Host /media/r0 as well as /media/v1 | Daniel Wagner-Hall | 2016-02-05 | 2 | -3/+6 |
| |/ / / / | |||||
| * | | | | Merge pull request #558 from matrix-org/daniel/config | Daniel Wagner-Hall | 2016-02-05 | 7 | -23/+198 |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error if macaroon key is missing from config Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading. | ||||
| | * | | | | Error if macaroon key is missing from config | Daniel Wagner-Hall | 2016-02-05 | 7 | -23/+198 |
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading. | ||||
| * | | | | Merge pull request #557 from matrix-org/dbkr/profile_dont_return_null | David Baker | 2016-02-04 | 1 | -6/+17 |
| |\ \ \ \ | | | | | | | | | | | | | Omit keys rather then returning null in profile API | ||||
| | * | | | | No braces here | David Baker | 2016-02-03 | 1 | -1/+1 |
| | | | | | | |||||
| | * | | | | Don't return null if profile display name / avatar url isn't set: omit them ↵ | David Baker | 2016-02-03 | 1 | -6/+17 |
| | | | | | | | | | | | | | | | | | | | | | | | | instead | ||||
| * | | | | | Actually return something sensible | Erik Johnston | 2016-02-03 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Remove old log line | Erik Johnston | 2016-02-03 | 1 | -2/+0 |
| | | | | | | |||||
| * | | | | | We return dicts now. | Erik Johnston | 2016-02-03 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Add descriptions | Erik Johnston | 2016-02-03 | 4 | -1/+5 |
| | | | | | | |||||
| * | | | | | Preserve log context over when deferring to thread pool in media repo | Erik Johnston | 2016-02-03 | 1 | -4/+7 |
| | | | | | | |||||
| * | | | | | Merge pull request #555 from matrix-org/erikj/logcontext | Erik Johnston | 2016-02-03 | 3 | -16/+42 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Allowing tagging log contexts | ||||
| | * | | | | | Allowing tagging log contexts | Erik Johnston | 2016-02-03 | 3 | -16/+42 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #554 from matrix-org/erikj/event_push | Erik Johnston | 2016-02-03 | 5 | -21/+67 |
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | | Change event_push_actions_rm_tokens schema | ||||
| | * | | | | | Change event_push_actions_rm_tokens schema | Erik Johnston | 2016-02-03 | 5 | -21/+67 |
| | |/ / / / | |||||
| * | | | | | Merge pull request #556 from matrix-org/daniel/config | Daniel Wagner-Hall | 2016-02-03 | 6 | -10/+10 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Rename config field to reflect yaml name | ||||
| | * | | | | | Rename config field to reflect yaml name | Daniel Wagner-Hall | 2016-02-03 | 6 | -10/+10 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #552 from matrix-org/erikj/public_room_fix | Erik Johnston | 2016-02-03 | 5 | -136/+88 |
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | | Change the way we do public room list fetching | ||||
| | * | | | | | Simplify get_rooms | Erik Johnston | 2016-02-03 | 3 | -105/+9 |
| | | | | | | | |||||
| | * | | | | | PEP8 | Erik Johnston | 2016-02-03 | 1 | -1/+1 |
| | | | | | | | |||||
| | * | | | | | Remove unused method | Erik Johnston | 2016-02-03 | 1 | -8/+0 |
| | | | | | | | |||||
| | * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2016-02-03 | 36 | -238/+216 |
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | erikj/public_room_fix | ||||
| | * | | | | | Unused import | Erik Johnston | 2016-02-03 | 1 | -1/+1 |
| | | | | | | | |||||
| | * | | | | | Change the way we do public room list fetching | Erik Johnston | 2016-02-02 | 3 | -24/+80 |
| | | | | | | | |||||
| * | | | | | | Add macaroon inspection script | Daniel Wagner-Hall | 2016-02-03 | 1 | -0/+24 |
| | |/ / / / | |/| | | | | |||||
| * | | | | | Merge pull request #553 from matrix-org/daniel/accesstokenlogging | Daniel Wagner-Hall | 2016-02-02 | 1 | -0/+2 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Log more diagnostics for unrecognised access tokens | ||||
| | * | | | | | Log more diagnostics for unrecognised access tokens | Daniel Wagner-Hall | 2016-02-02 | 1 | -0/+2 |
| |/ / / / / | |||||
| * | | | | | Explain what W503 is | Daniel Wagner-Hall | 2016-02-02 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Merge pull request #551 from matrix-org/daniel/flake8 | Daniel Wagner-Hall | 2016-02-02 | 34 | -66/+73 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Fix flake8 warnings for new flake8 | ||||
| | * | | | | | Fix flake8 warnings for new flake8 | Daniel Wagner-Hall | 2016-02-02 | 34 | -66/+73 |
| |/ / / / / | |||||
| * | | | | | Merge pull request #549 from matrix-org/erikj/sync | Erik Johnston | 2016-02-02 | 3 | -29/+32 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Fetch events in a separate transaction. | ||||
| | * | | | | | s/get_room_changes_for_user/get_membership_changes_for_user/ | Erik Johnston | 2016-02-02 | 3 | -4/+4 |
| | | | | | | | |||||
| | * | | | | | Fetch events in a separate transaction. | Erik Johnston | 2016-02-02 | 1 | -26/+29 |
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has a couple of benefits: - It reduces the time of transactions, allowing other database requests to run. - Fetching events is given a dedicated database thread, and so can't starve other database requests. | ||||
| * | | | | | Merge pull request #545 from matrix-org/erikj/sync | Erik Johnston | 2016-02-02 | 2 | -141/+99 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Move /sync state calculations from rest to handler | ||||
| | * | | | | | Comments | Erik Johnston | 2016-02-01 | 1 | -5/+6 |
| | | | | | | | |||||
| | * | | | | | Move state calculations from rest to handler | Erik Johnston | 2016-02-01 | 2 | -141/+98 |
| | | | | | | | |||||
| | * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-02-01 | 1 | -5/+0 |
| | |\ \ \ \ \ | |||||
| | * \ \ \ \ \ | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-02-01 | 1 | -6/+3 |
| | |\ \ \ \ \ \ | |||||
| * | \ \ \ \ \ \ | Merge pull request #548 from matrix-org/dbkr/fix_guest_db_column | David Baker | 2016-02-02 | 1 | -1/+3 |
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Pass make_guest when we autogen a user ID | ||||
| | * | | | | | | | | Pass make_guest whne we autogen a user ID | David Baker | 2016-02-02 | 1 | -1/+3 |
| |/ / / / / / / / | |||||
| * | | | | | | | | WARN if we get a topo token instead of stream. | Erik Johnston | 2016-02-02 | 1 | -1/+6 |
| | | | | | | | | | |||||
| * | | | | | | | | Merge pull request #547 from matrix-org/dbkr/fix_guest_upgrade | David Baker | 2016-02-02 | 1 | -0/+1 |
| |\ \ \ \ \ \ \ \ | | |_|_|_|/ / / / | |/| | | | | | | | Pull guest access token out of the auth session params | ||||
| | * | | | | | | | Pull guest access token out of the auth session params, otherwise it will ↵ | David Baker | 2016-02-01 | 1 | -0/+1 |
| | | |_|/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | break if you open the email on a different device. | ||||
| * | | | | | | | Merge pull request #546 from matrix-org/erikj/events | Erik Johnston | 2016-02-01 | 2 | -7/+26 |
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | Switch over /events to use per room caches | ||||
| | * | | | | | | Order things correctly | Erik Johnston | 2016-02-01 | 2 | -1/+5 |
| | | | | | | | | |||||
| | * | | | | | | Switch over /events to use per room caches | Erik Johnston | 2016-02-01 | 2 | -7/+22 |
| |/ / / / / / | |||||
| * | | | | | | Merge pull request #543 from matrix-org/erikj/sync | Erik Johnston | 2016-02-01 | 3 | -0/+15 |
| |\| | | | | | | | | | | | | | | | | | | | Cache get_room_changes_for_user | ||||
| | * | | | | | Cache get_room_changes_for_user | Erik Johnston | 2016-01-29 | 3 | -0/+15 |
| | | | | | | | |||||
| * | | | | | | Merge pull request #544 from matrix-org/erikj/stream_rooms | Erik Johnston | 2016-02-01 | 1 | -5/+0 |
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | | Only use room_ids if in get_room_events_stream if is_guest | ||||
| | * | | | | | Only use room_ids if in get_room_events_stream if is_guest | Erik Johnston | 2016-02-01 | 1 | -5/+0 |
| |/ / / / / | |||||
| * | | | | | Don't use before_token. Its wrong. Use actual limit. | Erik Johnston | 2016-01-31 | 1 | -6/+3 |
| | | | | | | |||||
| * | | | | | Merge pull request #542 from matrix-org/erikj/cache_fix | Erik Johnston | 2016-01-29 | 2 | -8/+7 |
| |\| | | | | | | | | | | | | | | | | Cache fixes | ||||
| | * | | | | Invalidate _account_data_stream_cache correctly | Erik Johnston | 2016-01-29 | 1 | -0/+4 |
| | | | | | | |||||
| | * | | | | If stream pos is greater then earliest known key and entity hasn't changed, ↵ | Erik Johnston | 2016-01-29 | 1 | -8/+3 |
| |/ / / / | | | | | | | | | | | | | | | | then entity hasn't changed | ||||
| * | | | | Merge pull request #540 from matrix-org/erikj/sync | Erik Johnston | 2016-01-29 | 4 | -19/+56 |
| |\ \ \ \ | | | | | | | | | | | | | Prefill stream change caches | ||||
| | * | | | | Comment. Remove superfluous order by | Erik Johnston | 2016-01-29 | 1 | -1/+3 |
| | | | | | | |||||
| | * | | | | Don't prefill account data | Erik Johnston | 2016-01-29 | 1 | -8/+1 |
| | | | | | | |||||
| | * | | | | Actually use cache | Erik Johnston | 2016-01-29 | 1 | -7/+13 |
| | | | | | | |||||
| | * | | | | Max is not a function | Erik Johnston | 2016-01-29 | 1 | -1/+1 |
| | | | | | | |||||
| | * | | | | Convert param style | Erik Johnston | 2016-01-29 | 1 | -0/+3 |
| | | | | | | |||||
| | * | | | | Prefill stream change caches | Erik Johnston | 2016-01-29 | 4 | -19/+52 |
| | | | | | | |||||
| * | | | | | Merge pull request #541 from matrix-org/erikj/fixsomeofpush | Erik Johnston | 2016-01-29 | 1 | -9/+14 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Make /events always return a newer token, if one exists | ||||
| | * | | | | | Deal with None limit | Erik Johnston | 2016-01-29 | 1 | -1/+5 |
| | | | | | | | |||||
| | * | | | | | Make /events always return a newer token, if one exists | Erik Johnston | 2016-01-29 | 1 | -9/+10 |
| | |/ / / / | |||||
| * | | | | | Merge pull request #539 from matrix-org/markjh/3pid | Mark Haines | 2016-01-29 | 4 | -10/+29 |
| |\ \ \ \ \ | | |/ / / / | |/| | | | | Fix up the /account/3pid API | ||||
| | * | | | | Add missing param to the log line | Mark Haines | 2016-01-29 | 1 | -1/+2 |
| | | | | | | |||||
| | * | | | | Fix the mock homserver used in the tests | Mark Haines | 2016-01-29 | 1 | -0/+1 |
| | | | | | | |||||
| | * | | | | Merge remote-tracking branch 'origin/develop' into markjh/3pid | Mark Haines | 2016-01-29 | 17 | -347/+581 |
| | |\ \ \ \ | | |/ / / / | |/| | | | | |||||
| | * | | | | Add config option for setting the trusted id servers, disabling checking the ↵ | Mark Haines | 2016-01-29 | 2 | -8/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | ID server in integration tests | ||||
| | * | | | | Allow three_pid_creds as well as threePidCreds in /account/3pid | Mark Haines | 2016-01-29 | 1 | -2/+3 |
| | | | | | | |||||
* | | | | | | Update CHANGES v0.12.1-rc1 | Erik Johnston | 2016-01-29 | 1 | -4/+4 |
| | | | | | | |||||
* | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into release-v0.12.1 | Erik Johnston | 2016-01-29 | 40 | -1031/+936 |
|\| | | | | | |||||
| * | | | | | Bump AccountDataAndTagsChangeCache size | Erik Johnston | 2016-01-29 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Don't work out unread_notifs_for_room_id unless needed | Erik Johnston | 2016-01-29 | 1 | -11/+12 |
| | | | | | | |||||
| * | | | | | Merge pull request #536 from matrix-org/erikj/sync | Erik Johnston | 2016-01-29 | 10 | -324/+501 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Make /sync "better". | ||||
| | * | | | | | Amalgamate tags and account data stream caches | Erik Johnston | 2016-01-28 | 2 | -12/+9 |
| | | | | | | | |||||
| | * | | | | | If the same as the earliest key, assume nothing has changed. | Erik Johnston | 2016-01-28 | 1 | -0/+5 |
| | | | | | | | |||||
| | * | | | | | Correctly update _entity_to_key | Erik Johnston | 2016-01-28 | 1 | -4/+5 |
| | | | | | | | |||||
| | * | | | | | Fix inequalities | Erik Johnston | 2016-01-28 | 1 | -2/+2 |
| | | | | | | | |||||
| | * | | | | | Don't use defer.returnValue | Erik Johnston | 2016-01-28 | 1 | -1/+1 |
| | | | | | | | |||||
| | * | | | | | Include cache hits with has_entity_changed | Erik Johnston | 2016-01-28 | 1 | -0/+4 |
| | | | | | | | |||||
| | * | | | | | Add events index | Erik Johnston | 2016-01-28 | 1 | -0/+16 |
| | | | | | | | |||||
| | * | | | | | Change name and doc has_entity_changed | Erik Johnston | 2016-01-28 | 4 | -4/+6 |
| | | | | | | | |||||
| | * | | | | | Cache tags and account data | Erik Johnston | 2016-01-28 | 7 | -102/+137 |
| | | | | | | | |||||
| | * | | | | | Ensure keys to RoomStreamChangeCache are ints | Erik Johnston | 2016-01-28 | 2 | -5/+12 |
| | | | | | | | |||||
| | * | | | | | Invalidate caches properly. Remove unused arg | Erik Johnston | 2016-01-28 | 4 | -10/+15 |
| | | | | | | | |||||
| | * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-01-28 | 4 | -28/+20 |
| | |\ \ \ \ \ | |||||
| | * | | | | | | Change load limit params | Erik Johnston | 2016-01-28 | 1 | -2/+2 |
| | | | | | | | | |||||
| | * | | | | | | Amalgamate incremental and full sync for user | Erik Johnston | 2016-01-28 | 1 | -40/+16 |
| | | | | | | | | |||||
| | * | | | | | | Allow paginating backwards from stream token | Erik Johnston | 2016-01-28 | 3 | -16/+24 |
| | | | | | | | | |||||
| | * | | | | | | Return correct type of token | Erik Johnston | 2016-01-28 | 1 | -3/+6 |
| | | | | | | | | |||||
| | * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-01-28 | 3 | -25/+36 |
| | |\ \ \ \ \ \ | |||||
| | * | | | | | | | No chdir | Erik Johnston | 2016-01-27 | 1 | -1/+0 |
| | | | | | | | | | |||||
| | * | | | | | | | PEP8 | Erik Johnston | 2016-01-27 | 3 | -6/+9 |
| | | | | | | | | | |||||
| | * | | | | | | | Use the same path for incremental with gap or without gap | Erik Johnston | 2016-01-27 | 3 | -212/+147 |
| | | | | | | | | | |||||
| | * | | | | | | | Add cache to room stream | Erik Johnston | 2016-01-27 | 5 | -74/+254 |
| | | | | | | | | | |||||
| | * | | | | | | | Don't turn on profiling | Erik Johnston | 2016-01-27 | 1 | -1/+1 |
| | | | | | | | | | |||||
| * | | | | | | | | Merge pull request #538 from matrix-org/erikj/fix_lru_cache | Erik Johnston | 2016-01-29 | 4 | -8/+57 |
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Fix LruCache. Make TreeCache track its own size. | ||||
| | * | | | | | | | | Add tests | Erik Johnston | 2016-01-29 | 2 | -0/+19 |
| | | | | | | | | | | |||||
| | * | | | | | | | | Directly set self.value | Erik Johnston | 2016-01-29 | 1 | -1/+1 |
| | | | | | | | | | | |||||
| | * | | | | | | | | Remove spurious self.size | Erik Johnston | 2016-01-29 | 1 | -1/+0 |
| | | | | | | | | | | |||||
| | * | | | | | | | | Correctly bookkeep the size of TreeCache | Erik Johnston | 2016-01-29 | 1 | -3/+28 |
| | | | | | | | | | | |||||
| | * | | | | | | | | Make TreeCache keep track of its own size. | Erik Johnston | 2016-01-29 | 2 | -6/+10 |
| | | | | | | | | | | |||||
| | * | | | | | | | | Reset size on clear | Erik Johnston | 2016-01-29 | 1 | -0/+2 |
| | | |_|_|/ / / / | | |/| | | | | | | |||||
| * | | | | | | | | Merge pull request #537 from matrix-org/erikj/cache_filters | Erik Johnston | 2016-01-28 | 3 | -4/+11 |
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | Cache user filters. | ||||
| | * | | | | | | | Fix test | Erik Johnston | 2016-01-28 | 2 | -3/+9 |
| | | | | | | | | | |||||
| | * | | | | | | | Cache filters | Erik Johnston | 2016-01-28 | 1 | -1/+2 |
| |/ / / / / / / | |||||
| * | | | | | | | Prune on fetching | Daniel Wagner-Hall | 2016-01-28 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So we don't try to checkout a stale ref | ||||
| * | | | | | | | Pin pynacl to 0.3.0 | Daniel Wagner-Hall | 2016-01-28 | 1 | -1/+1 |
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Something has gone wrong in the packaging of 1.* which causes it not to compile. | ||||
| * | | | | | | Merge pull request #534 from matrix-org/erikj/setup | Erik Johnston | 2016-01-28 | 12 | -120/+123 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Add a Homeserver.setup method | ||||
| | * | | | | | | Clean up a bit. Add comment | Erik Johnston | 2016-01-28 | 3 | -26/+18 |
| | | | | | | | | |||||
| | * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/setup | Erik Johnston | 2016-01-27 | 1 | -1/+1 |
| | |\ \ \ \ \ \ | | | |/ / / / / | | |/| | | | | | |||||
| | * | | | | | | Fix tests | Erik Johnston | 2016-01-27 | 3 | -5/+12 |
| | | | | | | | | |||||
| | * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/setup | Erik Johnston | 2016-01-27 | 4 | -9/+27 |
| | |\ \ \ \ \ \ | |||||
| | * | | | | | | | PEP 8 | Erik Johnston | 2016-01-27 | 1 | -1/+0 |
| | | | | | | | | | |||||
| | * | | | | | | | Add a Homeserver.setup method. | Erik Johnston | 2016-01-26 | 9 | -116/+121 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for setting up dependencies that require work on startup. This is useful for the DataStore that wants to read a bunch from the database before initiliazing. | ||||
| * | | | | | | | | Quot all the things | Daniel Wagner-Hall | 2016-01-28 | 1 | -2/+2 |
| | |_|_|/ / / / | |/| | | | | | | |||||
| * | | | | | | | Up get_rooms_for_user cache size | Erik Johnston | 2016-01-28 | 1 | -1/+1 |
| | | | | | | | | |||||
| * | | | | | | | Merge pull request #535 from matrix-org/rav/paginate_from_stream_token | Richard van der Hoff | 2016-01-28 | 2 | -24/+35 |
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Make it possible to paginate forwards from stream tokens |