summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #3633 from matrix-org/neilj/mau_trackerNeil Johnson2018-08-0818-163/+414
|\ | | | | API for monthly_active_users table
| * typosNeil Johnson2018-08-082-3/+3
| |
| * Fix postgres compatibility bugNeil Johnson2018-08-061-4/+15
| |
| * update comments to reflect new sigNeil Johnson2018-08-061-4/+1
| |
| * make use of _simple_select_one_onecol, improved commentsNeil Johnson2018-08-062-8/+15
| |
| * py3 fixNeil Johnson2018-08-031-1/+1
| |
| * remove unused importNeil Johnson2018-08-031-1/+1
| |
| * bug fixesNeil Johnson2018-08-035-27/+10
| |
| * wip commit - tests failingNeil Johnson2018-08-035-53/+66
| |
| * fix (lots of) py3 test failuresNeil Johnson2018-08-033-3/+3
| |
| * fix py3 test failureNeil Johnson2018-08-031-0/+1
| |
| * Add ability to limit number of monthly active users on the serverNeil Johnson2018-08-031-0/+1
| |
| * fix caching and testsNeil Johnson2018-08-033-62/+80
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-0325-379/+450
| |\
| * | update generate_monthly_active_users, and reap_monthly_active_usersNeil Johnson2018-08-021-2/+2
| | |
| * | typoNeil Johnson2018-08-021-1/+1
| | |
| * | wip attempt at cachingNeil Johnson2018-08-021-9/+47
| | |
| * | do mau checks based on monthly_active_users tableNeil Johnson2018-08-027-61/+97
| | |
| * | remove unused count_monthly_usersNeil Johnson2018-08-022-90/+0
| | |
| * | fix test, update constructor callNeil Johnson2018-08-021-1/+1
| | |
| * | insertion into monthly_active_usersNeil Johnson2018-08-025-11/+99
| | |
| * | Merge branch 'neilj/mau_tracker' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-022-1/+3
| |\ \ | | | | | | | | | | | | neilj/mau_tracker
| | * | self.db_conn unusedNeil Johnson2018-08-011-1/+0
| | | |
| | * | normalise reaping queryNeil Johnson2018-08-011-3/+38
| | | |
| * | | Revert "change monthly_active_users table to be a single column"Neil Johnson2018-08-023-7/+13
| |/ / | | | | | | | | | This reverts commit ec716a35b219d147dee51733b55573952799a549.
| * | change monthly_active_users table to be a single columnNeil Johnson2018-08-013-13/+7
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into neilj/mau_trackerNeil Johnson2018-08-0148-279/+625
| |\ \
| * | | clean upNeil Johnson2018-08-011-15/+3
| | | |
| * | | fix commentNeil Johnson2018-08-011-1/+1
| | | |
| * | | api into monthly_active_users tableNeil Johnson2018-07-316-2/+160
| | | |
* | | | Merge pull request #3658 from ↵Richard van der Hoff2018-08-072-3/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | matrix-org/rav/fix_event_persisted_position_metrics Fix occasional glitches in the synapse_event_persisted_position metric
| * | | | changelogRichard van der Hoff2018-08-071-0/+1
| | | | |
| * | | | Fix occasional glitches in the synapse_event_persisted_position metricRichard van der Hoff2018-08-071-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Every so often this metric glitched to a negative number. I'm assuming it was due to backfilled events.
* | | | | fix event lag graphRichard van der Hoff2018-08-071-8/+16
|/ / / /
* | | | Return M_NOT_FOUND when a profile could not be found. (#3596)Will Hunt2018-08-032-31/+59
| | | |
* | | | Merge pull request #3644 from ↵Michael Kaye2018-08-039-112/+139
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | matrix-org/michaelkaye/refactor_docker_locations_v2 Refactor Dockerfile location
| * | | Update README.mdMichael Kaye2018-08-031-1/+1
| | | | | | | | | | | | Link to contrib/docker
| * | | Update README.mdMichael Kaye2018-08-031-1/+1
| | | | | | | | | | | | Link to docker/README.md
| * | | Update README.rstMichael Kaye2018-08-031-1/+1
| | | | | | | | | | | | Link to contrib/docker
| * | | Update README.rstMichael Kaye2018-08-031-3/+10
| | | | | | | | | | | | wrap at 80ish
| * | | Add news entryMichael Kaye2018-08-021-0/+1
| | | |
| * | | Address SPAG issuesMichael Kaye2018-08-021-2/+4
| | | |
| * | | Do not include docker files in python buildMichael Kaye2018-08-021-0/+1
| | | |
| * | | Refactor docker locations and README.Michael Kaye2018-08-027-110/+126
| | | | | | | | | | | | | | | | This addresses #3224
* | | | Merge pull request #3645 from matrix-org/michaelkaye/mention_newsfragmentAmber Brown2018-08-032-1/+2
|\ \ \ \ | |/ / / |/| | | Mention the word "newsfragment" in CONTRIBUTING.rst
| * | | newsfragmentMichael Kaye2018-08-021-0/+1
| | | |
| * | | Mention the word "newsfragment" in CONTRIBUTING.rstMichael Kaye2018-08-021-1/+1
|/ / /
* | | Merge pull request #3639 from matrix-org/rav/refactor_error_handlingRichard van der Hoff2018-08-029-142/+124
|\ \ \ | | | | | | | | Clean up handling of errors from outbound requests
| * | | changelogRichard van der Hoff2018-08-011-0/+1
| | | |
| * | | Kill off MatrixCodeMessageExceptionRichard van der Hoff2018-08-015-78/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code brings the SimpleHttpClient into line with the MatrixFederationHttpClient by having it raise HttpResponseExceptions when a request fails (rather than trying to parse for matrix errors and maybe raising MatrixCodeMessageException). Then, whenever we were checking for MatrixCodeMessageException and turning them into SynapseErrors, we now need to check for HttpResponseExceptions and call to_synapse_error.
| * | | Refactor code for turning HttpResponseException into SynapseErrorRichard van der Hoff2018-08-013-34/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces SynapseError.from_http_response_exception with HttpResponseException.to_synapse_error. The new method actually returns a ProxiedRequestError, which allows us to pass through additional metadata from the API call.
| * | | Be more careful which errors we send back over the C-S APIRichard van der Hoff2018-08-013-32/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We really shouldn't be sending all CodeMessageExceptions back over the C-S API; it will include things like 401s which we shouldn't proxy. That means that we need to explicitly turn a few HttpResponseExceptions into SynapseErrors in the federation layer. The effect of the latter is that the matrix errcode will get passed through correctly to calling clients, which might help with some of the random M_UNKNOWN errors when trying to join rooms.
* | | | Merge pull request #3638 from ↵Richard van der Hoff2018-08-022-129/+149
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | matrix-org/rav/refactor_federation_client_exception_handling Factor out exception handling in federation_client
| * | | | changelogRichard van der Hoff2018-08-011-0/+1
| |/ / /
| * | | Factor out exception handling in federation_clientRichard van der Hoff2018-08-011-129/+148
| | | | | | | | | | | | | | | | | | | | Factor out the error handling from make_membership_event, send_join, and send_leave, so that it can be shared.
* | | | Merge branch 'master' into developRichard van der Hoff2018-08-0211-21/+77
|\ \ \ \
| * \ \ \ Merge tag 'v0.33.1'Richard van der Hoff2018-08-029-19/+73
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synapse 0.33.1 (2018-08-02) =========================== SECURITY FIXES -------------- - Fix a potential issue where servers could request events for rooms they have not joined. (`#3641 <https://github.com/matrix-org/synapse/issues/3641>`_) - Fix a potential issue where users could see events in private rooms before they joined. (`#3642 <https://github.com/matrix-org/synapse/issues/3642>`_)
| | * | | | changelog: this is a security release v0.33.1 github/release-v0.33.1 release-v0.33.1Richard van der Hoff2018-08-021-2/+2
| | | | | |
| | * | | | fix changelog typosRichard van der Hoff2018-08-021-1/+1
| | | | | |
| | * | | | Prepare 0.33.1Richard van der Hoff2018-08-024-3/+11
| | | | | |
| | * | | | Merge pull request #3642 from matrix-org/rav/another_room_id_checkRichard van der Hoff2018-08-025-7/+25
| | |\ \ \ \ | | | | | | | | | | | | | | Check room visibility for /event/ requests
| | | * | | | changelogsRichard van der Hoff2018-08-022-1/+2
| | | | | | |
| | | * | | | Check room visibility for /event/ requestsRichard van der Hoff2018-08-023-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that the user has permission to view the requeseted event for /event/{eventId} and /room/{roomId}/event/{eventId} requests. Also check that the event is in the given room for /room/{roomId}/event/{eventId}, for sanity.
| | * | | | | Merge pull request #3641 from matrix-org/rav/room_id_checkRichard van der Hoff2018-08-025-12/+40
| | |\| | | | | | | | | | | | | | | | | | Validation for events/rooms in fed requests
| | | * | | | changelogRichard van der Hoff2018-08-021-0/+1
| | | | | | |
| | | * | | | Avoid extra db lookupsRichard van der Hoff2018-08-023-62/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're about to look up the events themselves anyway, we can skip the extra db queries here.
| | | * | | | Validation for events/rooms in fed requestsRichard van der Hoff2018-08-023-1/+64
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we get a federation request which refers to an event id, make sure that said event is in the room the caller claims it is in. (patch supplied by @turt2live)
| * | | | | Merge pull request #3594 from matrix-org/richvdh-patch-1Richard van der Hoff2018-07-241-2/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | Update ISSUE_TEMPLATE.md
| | * | | | | Update ISSUE_TEMPLATE.mdRichard van der Hoff2018-07-241-2/+3
| |/ / / / / | | | | | | | | | | | | request backticks for logs
| * | | | | Merge pull request #3377 from Valodim/note-affinityRichard van der Hoff2018-07-191-0/+2
| |\ \ \ \ \ | | |/ / / / | |/| | | | document that the affinity package is required for the cpu_affinity setting
| | * | | | add note that the affinity package is required for the cpu_affinity settingVincent Breitmoser2018-06-091-0/+2
| | | | | |
* | | | | | Merge pull request #3621 from matrix-org/erikj/split_fed_storeErik Johnston2018-08-023-89/+101
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Split out DB writes in federation handler
| * | | | | update docsErik Johnston2018-08-012-4/+6
| | | | | |
| * | | | | _persist_auth_tree no longer returns anythingErik Johnston2018-08-011-1/+1
| | | | | |
| * | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-3037-108/+787
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | erikj/split_fed_store
| * | | | | | NewsfileErik Johnston2018-07-271-0/+1
| | | | | | |
| * | | | | | Split out DB writes in federation handlerErik Johnston2018-07-252-85/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to easily add an internal replication API to proxy these reqeusts to master, so that we can move federation APIs to workers.
* | | | | | | Merge pull request #3630 from matrix-org/neilj/mau_sign_in_log_in_limitsNeil Johnson2018-08-0111-16/+275
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Initial impl of capping MAU
| * | | | | | | count_monthly_users is now asyncNeil Johnson2018-08-011-1/+2
| | | | | | | |
| * | | | | | | improve clarityNeil Johnson2018-08-012-5/+6
| | | | | | | |
| * | | | | | | fix isortNeil Johnson2018-08-011-1/+0
| | | | | | | |
| * | | | | | | fix test for py3Neil Johnson2018-08-011-0/+4
| | | | | | | |
| * | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Neil Johnson2018-08-0127-198/+5193
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | neilj/mau_sign_in_log_in_limits
| * | | | | | | | fix known broken testNeil Johnson2018-08-011-25/+20
| | | | | | | | |
| * | | | | | | | count_monthly_users() asyncNeil Johnson2018-08-011-4/+7
| | | | | | | | |
| * | | | | | | | remove need to plot limit_usage_by_mauNeil Johnson2018-08-012-7/+6
| | | | | | | | |
| * | | | | | | | remove errant printNeil Johnson2018-08-011-1/+0
| | | | | | | | |
| * | | | | | | | make count_monthly_users async synapse/handlers/auth.pyNeil Johnson2018-08-014-38/+46
| | | | | | | | |
| * | | | | | | | only need to loop if mau limiting is enabledNeil Johnson2018-08-011-1/+2
| | | | | | | | |
| * | | | | | | | mau limtsNeil Johnson2018-07-311-0/+1
| | | | | | | | |
| * | | | | | | | coding styleNeil Johnson2018-07-317-9/+12
| | | | | | | | |
| * | | | | | | | fix user_ips countingNeil Johnson2018-07-311-9/+33
| | | | | | | | |
| * | | | | | | | remove errant loggingNeil Johnson2018-07-301-1/+0
| | | | | | | | |
| * | | | | | | | actually close connNeil Johnson2018-07-301-4/+8
| | | | | | | | |
| * | | | | | | | monthly_active_testsNeil Johnson2018-07-301-0/+48
| | | | | | | | |
| * | | | | | | | factor out metrics from __init__ to app/homeserverNeil Johnson2018-07-302-25/+32
| | | | | | | | |
| * | | | | | | | limit register and sign in on number of monthly usersNeil Johnson2018-07-307-3/+166
| | |_|/ / / / / | |/| | | | | |
* | | | | | | | Merge pull request #3620 from fuzzmz/return-404-room-not-foundRichard van der Hoff2018-08-013-3/+7
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | return 404 if room not found
| * | | | | | | Update 2952.bugfixRichard van der Hoff2018-08-011-1/+1
| | | | | | | |
| * | | | | | | return NotFoundError if room not foundSerban Constantin2018-07-313-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per the Client-Server API[0] we should return `M_NOT_FOUND` if the room isn't found instead of generic SynapseError. This ensures that /directory/list API returns 404 for room not found instead of 400. [0]: https://matrix.org/docs/spec/client_server/unstable.html#get-matrix-client-r0-directory-list-room-roomid Signed-off-by: Serban Constantin <serban.constantin@gmail.com>
* | | | | | | | Python 3: Convert some unicode/bytes uses (#3569)Amber Brown2018-08-0217-67/+122
| |_|/ / / / / |/| | | | | |
* | | | | | | Merge pull request #3543 from bebehei/dockerJan Christian Grünhage2018-08-014-10/+22
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Improvements for Docker usage
| * | | | | | | [Docker] Use sorted multiline package listsBenedikt Heine2018-07-192-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches docker best practices. Signed-off-by: Benedikt Heine <bebe@bebehei.de>
| * | | | | | | [Docker] Build docker image via composeBenedikt Heine2018-07-172-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's much easier to build the image via docker-compose instead of an error-prone low-level docker call. Signed-off-by: Benedikt Heine <bebe@bebehei.de>
* | | | | | | | Merge pull request #3634 from matrix-org/rav/wtf_is_a_replication_layerRichard van der Hoff2018-08-012-14/+15
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | rename replication_layer to federation_client
| * | | | | | | | changelogRichard van der Hoff2018-07-311-0/+1
| | | | | | | | |
| * | | | | | | | rename replication_layer to federation_clientRichard van der Hoff2018-07-311-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have HAD ENOUGH of trying to remember wtf a replication layer is in terms of classes.
* | | | | | | | | Merge pull request #3384 from matrix-org/rav/rewrite_cachedlist_decoratorRichard van der Hoff2018-08-013-67/+166
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | Rewrite cache list decorator
| * | | | | | | | fix invalidationRichard van der Hoff2018-07-272-2/+42
| | | | | | | | |
| * | | | | | | | Rewrite cache list decoratorRichard van der Hoff2018-07-273-67/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because it was complicated and annoyed me. I suspect this will be more efficient too.
* | | | | | | | | Merge pull request #3628 from turt2live/travis/goodby-pdu-failuresTravis Ralston2018-07-317-97/+8
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | Remove pdu_failures from transactions
| * | | | | | | | Remove pdu_failures from transactionsTravis Ralston2018-07-307-97/+8
| | |_|/ / / / / | |/| | | | | | | | | | | | | | The field is never read from, and all the opportunities given to populate it are not utilized. It should be very safe to remove this.
* | | | | | | | Merge pull request #3612 from matrix-org/rav/store_heirarchyRichard van der Hoff2018-07-317-6/+11
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | Make EventStore inherit from EventFederationStore
| * | | | | | | reinstate explicit include of EventsWorkerStoreRichard van der Hoff2018-07-311-1/+3
| | | | | | | |
| * | | | | | | changelogRichard van der Hoff2018-07-261-0/+1
| | | | | | | |
| * | | | | | | Make EventStore inherit from EventFederationStoreRichard van der Hoff2018-07-266-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (since it uses methods therein) Turns out that we had a bunch of things which were incorrectly importing EventWorkerStore from events.py rather than events_worker.py, which broke once I removed the import into events.py.
* | | | | | | | Merge pull request #3629 from ptman/patch-1Richard van der Hoff2018-07-311-0/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add some documentation for using the dashboard
| * | | | | | | | Add some documentation for using the dashboardPaul Tötterman2018-07-311-0/+6
|/ / / / / / / /
* | | | | | | | synapse grafana dashboardRichard van der Hoff2018-07-311-0/+4961
| | | | | | | |
* | | | | | | | Merge pull request #3626 from krombel/only_import_secrets_when_availableAmber Brown2018-07-312-4/+4
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Only import secrets when available
| * | | | | | | Only import secrets when availableKrombel2018-07-302-4/+4
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | secrets got introduced in python 3.6 so this class is not available in 3.5 and before. This now checks for the current running version and only tries using secrets if the version is 3.6 or above Signed-Off-By: Matthias Kesler <krombel@krombel.de>
* | / / / / / make /context lazyload & filter aware (#3567)Matthew Hodgson2018-07-275-7/+43
| |/ / / / / |/| | | | | | | | | | | make /context lazyload & filter aware.
* | | | | | Merge pull request #3391 from t3chguy/t3chguy/default_inviter_display_name_3pidRichard van der Hoff2018-07-272-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | if inviter_display_name == ""||None then default to inviter MXID
| * | | | | | add changelog entry for PR#3391Michael Telatynski2018-07-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
| * | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Michael Telatynski2018-07-24506-14810/+36527
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | t3chguy/default_inviter_display_name_3pid
| * | | | | | | if inviter_display_name == ""||None then default to inviter MXIDMichael Telatynski2018-06-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to prevent email invite from "None"
* | | | | | | | Merge pull request #3469 from DJViking/masterRichard van der Hoff2018-07-271-0/+13
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add instructions for install on OpenSUSE and SLES
| * | | | | | | | Add instructions for install on OpenSUSE and SLESSverre Moe2018-07-011-0/+13
| | | | | | | | |
* | | | | | | | | Merge pull request #3616 from matrix-org/travis/event_id_send_leaveRichard van der Hoff2018-07-262-2/+3
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Update the send_leave path to be an event_id
| * | | | | | | | | Create 3616.miscTravis Ralston2018-07-261-0/+1
| | | | | | | | | |
| * | | | | | | | | Update the send_leave path to be an event_idTravis Ralston2018-07-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's still not used, however the parameter is an event ID not a transaction ID.
* | | | | | | | | | Merge pull request #3614 from matrix-org/rav/stop_populating_event_contentRichard van der Hoff2018-07-264-2/+99
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Stop populating events.content
| * | | | | | | | | | changelogRichard van der Hoff2018-07-261-0/+1
| | | | | | | | | | |
| * | | | | | | | | | Create the column nullableRichard van der Hoff2018-07-262-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no real point in ever making the column non-nullable, and doing so breaks the sytests.
| * | | | | | | | | | Stop populating events.contentRichard van der Hoff2018-07-262-1/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This field is no longer read from, so we should stop populating it. Once we're happy that this doesn't break everything, and a rollback is unlikely, we can think about dropping the column.
* | | | | | | | | | | Deduplicate redundant lazy-loaded members (#3331)Matthew Hodgson2018-07-263-25/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * attempt at deduplicating lazy-loaded members as per the proposal; we can deduplicate redundant lazy-loaded members which are sent in the same sync sequence. we do this heuristically rather than requiring the client to somehow tell us which members it has chosen to cache, by instead caching the last N members sent to a client, and not sending them again. For now we hardcode N to 100. Each cache for a given (user,device) tuple is in turn cached for up to X minutes (to avoid the caches building up). For now we hardcode X to 30. * add include_redundant_members filter option & make it work * remove stale todo * add tests for _get_some_state_from_cache * incorporate review
* | | | | | | | | | | Merge pull request #3613 from matrix-org/rav/stop_using_event_edges_room_idRichard van der Hoff2018-07-263-8/+7
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | | Remove some redundant joins on event_edges.room_id
| * | | | | | | | | | changelogRichard van der Hoff2018-07-261-0/+1
| | | | | | | | | | |
| * | | | | | | | | | Remove some redundant joins on event_edges.room_idRichard van der Hoff2018-07-262-8/+6
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've long passed the point where it's possible to have the same event_id in different tables, so these join conditions are redundant: we can just join on event_id. event_edges is of non-trivial size, and the room_id column is wasteful, so let's stop reading from it. In future, we can stop writing to it, and then drop it.
* | | | | | | | | | Merge pull request #3610 from matrix-org/rav/fix_looping_callsRichard van der Hoff2018-07-2613-15/+24
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | Fix some looping_call calls which were broken in #3604
| * | | | | | | | | Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-2613-15/+24
| | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call.
* / | | | | | | | comment on event_edgesRichard van der Hoff2018-07-261-1/+2
|/ / / / / / / /
* | | | | | | | Merge pull request #2970 from matrix-org/matthew/filter_membersMatthew Hodgson2018-07-265-62/+532
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Implement the lazy_load_members room state filter parameter
| * | | | | | | | switch missing_types to be a boolMatthew Hodgson2018-07-251-4/+4
| | | | | | | | |
| * | | | | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-2534-238/+389
| |\ \ \ \ \ \ \ \ | | | |_|_|_|/ / / | | |/| | | | | |
| * | | | | | | | flake8Matthew Hodgson2018-07-251-12/+12
| | | | | | | | |
| * | | | | | | | add tests for _get_some_state_from_cacheMatthew Hodgson2018-07-251-0/+150
| | | | | | | | |
| * | | | | | | | incorporate more review.Matthew Hodgson2018-07-251-16/+14
| | | | | | | | |
| * | | | | | | | handle the edge case for _get_some_state_from_cache where types is []Matthew Hodgson2018-07-241-1/+7
| | | | | | | | |
| * | | | | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-242-12/+5
| |\ \ \ \ \ \ \ \
| * | | | | | | | | clarify comment on p_idsMatthew Hodgson2018-07-241-1/+2
| | | | | | | | | |
| * | | | | | | | | consider non-filter_type types as wildcards, thus missing from the ↵Matthew Hodgson2018-07-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | state-group-cache
| * | | | | | | | | rather than adding ll_ids, remove them from p_idsMatthew Hodgson2018-07-241-5/+6
| | | | | | | | | |
| * | | | | | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-2417-316/+416
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | incorporate more reviewMatthew Hodgson2018-07-243-30/+27
| | | | | | | | | | |
| * | | | | | | | | | handle case where types is [] on postgres correctlyMatthew Hodgson2018-07-231-1/+1
| | | | | | | | | | |
| * | | | | | | | | | changelogMatthew Hodgson2018-07-231-0/+1
| | | | | | | | | | |
| * | | | | | | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-07-2353-3241/+3681
| |\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | incorporate reviewMatthew Hodgson2018-07-232-52/+35
| | | | | | | | | | | |
| * | | | | | | | | | | make test workMatthew Hodgson2018-07-191-37/+46
| | | | | | | | | | | |
| * | | | | | | | | | | first cut of a UT for testing state store (untested)Matthew Hodgson2018-07-191-0/+151
| | | | | | | | | | | |
| * | | | | | | | | | | fix thinkos; unbreak testsMatthew Hodgson2018-07-191-2/+2
| | | | | | | | | | | |
| * | | | | | | | | | | incorporate reviewMatthew Hodgson2018-07-192-20/+31
| | | | | | | | | | | |
| * | | | | | | | | | | add a filtered_types param to limit filtering to specific typesMatthew Hodgson2018-07-192-82/+96
| | | | | | | | | | | |
| * | | | | | | | | | | merge develop pydoc for _get_state_for_groupsMatthew Hodgson2018-07-19370-3768/+6264
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-06-1028-178/+531
| |\ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-06-0459-181/+496
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | more commentsMatthew Hodgson2018-06-041-0/+7
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | add lazy_load_members to the filter json schemaMatthew Hodgson2018-05-291-1/+4
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | pep8Matthew Hodgson2018-05-291-0/+1
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | disable CPUMetrics if no /proc/self/statMatthew Hodgson2018-05-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes build on macOS again
| * | | | | | | | | | | | | | fix dumb typoMatthew Hodgson2018-05-291-4/+4
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | add pydocMatthew Hodgson2018-05-292-27/+67
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | merge developMatthew Hodgson2018-05-29242-3342/+7386
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | make lazy_load_members configurable in filtersMatthew Hodgson2018-03-192-9/+15
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | reshuffle todo & commentsMatthew Hodgson2018-03-191-2/+10
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | only get member state IDs for incremental syncs if we're filteringMatthew Hodgson2018-03-181-5/+5
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | remove stale importMatthew Hodgson2018-03-161-1/+0
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | remove debugMatthew Hodgson2018-03-161-4/+0
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | fix tsm search againMatthew Hodgson2018-03-161-5/+4
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | add state_ids for timeline entriesMatthew Hodgson2018-03-161-4/+14
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | simplify timeline_start_membersMatthew Hodgson2018-03-161-14/+13
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Replace some ujson with simplejson to make it workErik Johnston2018-03-164-4/+5
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | make incr syncs workMatthew Hodgson2018-03-161-3/+4
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Merge branch 'develop' into matthew/filter_membersMatthew Hodgson2018-03-1410-144/+711
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | pep8Matthew Hodgson2018-03-141-2/+2
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | add copyright to nudge CIMatthew Hodgson2018-03-141-1/+2
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | oopsMatthew Hodgson2018-03-131-1/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | make it workMatthew Hodgson2018-03-132-7/+9
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | remove comment now #2969 is fixedMatthew Hodgson2018-03-131-6/+0
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | merge proper fix to bug 2969Matthew Hodgson2018-03-1346-336/+576
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | typoeMatthew Hodgson2018-03-131-1/+1
| | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | disable optimisation for searching for state groupsMatthew Hodgson2018-03-131-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when type filter includes wildcards on state_key
| | * | | | | | | | | | | | | | | | build where_clause sanelyMatthew Hodgson2018-03-131-6/+4
| | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | PR feedbackzMatthew Hodgson2018-03-131-3/+2
| | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | fix bug #2926Matthew Hodgson2018-03-131-4/+17
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | ensure we always include the members for a given timeline blockMatthew Hodgson2018-03-131-4/+32
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | correctly handle None state_keysMatthew Hodgson2018-03-121-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and fix include_other_types thinko
| * | | | | | | | | | | | | | | | | fix sqlite where clauseMatthew Hodgson2018-03-121-2/+3
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | typosMatthew Hodgson2018-03-112-2/+4
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | WIP experiment in lazyloading room membersMatthew Hodgson2018-03-112-17/+73
| | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | Merge pull request #3609 from matrix-org/travis/doc-typo-2Travis Ralston2018-07-252-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|/ / / / / / / |/| | | | | | | | | | | | | | | | | Fix a minor documentation typo in on_make_leave
| * | | | | | | | | | | | | | | | | Create 3609.miscTravis Ralston2018-07-251-0/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Fix a minor documentation typo in on_make_leaveTravis Ralston2018-07-251-1/+1
|/ / / / / / / / / / / / / / / / /
* | | | | | | | | | | | | | | | | Merge pull request #3603 from matrix-org/erikj/handle_outliersErik Johnston2018-07-252-6/+9
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly handle outliers during persist events
| * | | | | | | | | | | | | | | | | Actually fix it by adding continueErik Johnston2018-07-251-0/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Fix typo in conditionalErik Johnston2018-07-251-1/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | NewsfileErik Johnston2018-07-251-0/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Correctly handle outliers during persist eventsErik Johnston2018-07-251-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We incorrectly asserted that all contexts must have a non None state group without consider outliers. This would usually be fine as the assertion would never be hit, as there is a shortcut during persistence if the forward extremities don't change. However, if the outlier is being persisted with non-outlier events, the function would be called and the assertion would be hit. Fixes #3601
* | | | | | | | | | | | | | | | | | Merge pull request #3606 from matrix-org/rav/logcontext_fixes_once_moreRichard van der Hoff2018-07-253-5/+11
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix another logcontext leak in _persist_events
| * | | | | | | | | | | | | | | | | | Fix another logcontext leak in _persist_eventsRichard van der Hoff2018-07-253-5/+11
| |/ / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to run the errback in the sentinel context to avoid losing our own context. Also: add logging to runInteraction to help identify where "Starting db connection from sentinel context" warnings are coming from
* | | | | | | | | | | | | | | | | | Merge pull request #3607 from matrix-org/rav/fix_persist_events_integrity_errorRichard van der Hoff2018-07-252-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix occasional 'tuple index out of range' error
| * | | | | | | | | | | | | | | | | | Fix occasional 'tuple index out of range' errorRichard van der Hoff2018-07-252-1/+2
| |/ / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug in _delete_existing_rows_txn which was introduced in #3435 (though it's been on matrix-org-hotfixes for *years*). This code is only called when there is some sort of conflict the first time we try to persist an event, so it only happens rarely. Still, the exceptions are annoying.
* | | | | | | | | | | | | | | | | | Merge pull request #3605 from matrix-org/rav/fix_update_remote_profile_cacheRichard van der Hoff2018-07-252-1/+9
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix updating of cached remote profiles
| * | | | | | | | | | | | | | | | | | changelogRichard van der Hoff2018-07-251-0/+1
| | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | Fix updating of cached remote profilesRichard van der Hoff2018-07-251-1/+8
| |/ / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _update_remote_profile_cache was missing its `defer.inlineCallbacks`, so when it was called, would just return a generator object, without actually running any of the method body.
* | | | | | | | | | | | | | | | | | Merge pull request #3604 from matrix-org/rav/background_process_fixesRichard van der Hoff2018-07-2512-30/+95
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | Wrap a number of things that run in the background
| * | | | | | | | | | | | | | | | | Fix unit testsRichard van der Hoff2018-07-252-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on_notifier_poke no longer runs synchonously, so we have to do a different hack to make sure that the replication data has been sent. Let's actually listen for its arrival.
| * | | | | | | | | | | | | | | | | ChangelogRichard van der Hoff2018-07-251-0/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Wrap a number of things that run in the backgroundRichard van der Hoff2018-07-259-22/+63
|/ / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will reduce the number of "Starting db connection from sentinel context" warnings, and will help with our metrics.
* | | | | | | | | | | | | | | | | Merge pull request #3597 from matrix-org/erikj/did_forgetErik Johnston2018-07-245-34/+38
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | Fix client_reader worker being able to handle /context requests
| * | | | | | | | | | | | | | | | Move newsfileErik Johnston2018-07-241-0/+0
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | NewsfileErik Johnston2018-07-241-0/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Replace usage of get_current_toke with StreamToken.STARTErik Johnston2018-07-242-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to handle /context/ requests on the client_reader worker without having to pull in all the various stream handlers (e.g. precence, typing, pushers etc). The only thing the token gets used for is pagination, and that ignores everything but the room portion of the token.
| * | | | | | | | | | | | | | | | Pull out did_forget to worker storeErik Johnston2018-07-242-29/+28
|/ / / / / / / / / / / / / / / /
* | | | | | | | | | | | | | | | Merge pull request #3595 from matrix-org/erikj/use_deltasErik Johnston2018-07-242-53/+119
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use deltas to calculate current state deltas
| * | | | | | | | | | | | | | | | Expand on docstring comment about return valueErik Johnston2018-07-241-0/+5
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Remove unnecessary iteritemsErik Johnston2018-07-241-1/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Fixup comment (and indent)Erik Johnston2018-07-241-16/+20
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | NewsfileErik Johnston2018-07-241-0/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Don't fetch state from the database unless neededErik Johnston2018-07-241-12/+18
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Have _get_new_state_after_events return deltaErik Johnston2018-07-241-17/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a delta from the existing to new current state, then we can reuse that rather than manually working it out by fetching both lots of state.
| * | | | | | | | | | | | | | | | Don't require to_delete to have event_idsErik Johnston2018-07-241-36/+55
| | |_|_|_|_|_|_|_|_|/ / / / / / | |/| | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | Merge pull request #3587 from matrix-org/rav/better_exception_loggingRichard van der Hoff2018-07-242-3/+9
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve logging for exceptions when handling PDUs
| * | | | | | | | | | | | | | | | changelogRichard van der Hoff2018-07-231-0/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Improve logging for exceptions handling PDUsRichard van der Hoff2018-07-231-3/+8
| | |_|_|_|_|_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when we get an exception handling a federation PDU, log the whole stacktrace.
* | | | | | | | | | | | | | | | Merge pull request #3586 from matrix-org/rav/optimise_resolve_state_groupsRichard van der Hoff2018-07-244-62/+98
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes and optimisations for resolve_state_groups
| * | | | | | | | | | | | | | | | Handle delta_ids being None in _update_context_for_auth_eventsRichard van der Hoff2018-07-232-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it's easier to create the new state group as a delta from the existing one. (There's an outside chance this will help with https://github.com/matrix-org/synapse/issues/3364)
| * | | | | | | | | | | | | | | | newsfileRichard van der Hoff2018-07-231-0/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Fixes and optimisations for resolve_state_groupsRichard van der Hoff2018-07-231-54/+89
| |/ / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First of all, fix the logic which looks for identical input state groups so that we actually use them. This turned out to be most easily done by factoring the relevant code out to a separate function so that we could do an early return. Secondly, avoid building the whole `conflicted_state` dict (which was only ever used as a boolean flag). Thirdly, replace the construction of the `state` dict (which mapped from keys to events that set them), with an optimistic construction of the resolution result assuming there will be no conflicts. This should be no slower than building the old `state` dict, and: - in the conflicted case, we'll short-cut it, saving part of the work - in the unconflicted case, it saves rebuilding the resolution from the `state` dict. Finally, do a couple of s/values/itervalues/.
* | | | | | | | | | | | | | | | Merge pull request #3583 from matrix-org/rav/remove_who_forgot_in_roomRichard van der Hoff2018-07-244-46/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | Remove redundant checks on room forgottenness
| * | | | | | | | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_roomRichard van der Hoff2018-07-2419-317/+437
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|/ / / / / / | | |/| | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/remove_who_forgot_in_roomRichard van der Hoff2018-07-2330-196/+477
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | Remove redundant checks on room forgottennessRichard van der Hoff2018-07-234-46/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #3550
* | | | | | | | | | | | | | | | | Merge pull request #3592 from matrix-org/erikj/speed_up_calculate_state_deltaErik Johnston2018-07-242-12/+5
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | Speed up _calculate_state_delta
| * | | | | | | | | | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-07-2417-315/+415
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | erikj/speed_up_calculate_state_delta
* | | | | | | | | | | | | | | | | Merge pull request #3591 from matrix-org/rav/logcontext_fixesRichard van der Hoff2018-07-245-21/+30
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logcontext fixes
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into rav/logcontext_fixesRichard van der Hoff2018-07-2413-295/+386
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | Merge pull request #3555 from matrix-org/erikj/client_apis_moveErik Johnston2018-07-2411-284/+364
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make client_reader support some more read only APIs
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into erikj/client_apis_moveErik Johnston2018-07-2419-141/+349
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|/ / / / / / / / / / / / / | | |/| | | | | | | | | | | | | | | |