Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'erikj/filters' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-01-25 | 4 | -35/+41 |
|\ | |||||
| * | Fix tests | Erik Johnston | 2016-01-22 | 1 | -1/+1 |
| | | |||||
| * | Sanitize filters | Erik Johnston | 2016-01-22 | 3 | -34/+40 |
| | | |||||
* | | Merge pull request #523 from matrix-org/dbkr/no_push_unless_notify | David Baker | 2016-01-22 | 1 | -9/+1 |
|\ \ | | | | | | | Better fix for actions with both dont_notify and tweaks | ||||
| * | | Better fix for actions with both dont_notify and tweaks | David Baker | 2016-01-22 | 1 | -1/+1 |
| | | | |||||
| * | | Revert b4a41aa542203c03bb8a6c93097b94bc5d167265 as it's just broken. | David Baker | 2016-01-22 | 1 | -9/+1 |
| | | | |||||
* | | | Merge pull request #522 from matrix-org/dbkr/no_push_unless_notify | David Baker | 2016-01-22 | 1 | -1/+9 |
|\| | | | | | | | | Don't add notifications to the table unless there's actually a 'notify' action | ||||
| * | | Don't add notifications to the table unless there's actually a 'notify' action | David Baker | 2016-01-22 | 1 | -1/+9 |
| | | | |||||
* | | | Don't mutate cached values | Erik Johnston | 2016-01-22 | 1 | -2/+6 |
|/ / | |||||
* | | Merge pull request #520 from matrix-org/dbkr/bulk_push_overlay_enabled | David Baker | 2016-01-22 | 2 | -0/+46 |
|\ \ | | | | | | | Overlay the push_rules_enabled map for users | ||||
| * | | Don't crash if a user has no push rule enabled entries | David Baker | 2016-01-22 | 1 | -0/+3 |
| | | | |||||
| * | | Overlay the push_rules_enabled map for users, otherwise they won't be able ↵ | David Baker | 2016-01-22 | 2 | -0/+43 |
|/ / | | | | | | | to disable server default rules. | ||||
* | | Merge pull request #519 from matrix-org/dbkr/treecache | David Baker | 2016-01-22 | 6 | -19/+229 |
|\ \ | |/ |/| | Make LRU caching tree-based so subtrees of the cache can be invalidated cheaply. | ||||
| * | Don't add the member functiopn if we're not using treecache | David Baker | 2016-01-22 | 1 | -1/+4 |
| | | |||||
| * | docs | David Baker | 2016-01-22 | 1 | -1/+5 |
| | | |||||
| * | Revert all the bits changing keys of eeverything that used LRUCaches to tuples | David Baker | 2016-01-22 | 5 | -44/+44 |
| | | |||||
| * | Make LRU cache not default to treecache & add options to use it | David Baker | 2016-01-22 | 4 | -12/+22 |
| | | |||||
| * | Add __contains__ | David Baker | 2016-01-22 | 1 | -0/+3 |
| | | |||||
| * | Docs for treecache | David Baker | 2016-01-22 | 1 | -0/+5 |
| | | |||||
| * | Use new invalidate_many cache invalidation to invalidate the ↵ | David Baker | 2016-01-22 | 1 | -4/+15 |
| | | | | | | | | event_push_actions cache appropriately. | ||||
| * | Add invalidate_many here too | David Baker | 2016-01-22 | 1 | -0/+1 |
| | | |||||
| * | Test treecache directly | David Baker | 2016-01-22 | 1 | -0/+19 |
| | | |||||
| * | Add tests for treecache directly and test del_multi at the LruCache level too. | David Baker | 2016-01-22 | 1 | -0/+66 |
| | | |||||
| * | peppate | David Baker | 2016-01-21 | 1 | -2/+2 |
| | | |||||
| * | Change LRUCache to be tree-based so we can delete subtrees. | David Baker | 2016-01-21 | 7 | -52/+140 |
|/ | |||||
* | Merge pull request #517 from matrix-org/erikj/push_only_room | Erik Johnston | 2016-01-21 | 3 | -7/+8 |
|\ | | | | | Only fetch events for rooms and receipts | ||||
| * | Only fetch events for rooms and receipts | Erik Johnston | 2016-01-21 | 3 | -7/+8 |
|/ | |||||
* | Merge pull request #516 from matrix-org/erikj/push_perf | Erik Johnston | 2016-01-21 | 2 | -5/+17 |
|\ | | | | | Reduce number of calls to get_unread_event_push_actions_by_room | ||||
| * | Cache get_unread_event_push_actions_by_room_for_user | Erik Johnston | 2016-01-21 | 1 | -1/+2 |
| | | |||||
| * | Only compute badge count when necessary. | Erik Johnston | 2016-01-21 | 1 | -4/+15 |
|/ | | | | This reverts commit d7265977376eb391007cde55c4b2d9b8f54d452b. | ||||
* | Fix AttributeError | Erik Johnston | 2016-01-21 | 1 | -1/+1 |
| | |||||
* | Merge pull request #515 from matrix-org/erikj/syn-606 | Erik Johnston | 2016-01-21 | 1 | -1/+3 |
|\ | | | | | SYN-606: Peeking does not wake up /events | ||||
| * | SYN-606: Peeking does not wake up /events | Erik Johnston | 2016-01-21 | 1 | -1/+3 |
| | | | | | | | | | | | | If a real user attempted to first peek into one room, and then another, their room event stream would not be woken up for events in the later room. | ||||
* | | Merge pull request #509 from matrix-org/erikj/dns_cache | Erik Johnston | 2016-01-21 | 2 | -30/+186 |
|\ \ | | | | | | | Cache dns lookups, and use the cache if we fail to lookup servers later | ||||
| * | | Cache dns lookups, and use the cache if we fail to lookup servers later | Erik Johnston | 2016-01-20 | 2 | -30/+186 |
| | | | |||||
* | | | Merge pull request #514 from matrix-org/remove_member_event_rule | David Baker | 2016-01-21 | 1 | -17/+19 |
|\ \ \ | |_|/ |/| | | Remove member event rule as per SYN-607 | ||||
| * | | Remove member event rule as per SYN-607 | David Baker | 2016-01-21 | 1 | -17/+19 |
|/ / | |||||
* | | Merge branch 'develop' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-01-21 | 6 | -69/+110 |
|\ \ | |||||
| * \ | Merge pull request #507 from matrix-org/push_badge_counts | David Baker | 2016-01-21 | 5 | -66/+108 |
| |\ \ | | | | | | | | | Push badge counts | ||||
| | * | | peppate | David Baker | 2016-01-20 | 1 | -3/+2 |
| | | | | |||||
| | * | | Add index by user id on receipts_linearized | David Baker | 2016-01-20 | 1 | -0/+18 |
| | | | | |||||
| | * | | Add storage function to get all receipts for a user. Also add some cache ↵ | David Baker | 2016-01-20 | 2 | -43/+40 |
| | | | | | | | | | | | | | | | | invalidation to the receipts storage because there wasn't any, and remove a method that was unused. | ||||
| | * | | Inline membership specifier | David Baker | 2016-01-20 | 1 | -3/+1 |
| | | | | |||||
| | * | | Simplify badge updating code by just updating it every time we get woken up ↵ | David Baker | 2016-01-20 | 1 | -15/+4 |
| | | | | | | | | | | | | | | | | and it's not an event | ||||
| | * | | Merge branch 'develop' into push_badge_counts | David Baker | 2016-01-20 | 1 | -1/+1 |
| | |\ \ | |||||
| | * \ \ | Merge remote-tracking branch 'origin/develop' into push_badge_counts | David Baker | 2016-01-20 | 1 | -0/+3 |
| | |\ \ \ | |||||
| | * \ \ \ | Merge branch 'develop' into push_badge_counts | David Baker | 2016-01-20 | 3 | -36/+36 |
| | |\ \ \ \ | | | | |_|/ | | | |/| | | |||||
| | * | | | | Merge branch 'develop' into push_badge_counts | David Baker | 2016-01-19 | 35 | -1247/+1044 |
| | |\ \ \ \ | |||||
| | * | | | | | Use the unread notification count to send accurate badge counts in push ↵ | David Baker | 2016-01-13 | 3 | -45/+86 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | notifications. | ||||
| * | | | | | | Merge pull request #513 from matrix-org/erikj/register_user_chars | Erik Johnston | 2016-01-21 | 1 | -3/+2 |
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | Don't explode when given a unicode username in /register/ | ||||
| | * | | | | | | Don't explode when given a unicode username in /register/ | Erik Johnston | 2016-01-20 | 1 | -3/+2 |
| | | | | | | | | |||||
* | | | | | | | | Add another graph contrib | Erik Johnston | 2016-01-21 | 1 | -0/+151 |
|/ / / / / / / | |||||
* | | | | | | | Fix change_password | Erik Johnston | 2016-01-20 | 1 | -3/+2 |
| | | | | | | | |||||
* | | | | | | | Merge pull request #512 from matrix-org/erikj/whine_on_from | Erik Johnston | 2016-01-20 | 1 | -0/+7 |
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | Whine if we give a from param to /sync | ||||
| * | | | | | | Whine if we give a from param to /sync | Erik Johnston | 2016-01-20 | 1 | -0/+7 |
|/ / / / / / | |||||
* | | | | | | Merge pull request #510 from matrix-org/daniel/nonguestpeeking | Daniel Wagner-Hall | 2016-01-20 | 8 | -85/+108 |
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | Allow non-guests to peek on rooms using /events | ||||
| * | | | | | Allow non-guests to peek on rooms using /events | Daniel Wagner-Hall | 2016-01-20 | 8 | -85/+108 |
|/ / / / / | |||||
* | | | | | Merge branch 'dbkr/no_push_for_own_events' into develop | David Baker | 2016-01-20 | 1 | -1/+1 |
|\ \ \ \ \ | |_|_|_|/ |/| | | | | |||||
| * | | | | 'filtered' is a list of zero or 1 | David Baker | 2016-01-20 | 1 | -1/+1 |
| | | | | | |||||
* | | | | | Merge pull request #511 from matrix-org/dbkr/no_push_for_own_events | David Baker | 2016-01-20 | 1 | -0/+3 |
|\| | | | | |_|_|/ |/| | | | Don't generate push actions for our own events | ||||
| * | | | Don't generate push actions for our own events | David Baker | 2016-01-20 | 1 | -0/+3 |
|/ / / | |||||
* | | | Merge pull request #506 from matrix-org/erikj/push_fast | Erik Johnston | 2016-01-19 | 2 | -30/+23 |
|\ \ \ | | | | | | | | | Only compute unread notifications for rooms we send down stream | ||||
| * | | | Only compute unread notifications for rooms we send down stream | Erik Johnston | 2016-01-19 | 2 | -30/+23 |
| | | | | |||||
* | | | | Don't use form of get_state_for_events with None state_key | Erik Johnston | 2016-01-19 | 1 | -6/+13 |
| |_|/ |/| | | |||||
* | | | Merge pull request #505 from matrix-org/erikj/push_fast | Erik Johnston | 2016-01-19 | 7 | -14/+49 |
|\| | | | | | | | | Push actions perf | ||||
| * | | Use split rather than endswith | Erik Johnston | 2016-01-19 | 1 | -2/+1 |
| | | | |||||
| * | | Change regex cache size to 5000 | Erik Johnston | 2016-01-19 | 1 | -1/+1 |
| | | | |||||
| * | | Add regex cache. Only caculate push actions for users that have sent read ↵ | Erik Johnston | 2016-01-19 | 7 | -14/+50 |
|/ / | | | | | | | receipts, and are on that server | ||||
* | | Handle glob -> regex errors | Erik Johnston | 2016-01-19 | 1 | -29/+33 |
| | | |||||
* | | Merge pull request #477 from matrix-org/erikj/access_token_log | Erik Johnston | 2016-01-19 | 1 | -3/+5 |
|\ \ | | | | | | | Don't log urlencoded access_tokens | ||||
| * | | Use compiled regex | Erik Johnston | 2016-01-13 | 1 | -2/+4 |
| | | | |||||
| * | | Don't log urlencoded access_tokens | Erik Johnston | 2016-01-08 | 1 | -2/+2 |
| | | | |||||
* | | | Use all_ephemeral_by_room in incremental_sync_with_gap_for_room | Erik Johnston | 2016-01-19 | 1 | -3/+5 |
| | | | |||||
* | | | Return don't break | Erik Johnston | 2016-01-19 | 1 | -1/+1 |
| | | | |||||
* | | | Except truthy values | Erik Johnston | 2016-01-19 | 1 | -1/+1 |
| | | | |||||
* | | | Merge pull request #504 from matrix-org/erikj/highlight_count | Erik Johnston | 2016-01-19 | 3 | -8/+40 |
|\ \ \ | | | | | | | | | Return highlight_count in /sync | ||||
| * | | | Return highlight_count in /sync | Erik Johnston | 2016-01-19 | 3 | -8/+40 |
| | | | | |||||
* | | | | Merge pull request #486 from matrix-org/default_notify | Erik Johnston | 2016-01-19 | 1 | -1/+0 |
|\ \ \ \ | |/ / / |/| | | | Change default pushrules back to notifying for all messages. | ||||
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into default_notify | Erik Johnston | 2016-01-19 | 29 | -1222/+945 |
| |\ \ \ | |/ / / |/| | | | |||||
* | | | | Merge pull request #502 from matrix-org/erikj/push_notif_perf | Erik Johnston | 2016-01-19 | 13 | -954/+550 |
|\ \ \ \ | | | | | | | | | | | Unread notification performance. | ||||
| * | | | | Take a deepcopy of push rules before mutating them | Erik Johnston | 2016-01-19 | 1 | -1/+3 |
| | | | | | |||||
| * | | | | Update _id | Erik Johnston | 2016-01-19 | 1 | -2/+3 |
| | | | | | |||||
| * | | | | Preserve truthiness | Erik Johnston | 2016-01-18 | 1 | -1/+2 |
| | | | | | |||||
| * | | | | You need to escape backslashes | Erik Johnston | 2016-01-18 | 1 | -2/+2 |
| | | | | | |||||
| * | | | | Fix branch didn't check word_boundary | Erik Johnston | 2016-01-18 | 1 | -3/+9 |
| | | | | | |||||
| * | | | | Remove dead code | Erik Johnston | 2016-01-18 | 1 | -22/+1 |
| | | | | | |||||
| * | | | | Don't split at word boundaries, actually use regex | Erik Johnston | 2016-01-18 | 2 | -63/+48 |
| | | | | | |||||
| * | | | | Drop log levels | Erik Johnston | 2016-01-18 | 1 | -2/+2 |
| | | | | | |||||
| * | | | | Add comments and remove dead code | Erik Johnston | 2016-01-18 | 1 | -12/+11 |
| | | | | | |||||
| * | | | | Do for loop once at start | Erik Johnston | 2016-01-18 | 1 | -8/+17 |
| | | | | | |||||
| * | | | | Use static for const dicts | Erik Johnston | 2016-01-18 | 4 | -198/+209 |
| | | | | | |||||
| * | | | | Remove internal ids | Erik Johnston | 2016-01-18 | 1 | -0/+4 |
| | | | | | |||||
| * | | | | Don't edit ruleset | Erik Johnston | 2016-01-18 | 1 | -5/+4 |
| | | | | | |||||
| * | | | | Make unit tests work | Erik Johnston | 2016-01-18 | 3 | -560/+1 |
| | | | | | |||||
| * | | | | Re-enable urnead notifications | Erik Johnston | 2016-01-18 | 3 | -13/+6 |
| | | | | | |||||
| * | | | | Make notifications go quicker | Erik Johnston | 2016-01-18 | 4 | -131/+260 |
| | | | | | |||||
| * | | | | Make Event objects behave more like dicts | Erik Johnston | 2016-01-18 | 1 | -0/+9 |
| | | | | | |||||
| * | | | | Allow filtering events for multiple users at once | Erik Johnston | 2016-01-18 | 2 | -39/+67 |
| | | | | | |||||
* | | | | | Merge pull request #503 from matrix-org/daniel/nonghosts | Daniel Wagner-Hall | 2016-01-19 | 1 | -31/+30 |
|\ \ \ \ \ | |/ / / / |/| | | | | Don't error on AS non-ghost user use | ||||
| * | | | | Don't error on AS non-ghost user use | Daniel Wagner-Hall | 2016-01-18 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This will probably go away either when we fix our existing ASes, or when we kill the concept of non-ghost users. | ||||
| * | | | | Pull out app service user lookup | Daniel Wagner-Hall | 2016-01-18 | 1 | -31/+28 |
|/ / / / | | | | | | | | | | | | | I find this a lot simpler than nested try-catches and stuff | ||||
* | | | | Merge pull request #501 from matrix-org/daniel/unban | Daniel Wagner-Hall | 2016-01-15 | 6 | -58/+116 |
|\ \ \ \ | | | | | | | | | | | Require unbanning before other membership changes | ||||
| * | | | | Require unbanning before other membership changes | Daniel Wagner-Hall | 2016-01-15 | 6 | -58/+116 |
|/ / / / | |||||
* | | | | Merge pull request #500 from matrix-org/daniel/cleanup | Daniel Wagner-Hall | 2016-01-15 | 2 | -16/+8 |
|\ \ \ \ | | | | | | | | | | | Remove unused parameters | ||||
| * | | | | Remove unused parameters | Daniel Wagner-Hall | 2016-01-15 | 2 | -16/+8 |
|/ / / / | |||||
* | | | | Merge branch 'invalid_user_name' into develop | David Baker | 2016-01-15 | 2 | -2/+2 |
|\ \ \ \ | |||||
| * | | | | M_INVALID_USERNAME to be consistent with the parameter name | David Baker | 2016-01-15 | 2 | -2/+2 |
| | | | | | |||||
* | | | | | Merge pull request #499 from matrix-org/invalid_user_name | David Baker | 2016-01-15 | 2 | -1/+3 |
|\| | | | | | | | | | | | | | | Add specific error code for invalid user names. | ||||
| * | | | | Add specific error code for invalid user names. | David Baker | 2016-01-14 | 2 | -1/+3 |
|/ / / / | |||||
* | | | | Merge pull request #497 from matrix-org/erikj/max_limit | Erik Johnston | 2016-01-14 | 1 | -2/+5 |
|\ \ \ \ | | | | | | | | | | | Clamp pagination limits to at most 1000 | ||||
| * | | | | Clamp pagination limits to at most 1000 | Erik Johnston | 2016-01-14 | 1 | -2/+5 |
| | | | | | |||||
* | | | | | Merge branch 'release-v0.12.1' into develop | Richard van der Hoff | 2016-01-14 | 2 | -12/+29 |
|\ \ \ \ \ | |||||
| * \ \ \ \ | Merge pull request #492 from matrix-org/rav/event_context_shiz_release github/release-v0.12.1 release-v0.12.1 | Richard van der Hoff | 2016-01-14 | 2 | -12/+29 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Add 'event' result to 'context' endpoint | ||||
| | * | | | | | Add 'event' result to 'context' endpoint | Richard van der Hoff | 2016-01-13 | 2 | -12/+29 |
| |/ / / / / | | | | | | | | | | | | | | | | | | | ... because the context isn't much use without the event. | ||||
* | | | | | | Merge pull request #496 from matrix-org/daniel/3 | Daniel Wagner-Hall | 2016-01-14 | 3 | -17/+111 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Require ID and as_token be unique for ASs Defaults ID to as_token if not specified. This will change when IDs are fully supported. | ||||
| * | | | | | | Require ID and as_token be unique for ASs | Daniel Wagner-Hall | 2016-01-14 | 3 | -17/+111 |
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported. | ||||
* | | | | | | Merge pull request #498 from matrix-org/push_rule_enabled_fix | David Baker | 2016-01-14 | 1 | -1/+1 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Fix enabling & disabling push rules | ||||
| * | | | | | | Fix enabling & disabling push rules | David Baker | 2016-01-14 | 1 | -1/+1 |
| | |/ / / / | |/| | | | | |||||
* | | | | | | Merge branch 'release-v0.12.1' into develop | Richard van der Hoff | 2016-01-14 | 1 | -0/+8 |
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | |||||
| * | | | | | Skip, rather than erroring, invalid guest requests | Daniel Wagner-Hall | 2016-01-13 | 5 | -21/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Erroring causes problems when people make illegal requests, because they don't know what limit parameter they should pass. This is definitely buggy. It leaks message counts for rooms people don't have permission to see, via tokens. But apparently we already consciously decided to allow that as a team, so this preserves that behaviour. | ||||
| * | | | | | Merge pull request #476 from koobs/patch-1 | Matthew Hodgson | 2016-01-08 | 1 | -0/+8 |
| |\ \ \ \ \ | | | | | | | | | | | | | | | Add FreeBSD install section & instructions | ||||
| | * | | | | | Add FreeBSD install section & instructions | Kubilay Kocak | 2016-01-09 | 1 | -0/+8 |
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Add FreeBSD installation instructions for both Ports and Packages now that matrix-synapse has landed [1] in the tree. [1] https://svnweb.freebsd.org/changeset/ports/405527 | ||||
* | | | | | | Merge pull request #487 from matrix-org/daniel/forceregistration | Daniel Wagner-Hall | 2016-01-14 | 1 | -0/+5 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Require AS users to be registered before use | ||||
| * | | | | | | Require AS users to be registered before use | Daniel Wagner-Hall | 2016-01-13 | 1 | -0/+5 |
| | |_|_|_|/ | |/| | | | | |||||
* | | | | | | Merge pull request #494 from matrix-org/daniel/2 | Daniel Wagner-Hall | 2016-01-14 | 1 | -0/+1 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Don't start server if ASes are invalidly configured | ||||
| * | | | | | | Don't start server if ASes are invalidly configured | Daniel Wagner-Hall | 2016-01-13 | 1 | -0/+1 |
| |/ / / / / | |||||
* | | | | | | Merge pull request #493 from matrix-org/daniel/1 | Daniel Wagner-Hall | 2016-01-14 | 1 | -59/+0 |
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | Delete unused code | ||||
| * | | | | | Delete unused code | Daniel Wagner-Hall | 2016-01-13 | 1 | -59/+0 |
| |/ / / / | |||||
* | | | | | Use logger not logging | Erik Johnston | 2016-01-14 | 1 | -2/+2 |
| | | | | | |||||
* | | | | | Merge pull request #495 from matrix-org/erikj/disable_notification | Erik Johnston | 2016-01-14 | 3 | -6/+13 |
|\ \ \ \ \ | | | | | | | | | | | | | Temporarily disable notification branch | ||||
| * | | | | | Don't change signature. Return empty list | Erik Johnston | 2016-01-13 | 1 | -2/+2 |
| | | | | | | |||||
| * | | | | | Temporarily disable notification branch | Erik Johnston | 2016-01-13 | 3 | -7/+14 |
|/ / / / / | |||||
* | | | | | Merge pull request #488 from matrix-org/markjh/user_name | Mark Haines | 2016-01-13 | 9 | -99/+99 |
|\ \ \ \ \ | |/ / / / |/| | | | | Rename 'user_name' to 'user_id' in push | ||||
| * | | | | Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵ | Mark Haines | 2016-01-13 | 9 | -99/+99 |
|/ / / / | | | | | | | | | | | | | of the code | ||||
| | * / | Change default pushrules back to notifying for all messages. | David Baker | 2016-01-13 | 1 | -1/+0 |
| |/ / |/| | | |||||
* | | | Merge pull request #482 from matrix-org/markjh/table_name | Mark Haines | 2016-01-13 | 7 | -128/+41 |
|\ \ \ | | | | | | | | | Finish removing the .*Table objects from the storage layer. | ||||
| * \ \ | Merge remote-tracking branch 'origin/erikj/bulk_get_push_rules' into ↵ | Mark Haines | 2016-01-13 | 3 | -26/+13 |
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | markjh/table_name Conflicts: synapse/storage/push_rule.py | ||||
| * | | | | Delete the table objects from TransactionStore | Mark Haines | 2016-01-13 | 3 | -60/+10 |
| | | | | | |||||
| * | | | | Remove the RoomsTable object | Mark Haines | 2016-01-13 | 1 | -13/+3 |
| | | | | | |||||
| * | | | | Remove the PushersTable and EventPushActionsTable objects | Mark Haines | 2016-01-12 | 2 | -14/+6 |
| | | | | | |||||
| * | | | | Remove the PushRuleTable and PushRuleEnableTable objects | Mark Haines | 2016-01-12 | 1 | -50/+33 |
| | | | | | |||||
* | | | | | Merge pull request #483 from matrix-org/erikj/bulk_get_push_rules | Erik Johnston | 2016-01-13 | 1 | -21/+13 |
|\ \ \ \ \ | | |/ / / | |/| | | | bulk_get_push_rules should handle empty lists | ||||
| * | | | | bulk_get_push_rules should handle empty lists | Erik Johnston | 2016-01-13 | 1 | -21/+13 |
|/ / / / | |||||
* | | | | Merge pull request #480 from matrix-org/erikj/guest_event_tightloop | Erik Johnston | 2016-01-13 | 1 | -7/+0 |
|\ \ \ \ | | | | | | | | | | | Dont fire user_joined_room when guest hits /events | ||||
| * | | | | Dont fire user_joined_room when guest hits /events | Erik Johnston | 2016-01-12 | 1 | -7/+0 |
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firing the 'user_joined_room' signal everytime a guest hits /events causes all presence for that room to be returned in the stream. This may sound helpful, but causes clients to tightloop calling /events. In general, guest users should get the initial presence from (room) intial sync and so we don't require presence to sbsequently come down the event stream. | ||||
* | | | | Merge pull request #481 from matrix-org/erikj/SYN-589 | Erik Johnston | 2016-01-12 | 1 | -1/+5 |
|\ \ \ \ | |/ / / |/| | | | Don't include old left rooms in /sync | ||||
| * | | | Don't include old left rooms | Erik Johnston | 2016-01-12 | 1 | -1/+5 |
|/ / / | |||||
* | | | Merge pull request #478 from matrix-org/daniel/userobject | Daniel Wagner-Hall | 2016-01-11 | 24 | -144/+178 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a User object I'm sick of passing around more and more things as tuple items around the whole world, and needing to edit every call site every time there is more information about a user. So pass them around together as an object. This object has incredibly poorly named fields because we have a convention that `user` indicates a UserID object, and `user_id` indicates a string. I tried to clean up the whole repo to fix this, but gave up. So instead, I introduce a second convention. A user_object is a User, and a user_id_object is a UserId. I may have cried a little bit. | ||||
| * | | | Introduce a Requester object | Daniel Wagner-Hall | 2016-01-11 | 24 | -144/+178 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up. | ||||
* | | | | Postgres doesn't like booleans | David Baker | 2016-01-11 | 1 | -2/+2 |
| | | | | |||||
* | | | | Remove rogue 'admin' | David Baker | 2016-01-11 | 1 | -1/+1 |
| | | | | |||||
* | | | | Merge pull request #474 from matrix-org/erikj/core_dump | Erik Johnston | 2016-01-08 | 1 | -2/+5 |
|\ \ \ \ | | |_|/ | |/| | | Turn on core dumps | ||||
| * | | | Turn on core dumps | Erik Johnston | 2016-01-07 | 1 | -2/+5 |
| |/ / | |||||
* | | | Merge pull request #456 from matrix-org/store_event_actions | David Baker | 2016-01-08 | 19 | -36/+541 |
|\ \ \ | | | | | | | | | Send unread notification counts | ||||
| * | | | This comma is actually important | David Baker | 2016-01-07 | 1 | -1/+1 |
| | | | | |||||
| * | | | more commas | David Baker | 2016-01-07 | 1 | -1/+1 |
| | | | | |||||
| * | | | comma style | David Baker | 2016-01-06 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-06 | 6 | -142/+60 |
| |\ \ \ | |||||
| * | | | | Adding is_guest here won't work because it just constructs a dict of uid -> ↵ | David Baker | 2016-01-06 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | password hash | ||||
| * | | | | fix tests | David Baker | 2016-01-06 | 3 | -1/+10 |
| | | | | | |||||
| * | | | | Delete notifications for redacted events | David Baker | 2016-01-06 | 2 | -0/+19 |
| | | | | | |||||
| * | | | | Add schema change file for is_guest flag | David Baker | 2016-01-06 | 1 | -0/+22 |
| | | | | | |||||
| * | | | | Add is_guest flag to users db to track whether a user is a guest user or ↵ | David Baker | 2016-01-06 | 9 | -31/+69 |
| | | | | | | | | | | | | | | | | | | | | not. Use this so we can run _filter_events_for_client when calculating event_push_actions. | ||||
| * | | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-05 | 17 | -74/+139 |
| |\ \ \ \ | |||||
| * | | | | | comment typo | David Baker | 2016-01-05 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | = not == in sql | David Baker | 2016-01-04 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Only joined rooms have unread_notif_count | David Baker | 2016-01-04 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | comma | David Baker | 2016-01-04 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | Add unread_notif_count in incremental_sync_with_gap | David Baker | 2016-01-04 | 1 | -0/+8 |
| | | | | | | |||||
| * | | | | | fix tests | David Baker | 2016-01-04 | 2 | -2/+2 |
| | | | | | | |||||
| * | | | | | Rename event-actions to event_push_actions as per PR request | David Baker | 2016-01-04 | 6 | -17/+17 |
| | | | | | | |||||
| * | | | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-04 | 7 | -4/+208 |
| |\ \ \ \ \ | |||||
| * | | | | | | Address minor PR issues | David Baker | 2016-01-04 | 7 | -25/+12 |
| | | | | | | | |||||
| * | | | | | | Fix merge fail with anon access stuff | David Baker | 2015-12-22 | 1 | -2/+2 |
| | | | | | | | |||||
| * | | | | | | Add mocks to make tests work again | David Baker | 2015-12-22 | 2 | -0/+16 |
| | | | | | | | |||||
| * | | | | | | pep8 & unused variable | David Baker | 2015-12-22 | 3 | -4/+3 |
| | | | | | | | |||||
| * | | | | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2015-12-22 | 6 | -91/+210 |
| |\ \ \ \ \ \ | |||||
| * | | | | | | | Add some comments to areas that could be optimised. | David Baker | 2015-12-22 | 3 | -1/+14 |
| | | | | | | | | |||||
| * | | | | | | | Remove the list of problems (moved to jira issues) | David Baker | 2015-12-22 | 1 | -5/+0 |
| | | | | | | | | |||||
| * | | | | | | | Insert push actions in a single db query rather than one per user/profile_tag | David Baker | 2015-12-22 | 2 | -17/+24 |
| | | | | | | | | |||||
| * | | | | | | | clarify problems | David Baker | 2015-12-22 | 1 | -1/+1 |
| | | | | | | | | |||||
| * | | | | | | | Add bulk push rule evaluator which actually still evaluates rules one by ↵ | David Baker | 2015-12-22 | 4 | -22/+159 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | one, but does far fewer db queries to fetch the rules | ||||
| * | | | | | | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2015-12-21 | 20 | -80/+320 |
| |\ \ \ \ \ \ \ | |||||
| * | | | | | | | | Only run pushers for users on this hs! | David Baker | 2015-12-21 | 3 | -3/+9 |
| | | | | | | | | | |||||
| * | | | | | | | | pep8 | David Baker | 2015-12-21 | 2 | -9/+9 |
| | | | | | | | | | |||||
| * | | | | | | | | add list of things I want to fix with this branch | David Baker | 2015-12-18 | 1 | -0/+5 |
| | | | | | | | | | |||||
| * | | | | | | | | Make unread notification count sending work: put the correct count in ↵ | David Baker | 2015-12-18 | 2 | -20/+49 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | incremental syncs too, where necessary, and fix silly bugs like only select the event actions for that user... | ||||
| * | | | | | | | | still very WIP, but now sends unread_notifications_count in the room object ↵ | David Baker | 2015-12-16 | 5 | -5/+82 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs). | ||||
| * | | | | | | | | Store nothing instead of ['dont_notify'] for events with no notification ↵ | David Baker | 2015-12-10 | 3 | -21/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | required: much as it would be nice to be able to tell between the event not having been processed and there being no notification for it, this isn't worth filling up the table with ['dont_notify'] I think. Consequently treat the empty actions array as dont_notify and filter dont_notify out of the result. | ||||
| * | | | | | | | | Save event actions to the db | David Baker | 2015-12-10 | 4 | -2/+72 |
| | | | | | | | | | |||||
| * | | | | | | | | Having consulted The Erikle, this should go at the end of on_receive_pdu, ↵ | David Baker | 2015-12-10 | 1 | -11/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise it will be triggered whenever we backfill too. | ||||
| * | | | | | | | | Very first cut of calculating actions for events as they come in. Doesn't ↵ | David Baker | 2015-12-10 | 4 | -1/+81 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | store them yet. Not very efficient. | ||||
* | | | | | | | | | Merge pull request #475 from matrix-org/markjh/fix_thumbnail | Mark Haines | 2016-01-07 | 1 | -1/+1 |
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | | | Only use cropped thumbnails when asked for a cropped thumbnail. | ||||
| * | | | | | | | | Only use cropped thumbnails when asked for a cropped thumbnail. | Mark Haines | 2016-01-07 | 1 | -1/+1 |
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Even though ones cropped with scale might be technically valid. | ||||
* | | | | | | | | Use logger not logging | Erik Johnston | 2016-01-07 | 1 | -2/+2 |
| | | | | | | | | |||||
* | | | | | | | | Merge pull request #473 from matrix-org/erikj/ssh_manhole | Erik Johnston | 2016-01-07 | 2 | -6/+22 |
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Change manhole to use ssh | ||||
| * | | | | | | | | s/telnet/ssh/ | Erik Johnston | 2016-01-07 | 1 | -1/+1 |
| | | | | | | | | | |||||
| * | | | | | | | | Change manhole to use ssh | Erik Johnston | 2016-01-07 | 1 | -5/+21 |
| | |_|_|_|/ / / | |/| | | | | | | |||||
* | | | | | | | | Merge pull request #465 from matrix-org/syn-453 | Erik Johnston | 2016-01-07 | 1 | -2/+1 |
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Update readme to reflect change in signing key name | ||||
| * | | | | | | | | Update readme to reflect change in signing key name | Erik Johnston | 2016-01-06 | 1 | -2/+1 |
| |/ / / / / / / | |||||
* | | | | | | | | copyrights | Matthew Hodgson | 2016-01-07 | 295 | -297/+297 |
| | | | | | | | | |||||
* | | | | | | | | Merge pull request #472 from roblabla/patch-1 | Matthew Hodgson | 2016-01-06 | 1 | -2/+2 |
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | Config Comment mixup in captcha public/private key | ||||
| * | | | | | | | | Config Comment mixup in captcha public/private key | Robin Lambertz | 2016-01-06 | 1 | -2/+2 |
| | |_|_|_|_|_|/ | |/| | | | | | | |||||
* | | | | | | | | Merge pull request #468 from matrix-org/daniel/versionsyo | Daniel Wagner-Hall | 2016-01-06 | 3 | -0/+43 |
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | Add /_matrix/versions to report supported versions | ||||
| * | | | | | | | Add /_matrix/versions to report supported versions | Daniel Wagner-Hall | 2016-01-06 | 3 | -0/+43 |
|/ / / / / / / | |||||
* | | | | | | | Merge pull request #469 from matrix-org/markjh/joined_guest_access | Mark Haines | 2016-01-06 | 4 | -139/+50 |
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | Guest users must be joined to a room to see it in /sync | ||||
| * | | | | | | | Pass whether the user was a guest to some of the event streams | Mark Haines | 2016-01-06 | 1 | -5/+3 |
| | | | | | | | | |||||
| * | | | | | | | Guest users must be joined to a room to see it in /sync | Mark Haines | 2016-01-06 | 4 | -137/+50 |
|/ / / / / / / | |||||
* | | | | | | | Log when starting stats reporting | Daniel Wagner-Hall | 2016-01-06 | 1 | -0/+1 |
| | | | | | | | |||||
* | | | | | | | Log on stats scheduling | Daniel Wagner-Hall | 2016-01-06 | 1 | -0/+1 |
| | | | | | | | |||||
* | | | | | | | Merge pull request #466 from matrix-org/daniel/logloglog | Daniel Wagner-Hall | 2016-01-06 | 1 | -1/+10 |
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | Log when we skip daily messages | ||||
| * | | | | | | Log when we skip daily messages | Daniel Wagner-Hall | 2016-01-06 | 1 | -1/+10 |
|/ / / / / / | |||||
* | | | | | | Merge pull request #463 from matrix-org/daniel/hashtagnofilter | Daniel Wagner-Hall | 2016-01-05 | 5 | -21/+5 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip, rather than erroring, invalid guest requests Erroring causes problems when people make illegal requests, because they don't know what limit parameter they should pass. This is definitely buggy. It leaks message counts for rooms people don't have permission to see, via tokens. But apparently we already consciously decided to allow that as a team, so this preserves that behaviour. | ||||
| * | | | | | | Skip, rather than erroring, invalid guest requests | Daniel Wagner-Hall | 2016-01-05 | 5 | -21/+5 |
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Erroring causes problems when people make illegal requests, because they don't know what limit parameter they should pass. This is definitely buggy. It leaks message counts for rooms people don't have permission to see, via tokens. But apparently we already consciously decided to allow that as a team, so this preserves that behaviour. | ||||
* | | | | | | Merge pull request #462 from matrix-org/daniel/guestupgrade | Daniel Wagner-Hall | 2016-01-05 | 11 | -40/+93 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Allow guests to upgrade their accounts | ||||
| * | | | | | | Allow guests to upgrade their accounts | Daniel Wagner-Hall | 2016-01-05 | 11 | -40/+93 |
|/ / / / / / | |||||
* | | | | | | Merge pull request #464 from matrix-org/erikj/crop_correct | Erik Johnston | 2016-01-05 | 1 | -4/+13 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Use larger thumbnails rather than smaller when method=crop | ||||
| * | | | | | | Use larger thumbnail rather than smaller. | Erik Johnston | 2016-01-05 | 1 | -4/+13 |
|/ / / / / / | |||||
* | | | | | | Merge pull request #461 from matrix-org/erikj/sync_leave | Erik Johnston | 2016-01-05 | 1 | -1/+1 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Return /sync when something under the 'leave' key has changed | ||||
| * | | | | | | Return /sync when something under the 'leave' key has changed | Erik Johnston | 2016-01-05 | 1 | -1/+1 |
|/ / / / / / | |||||
* | | | | | | Merge pull request #460 from matrix-org/erikj/create_room_3pid_invite | Erik Johnston | 2016-01-05 | 1 | -0/+16 |
|\ \ \ \ \ \ | | | | | | | | | | | | | | | Support inviting 3pids in /createRoom | ||||
| * | | | | | | Use named args | Erik Johnston | 2016-01-05 | 1 | -2/+2 |
| | | | | | | | |||||
| * | | | | | | Support inviting 3pids in /createRoom | Erik Johnston | 2016-01-05 | 1 | -0/+16 |
|/ / / / / / | |||||
* | | | | | | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2016-01-05 | 1 | -4/+2 |
|\| | | | | | |||||
| * | | | | | typoe | Matthew Hodgson | 2016-01-04 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | fix another whitespace rst bug | Matthew Hodgson | 2016-01-04 | 1 | -1/+1 |
| | | | | | | |||||
| * | | | | | fix whitespace bug | Matthew Hodgson | 2016-01-04 | 1 | -2/+0 |
|/ / / / / | |||||
* | | | | | Merge remote-tracking branch 'origin/release-v0.12.0' v0.12.0 | Mark Haines | 2016-01-04 | 86 | -873/+2602 |
|\ \ \ \ \ | |||||
| * | | | | | Bump changelog and version for v0.12.0 | Mark Haines | 2016-01-04 | 2 | -4/+5 |
| | |_|_|/ | |/| | | | |||||
| * | | | | Update CHANGES github/release-v0.12.0 release-v0.12.0 | Richard van der Hoff | 2016-01-04 | 1 | -0/+4 |
| | | | | | |||||
| * | | | | Merge pull request #459 from matrix-org/rav/fix_r0_login | Richard van der Hoff | 2016-01-04 | 1 | -1/+1 |
| |\ \ \ \ | | | | | | | | | | | | | Expose /login under r0 | ||||
| | * | | | | Expose /login under r0 | Richard van der Hoff | 2016-01-02 | 1 | -1/+1 |
| |/ / / / | | | | | | | | | | | | | | | | The spec says /login should be available at r0 and 'unstable', so make it so. | ||||
| * | | | | Bump version and update changelog for v0.12.0-rc3 v0.12.0-rc3 | Mark Haines | 2015-12-23 | 2 | -1/+25 |
| | | | | | |||||
| * | | | | Merge pull request #457 from matrix-org/markjh/cached_sync | Mark Haines | 2015-12-23 | 3 | -1/+177 |
| |\ \ \ \ | | | | | | | | | | | | | Add a cache for initialSync responses that expires after 5 minutes | ||||
| | * | | | | Add some docstring explaining the snapshot cache does | Mark Haines | 2015-12-23 | 1 | -1/+23 |
| | | | | | | |||||
| | * | | | | Add a unit test for the snapshot cache | Mark Haines | 2015-12-23 | 2 | -2/+62 |
| | | | | | | |||||
| | * | | | | Move the doc string to the public facing method | Mark Haines | 2015-12-22 | 1 | -16/+17 |
| | | | | | | |||||
| | * | | | | Add a cache for initialSync responses that expires after 5 minutes | Mark Haines | 2015-12-22 | 2 | -1/+94 |
| | | |_|/ | | |/| | | |||||
| * | | | | Merge pull request #458 from matrix-org/markjh/guest_auth | Mark Haines | 2015-12-23 | 1 | -1/+1 |
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | Missing yield on guest access auth check Needs matrix-org/sytest#125 to land first | ||||
| | * | | | Missing yield on guest access auth check | Mark Haines | 2015-12-23 | 1 | -1/+1 |
| |/ / / | | | | | | | | | | | | | Needs matrix-org/sytest#125 to land first | ||||
| * | | | Merge pull request #455 from matrix-org/markjh/guest_access | Mark Haines | 2015-12-22 | 4 | -50/+144 |
| |\ \ \ | | | | | | | | | | | Allow guest access to /sync | ||||
| | * | | | Include the list of bad room ids in the error | Mark Haines | 2015-12-22 | 2 | -2/+24 |
| | | | | | |||||
| | * | | | Use a list comprehension | Mark Haines | 2015-12-22 | 1 | -3/+4 |
| | | | | | |||||
| | * | | | Merge remote-tracking branch 'origin/develop' into markjh/guest_access | Mark Haines | 2015-12-22 | 1 | -0/+5 |
| | |\ \ \ | | |/ / / | |/| | | | | | | | | | | | | | Conflicts: synapse/api/filtering.py | ||||
| * | | | | Merge pull request #454 from matrix-org/markjh/room_filtering | Mark Haines | 2015-12-22 | 2 | -34/+35 |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Add top level filters for filtering by room id Documented by matrix-org/matrix-doc#246 | ||||
| | * | | | | Add top level filters for filtering by room id | Mark Haines | 2015-12-22 | 2 | -34/+35 |
| |/ / / / | | | | | | | | | | | | | | | | Documented by matrix-org/matrix-doc#246 | ||||
| | * | | | Hook up read receipts and typing notifications for guest access | Mark Haines | 2015-12-22 | 1 | -13/+11 |
| | | | | | |||||
| | * | | | Merge branch 'develop' into markjh/guest_access | Mark Haines | 2015-12-22 | 1 | -2/+21 |
| | |\ \ \ | | |/ / / | |/| | | | |||||
| * | | | | Merge pull request #453 from matrix-org/daniel/avatarurls | Daniel Wagner-Hall | 2015-12-21 | 1 | -2/+21 |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return room avatar URLs in /publicRooms Spec: https://github.com/matrix-org/matrix-doc/pull/244 Tests: https://github.com/matrix-org/sytest/pull/121 | ||||
| | * | | | | Return room avatar URLs in /publicRooms | Daniel Wagner-Hall | 2015-12-21 | 1 | -2/+21 |
| |/ / / / | | | | | | | | | | | | | | | | | | | | | Spec: https://github.com/matrix-org/matrix-doc/pull/244 Tests: https://github.com/matrix-org/sytest/pull/121 |