summary refs log tree commit diff
path: root/synapse/handlers/room.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'dc22090a6' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-191-38/+66
|\ | | | | | | | | | | | | | | * commit 'dc22090a6': Add type hints to synapse.handlers.room (#8090) Remove some unused database functions. (#8085) Convert misc database code to async (#8087) Remove a space at the start of a changelog entry.
| * Add type hints to synapse.handlers.room (#8090)Erik Johnston2020-08-141-38/+66
| |
* | Merge commit 'e19de43eb' into anoa/dinsic_release_1_21_xAndrew Morgan2020-10-161-5/+5
|\| | | | | | | | | * commit 'e19de43eb': Convert streams to async. (#8014)
| * Convert streams to async. (#8014)Patrick Cloke2020-08-041-5/+5
| |
* | Make AccessRules use the public rooms directory instead of checking a room's ↵Andrew Morgan2020-09-181-0/+9
| | | | | | | | | | | | | | join rules on rule change (#63) This PR switches several conditions regarding room access rules to check against the status of the room's inclusion in the public room list instead of its join rules. The code includes a snapshot of https://github.com/matrix-org/synapse/pull/8292, which will likely change in time and need merging in again.
* | Merge commit 'f88c48f3b' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-9/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f88c48f3b': 1.18.0rc1 Fix error reporting when using `opentracing.trace` (#7961) Fix typing replication not being handled on master (#7959) Remove hacky error handling for inlineDeferreds. (#7950) Convert tests/rest/admin/test_room.py to unix file endings (#7953) Support oEmbed for media previews. (#7920) Convert state resolution to async/await (#7942) Fix up types and comments that refer to Deferreds. (#7945) Do not convert async functions to Deferreds in the interactive_auth_handler (#7944) Convert more of the media code to async/await (#7873) Return an empty body for OPTIONS requests. (#7886) Downgrade warning on client disconnect to INFO (#7928) Convert presence handler helpers to async/await. (#7939) Update the auth providers to be async. (#7935) Put a cache on `/state_ids` (#7931)
| * Fix up types and comments that refer to Deferreds. (#7945)Patrick Cloke2020-07-241-9/+4
| |
* | Merge commit '491f0dab1' into anoa/dinsic_release_1_18_xAndrew Morgan2020-08-031-2/+206
|\| | | | | | | | | * commit '491f0dab1': Add delete room admin endpoint (#7613)
| * Add delete room admin endpoint (#7613)Dirk Klimpel2020-07-141-2/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Delete Room admin API allows server admins to remove rooms from server and block these rooms. `DELETE /_synapse/admin/v1/rooms/<room_id>` It is a combination and improvement of "[Shutdown room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/shutdown_room.md)" and "[Purge room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/purge_room.md)" API. Fixes: #6425 It also fixes a bug in [synapse/storage/data_stores/main/room.py](synapse/storage/data_stores/main/room.py) in ` get_room_with_stats`. It should return `None` if the room is unknown. But it returns an `IndexError`. https://github.com/matrix-org/synapse/blob/901b1fa561e3cc661d78aa96d59802cf2078cb0d/synapse/storage/data_stores/main/room.py#L99-L105 Related to: - #5575 - https://github.com/Awesome-Technologies/synapse-admin/issues/17 Signed-off-by: Dirk Klimpel dirk@klimpel.org
* | Merge commit 'a3f11567d' into dinsicAndrew Morgan2020-08-031-3/+1
|\| | | | | | | | | * commit 'a3f11567d': Replace all remaining six usage with native Python 3 equivalents (#7704)
| * Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-161-3/+1
| |
* | Merge commit '03619324f' into dinsicAndrew Morgan2020-08-031-34/+45
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '03619324f': Create a ListenerConfig object (#7681) Fix changelog wording 1.15.1 Wrap register_device coroutine in an ensureDeferred (#7684) Ensure the body is a string before comparing push rules. (#7701) Ensure etag is a string for GET room_keys/version response (#7691) Update m.id.phone to use 'phone' instead of 'number' (#7687) Fix "There was no active span when trying to log." error (#7698) Enable 3PID add/bind/unbind endpoints on r0 routes Discard RDATA from already seen positions. (#7648) Replace iteritems/itervalues/iterkeys with native versions. (#7692) Fix warnings about losing log context during UI auth. (#7688) Fix a typo when comparing the URI & method during UI Auth. (#7689) Remove "user_id" from GET /presence. (#7606) Increase the default SAML session expirary time to 15 minutes. (#7664) fix typo in sample_config.yaml (#7652) Take out a lock before modifying _CACHES (#7663) Add option to enable encryption by default for new rooms (#7639) Clean-up the fallback login code. (#7657)
| * Replace iteritems/itervalues/iterkeys with native versions. (#7692)Patrick Cloke2020-06-151-3/+3
| |
| * Add option to enable encryption by default for new rooms (#7639)Andrew Morgan2020-06-101-27/+47
| | | | | | | | | | | | | | | | | | Fixes https://github.com/matrix-org/synapse/issues/2431 Adds config option `encryption_enabled_by_default_for_room_type`, which determines whether encryption should be enabled with the default encryption algorithm in private or public rooms upon creation. Whether the room is private or public is decided based upon the room creation preset that is used. Part of this PR is also pulling out all of the individual instances of `m.megolm.v1.aes-sha2` into a constant variable to eliminate typos ala https://github.com/matrix-org/synapse/pull/7637 Based on #7637
* | Merge branch 'release-v1.14.0' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-06-101-100/+131
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dinsic-release-v1.14.x * 'release-v1.14.0' of github.com:matrix-org/synapse: (108 commits) Fix typo in PR link Update debian changelog 1.14.0 Improve changelog wording 1.14.0rc2 Fix sample config docs error (#7581) Fix up comments Fix specifying cache factors via env vars with * in name. (#7580) Don't apply cache factor to event cache. (#7578) Ensure ReplicationStreamer is always started when replication enabled. (#7579) Remove the changes to the debian changelog Not full release yet, this is rc1 Merge event persistence move changelog entries More changelog fix Changelog fixes 1.14.0 Replace device_27_unique_idx bg update with a fg one (#7562) Fix incorrect exception handling in KeyUploadServlet.on_POST (#7563) Fix recording of federation stream token (#7564) Simplify reap_monthly_active_users (#7558) ...
| * Add option to move event persistence off master (#7517)Erik Johnston2020-05-221-0/+7
| |
| * Add ability to wait for replication streams (#7542)Erik Johnston2020-05-221-20/+45
| | | | | | | | | | | | | | The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room). Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on. People probably want to look at this commit by commit.
| * On upgrade room only send canonical alias once. (#7547)Erik Johnston2020-05-221-55/+60
| | | | | | | | | | | | | | | | Instead of doing a complicated dance of deleting and moving aliases one by one, which sends a canonical alias update into the old room for each one, lets do it all in one go. This also changes the function to move *all* local alias events to the new room, however that happens later on anyway.
| * Convert the room handler to async/await. (#7396)Patrick Cloke2020-05-041-24/+18
| |
* | Merge branch 'release-v1.13.0' of github.com:matrix-org/synapse into ↵Andrew Morgan2020-06-101-65/+68
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dinsic-release-v1.14.x * 'release-v1.13.0' of github.com:matrix-org/synapse: (257 commits) Update changelog based on feedback. Move warnings in the changelog and re-iterate changes to branches. 1.13.0 update dh-virtualenv (#7526) 1.13.0rc3 Hash passwords earlier in the registration process (#7523) 1.13.0rc2 1.13.0rc2 Stop `get_joined_users` corruption from custom statuses (#7376) Do not validate that the client dict is stable during UI Auth. (#7483) Fix new flake8 errors (#7489) Don't UPGRADE database rows RST indenting Put rollback instructions in upgrade notes Fix changelog typo Oh yeah, RST Absolute URL it is then Fix upgrade notes link Provide summary of upgrade issues in changelog. Fix ) Move next version notes from changelog to upgrade notes ...
| * async/await is_server_admin (#7363)Andrew Morgan2020-05-011-63/+58
| |
| * Check on room creation if the user is allowed to publish the room to the ↵PeerD2020-04-131-0/+7
| | | | | | | | room directory. (#7260)
| * Default PL100 to enable encryption in a room (#7230)Andrew Morgan2020-04-091-0/+1
| |
* | Fix sytest CIAndrew Morgan2020-05-281-1/+1
| | | | | | | | | | | | | | | | * Switch sytest-synapse to sytest-dinsic * Be sure to invalidate our caches properly! * Remove duplicate encryption state key definition * Remove old config option name in comment * Make dinsic the default in merge_base_branch
* | Remove special casing of `m.room.aliases` events (#7034)Andrew Morgan2020-03-241-15/+1
|\| | | | | | | | | * commit '60724c46b': Remove special casing of `m.room.aliases` events (#7034)
| * Remove special casing of `m.room.aliases` events (#7034)Patrick Cloke2020-03-171-15/+1
| |
* | Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Andrew Morgan2020-03-241-1/+1
|\| | | | | | | | | | | | | * commit '509e381af': Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957) changelog Increase MAX_EVENTS_BEHIND for replication clients
| * Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-211-1/+1
| | | | | | | | Ensure good comprehension hygiene using flake8-comprehensions.
* | Do not send alias events when creating / upgrading a room (#6941)Andrew Morgan2020-03-241-23/+13
|\| | | | | | | | | * commit '99eed85a7': Do not send alias events when creating / upgrading a room (#6941)
| * Do not send alias events when creating / upgrading a room (#6941)Patrick Cloke2020-02-201-23/+13
| | | | | | Stop emitting room alias update events during room creation/upgrade.
* | Stop sending events when creating or deleting aliases (#6904)Andrew Morgan2020-03-241-5/+1
|\| | | | | | | | | * commit 'fe3941f6e': Stop sending events when creating or deleting aliases (#6904)
| * Stop sending events when creating or deleting aliases (#6904)Patrick Cloke2020-02-181-5/+1
| | | | | | Stop sending events when creating or deleting associations (room aliases). Send an updated canonical alias event if one of the alt_aliases is deleted.
* | Raise the default power levels for invites, tombstones and server acls (#6834)Andrew Morgan2020-03-231-1/+9
|\| | | | | | | | | * commit '3404ad289': Raise the default power levels for invites, tombstones and server acls (#6834)
| * Raise the default power levels for invites, tombstones and server acls (#6834)Andrew Morgan2020-02-171-1/+9
| |
* | Third party event rules Update (#6781)Andrew Morgan2020-03-231-1/+5
|\| | | | | | | | | * commit '99fcc9628': Third party event rules Update (#6781)
| * Third party event rules Update (#6781)PeerD2020-02-061-1/+5
| |
* | Reduce amount of logging at INFO level. (#6862)Andrew Morgan2020-03-231-5/+5
|\| | | | | | | | | * commit 'ed630ea17': Reduce amount of logging at INFO level. (#6862)
| * Reduce amount of logging at INFO level. (#6862)Erik Johnston2020-02-061-5/+5
| | | | | | | | | | | | | | | | A lot of the things we log at INFO are now a bit superfluous, so lets make them DEBUG logs to reduce the amount we log by default. Co-Authored-By: Brendan Abolivier <babolivier@matrix.org> Co-authored-by: Brendan Abolivier <github@brendanabolivier.com>
* | Fix detecting unknown devices from remote encrypted events. (#6848)Andrew Morgan2020-03-231-1/+1
|\| | | | | | | | | * commit '6475382d8': Fix detecting unknown devices from remote encrypted events. (#6848)
| * Fix detecting unknown devices from remote encrypted events. (#6848)Erik Johnston2020-02-041-1/+1
| | | | | | | | | | | | | | | | We were looking at the wrong event type (`m.room.encryption` vs `m.room.encrypted`). Also fixup the duplicate `EvenTypes` entries. Introduced in #6776.
* | Merge pull request #6820 from matrix-org/rav/get_room_version_idAndrew Morgan2020-03-231-1/+1
|\| | | | | | | | | | | | | * commit '160522e32': newsfile Add `get_room_version` method s/get_room_version/get_room_version_id/
| * s/get_room_version/get_room_version_id/Richard van der Hoff2020-01-311-1/+1
| | | | | | | | | | ... to make way for a forthcoming get_room_version which returns a RoomVersion object.
* | Merge pull request #6790 from matrix-org/rav/msc2260.1Andrew Morgan2020-03-231-14/+26
|\| | | | | | | | | | | | | | | * commit '281551f72': changelog Make /directory/room/<alias> handle restrictive power levels Set the PL for aliases events to 0. Factor out a `copy_power_levels_contents` method
| * Set the PL for aliases events to 0.Richard van der Hoff2020-01-291-2/+15
| |
| * Factor out a `copy_power_levels_contents` methodRichard van der Hoff2020-01-291-12/+11
| | | | | | | | I'm going to need another copy (hah!) of this.
* | Add `rooms.room_version` column (#6729)Andrew Morgan2020-03-231-20/+32
|\| | | | | | | | | * commit '8df862e45': Add `rooms.room_version` column (#6729)
| * Add `rooms.room_version` column (#6729)Erik Johnston2020-01-271-20/+32
| | | | | | This is so that we don't have to rely on pulling it out from `current_state_events` table.
* | Add StateMap type alias (#6715)Andrew Morgan2020-03-231-6/+18
|\| | | | | | | | | * commit 'd386f2f33': Add StateMap type alias (#6715)
| * Add StateMap type alias (#6715)Erik Johnston2020-01-161-6/+18
| |
* | Fix some test failures when frozen_dicts are enabled (#6642)Andrew Morgan2020-03-201-6/+9
|\| | | | | | | | | * commit 'ba897a759': Fix some test failures when frozen_dicts are enabled (#6642)
| * Fix some test failures when frozen_dicts are enabled (#6642)Richard van der Hoff2020-01-061-6/+9
| | | | | | | | Fixes #4026
* | Fix power levels being incorrectly set in old and new rooms after a room ↵Andrew Morgan2020-03-201-7/+10
|\| | | | | | | | | | | | | upgrade (#6633) * commit '01c3c6c92': Fix power levels being incorrectly set in old and new rooms after a room upgrade (#6633)
| * Fix power levels being incorrectly set in old and new rooms after a room ↵Andrew Morgan2020-01-061-7/+10
| | | | | | | | | | | | upgrade (#6633) Modify a copy of an upgraded room's PL before sending to the new room
* | Change EventContext to use the Storage class (#6564)Andrew Morgan2020-03-201-1/+1
|\| | | | | | | | | * commit 'fa780e972': Change EventContext to use the Storage class (#6564)
| * Change EventContext to use the Storage class (#6564)Erik Johnston2019-12-201-1/+1
| |
| * Merge release-v1.7.1 into developRichard van der Hoff2019-12-181-2/+5
| |\
* | | Remove unused `get_pagination_rows` methods. (#6557)Andrew Morgan2020-03-191-12/+0
|\| | | | | | | | | | | | | | * commit '02553901c': Remove unused `get_pagination_rows` methods. (#6557)
| * | Remove unused `get_pagination_rows` methods. (#6557)Erik Johnston2019-12-171-12/+0
| | | | | | | | | Remove unused get_pagination_rows methods
* | | Merge pull request #6553 from matrix-org/babolivier/fix-context-filterAndrew Morgan2020-03-191-2/+5
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | * commit '631653036': Incorporate review Update changelog.d/6553.bugfix Lint Add test case Changelog Update the documentation of the filtering function Use the filtered version of an event when responding to /context requests for that event
| * | Incorporate reviewBrendan Abolivier2019-12-161-1/+1
| | |
| * | Use the filtered version of an event when responding to /context requests ↵Brendan Abolivier2019-12-161-1/+4
| |/ | | | | | | | | | | for that event Sometimes the filtering function can return a pruned version of an event (on top of either the event itself or an empty list), if it thinks the user should be able to see that there's an event there but not the content of that event. Therefore, the previous logic of 'if filtered is empty then we can use the event we retrieved from the database' is flawed, and we should use the event returned by the filtering function.
* | Merge pull request #6329 from matrix-org/babolivier/context_filtersAndrew Morgan2020-03-191-2/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c530f9af4': Un-remove room purge test Incorporate review Format changelog Update changelog since this isn't going to be featured in 1.6.0 Also filter state events Only filter if a filter was provided Update copyright Lint Update copyrights Changelog Add tests for /search Merge labels tests for /context and /messages Add test case Filter events_before and events_after in /context requests
| * Merge branch 'develop' into babolivier/context_filtersBrendan Abolivier2019-12-041-5/+31
| |\
| * | Incorporate reviewBrendan Abolivier2019-12-041-2/+1
| | |
| * | Also filter state eventsBrendan Abolivier2019-11-061-1/+7
| | |
| * | Only filter if a filter was providedBrendan Abolivier2019-11-051-4/+6
| | |
| * | Update copyrightBrendan Abolivier2019-11-051-1/+2
| | |
| * | Filter events_before and events_after in /context requestsBrendan Abolivier2019-11-051-2/+4
| | | | | | | | | | | | While the current version of the spec doesn't say much about how this endpoint uses filters (see https://github.com/matrix-org/matrix-doc/issues/2338), the current implementation is that some fields of an EventFilter apply (the ones that are used when running the SQL query) and others don't (the ones that are used by the filter itself) because we don't call event_filter.filter(...). This seems counter-intuitive and probably not what we want so this commit fixes it.
* | | Transfer power level state events on room upgrade (#6237)Andrew Morgan2020-03-191-5/+31
|\ \ \ | | |/ | |/| | | | | | | * commit '72078e4be': Transfer power level state events on room upgrade (#6237)
| * | Transfer power level state events on room upgrade (#6237)Andrew Morgan2019-12-021-5/+31
| |/
* | Depublish a room from the public rooms list when it is upgraded (#6232)Andrew Morgan2020-03-161-1/+7
|\| | | | | | | | | * commit 'ace947e8d': Depublish a room from the public rooms list when it is upgraded (#6232)
| * Depublish a room from the public rooms list when it is upgraded (#6232)Andrew Morgan2019-11-011-1/+7
| |
* | Update black to 19.10b0 (#6304)Andrew Morgan2020-03-161-14/+15
|\| | | | | | | | | * commit '020add509': Update black to 19.10b0 (#6304)
| * Update black to 19.10b0 (#6304)Amber Brown2019-11-011-14/+15
| | | | | | * update version of black and also fix the mypy config being overridden
* | Merge pull request #6294 from matrix-org/erikj/add_state_storageAndrew Morgan2020-03-161-2/+4
|\|
| * Merge pull request #6294 from matrix-org/erikj/add_state_storageErik Johnston2019-10-311-2/+4
| |\ | | | | | | Add StateGroupStorage interface
| | * Port to use state storageErik Johnston2019-10-301-2/+4
| | |
* | | Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2020-03-161-1/+1
|\| |
| * | Remove usage of deprecated logger.warn method from codebase (#6271)Andrew Morgan2019-10-311-1/+1
| |/ | | | | Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
* | Add domain validation when creating room with list of invitees (#6121)Andrew Morgan2020-02-261-1/+3
|\|
| * Add domain validation when creating room with list of invitees (#6121)werner2912019-10-101-1/+3
| |
* | Use the v2 Identity Service API for lookups (MSC2134 + MSC2140) (#5976)Andrew Morgan2020-02-251-1/+3
|\|
| * Use the v2 Identity Service API for lookups (MSC2134 + MSC2140) (#5976)Andrew Morgan2019-09-111-1/+3
| | | | | | | | | | | | | | This is a redo of https://github.com/matrix-org/synapse/pull/5897 but with `id_access_token` accepted. Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) plus Identity Service v2 authentication ala [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140). Identity lookup-related functions were also moved from `RoomMemberHandler` to `IdentityHandler`.
* | Remove double return statements (#5962)Andrew Morgan2020-02-251-1/+0
|\|
| * Remove double return statements (#5962)Andrew Morgan2019-09-031-1/+0
| | | | | | | | | | | | | | | | | | | | Remove all the "double return" statements which were a result of us removing all the instances of ``` defer.returnValue(...) return ``` statements when we switched to python3 fully.
* | Don't create broken room when power_level_content_override.users does not ↵Andrew Morgan2020-02-201-1/+13
|\| | | | | | | contain creator_id. (#5633)
| * Don't create broken room when power_level_content_override.users does not ↵Michael Telatynski2019-08-151-1/+13
| | | | | | | | contain creator_id. (#5633)
* | Replace returnValue with return (#5736)Andrew Morgan2020-02-191-8/+8
|\|
| * Replace returnValue with return (#5736)Amber Brown2019-07-231-8/+8
| |
* | Prevent multiple upgrades on the same room at once (#5051)Andrew Morgan2020-02-141-51/+89
|\|
| * Prevent multiple upgrades on the same room at once (#5051)Andrew Morgan2019-06-251-51/+89
| | | | | | | | | | | | | | Closes #4583 Does slightly less than #5045, which prevented a room from being upgraded multiple times, one after another. This PR still allows that, but just prevents two from happening at the same time. Mostly just to mitigate the fact that servers are slow and it can take a moment for the room upgrade to actually complete. We don't want people sending another request to upgrade the room when really they just thought the first didn't go through.
* | Run Black. (#5482)Andrew Morgan2020-02-131-1/+1
|\|
| * Run Black. (#5482)Amber Brown2019-06-201-184/+111
| |
| * Add third party rules hook into create roomErik Johnston2019-06-171-1/+24
| |
* | Dinsic Blacking with black==18.6b2Andrew Morgan2020-02-111-194/+116
| |
* | Add third party rules hook into create roomErik Johnston2019-06-171-3/+13
| |
* | Merge branch 'master' into dinsicBrendan Abolivier2019-06-121-2/+7
|\|
| * Add config option for setting homeserver's default room version (#5223)Andrew Morgan2019-05-231-2/+7
| | | | | | | | | | Replaces DEFAULT_ROOM_VERSION constant with a method that first checks the config, then returns a hardcoded value if the option is not present. That hardcoded value is now located in the server.py config file.
* | Merge branch 'release-v0.99.4' into dinsic dinsic_2019-05-14Brendan Abolivier2019-05-141-1/+2
|\|
| * Add some limitations to alias creationBrendan Abolivier2019-05-021-1/+2
| |
* | Merge branch 'develop' into dinsicAndrew Morgan2019-04-151-8/+4
|\|
| * Transfer related groups on room upgrade (#4990)Andrew Morgan2019-04-021-0/+1
| | | | | | Transfers the m.room.related_groups state event on room upgrade.
| * Collect room-version variations into one place (#4969)Richard van der Hoff2019-04-011-8/+3
| | | | | | | | Collect all the things that make room-versions different to one another into one place, so that it's easier to define new room versions.
* | Add 3PID invite support to spam checkerErik Johnston2019-03-211-0/+1
| |
* | Correctly handle 3PID invites in create room spam checkErik Johnston2019-03-211-2/+3
| | | | | | | | We also add an option to outright deny third party invites
* | Don't spam check actions by adminsErik Johnston2019-03-181-2/+23
| |
* | Add invite_list and cloning param to create room ruleErik Johnston2019-03-181-3/+14
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into ↵Erik Johnston2019-03-151-37/+406
|\| | | | | | | erikj/dinsic-merged-master
| * lintAndrew Morgan2019-02-181-1/+3
| |
| * Move member event processing and changelog fixAndrew Morgan2019-02-181-9/+7
| |
| * Membership events are done laterAndrew Morgan2019-02-181-12/+20
| |
| * Transfer bans on room upgradeAndrew Morgan2019-02-181-0/+14
| |
| * Transfer Server ACLs on room upgradeAndrew Morgan2019-02-111-0/+1
| |
| * New function for getting room's create eventAndrew Morgan2019-01-311-7/+1
| |
| * lintAndrew Morgan2019-01-311-2/+4
| |
| * Copy over non-federatable trait on room upgradeAndrew Morgan2019-01-301-0/+14
| |
| * Merge pull request #4482 from matrix-org/erikj/event_auth_room_versionErik Johnston2019-01-281-1/+4
| |\ | | | | | | Pass through room version to event auth
| | * Pass through room version to event authErik Johnston2019-01-251-1/+4
| | |
| * | Join logic covers both room creator and arbitrary usersAndrew Morgan2019-01-221-33/+0
| | |
| * | tags, m.direct copying over correctlyAndrew Morgan2019-01-221-9/+13
| | |
| * | Migrating dm and room tags work for migratorAndrew Morgan2019-01-221-2/+13
| | |
| * | Prevent crash on user who doesn't have any direct roomsAndrew Morgan2019-01-221-1/+1
| | |
| * | Preserve DM status of a room on upgradeAndrew Morgan2019-01-221-0/+19
| | | | | | | | | | | | Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
| * | Fix typoAndrew Morgan2019-01-221-2/+2
| |/
| * Migrate encryption state on room upgrade (#4411)Andrew Morgan2019-01-211-0/+1
| | | | | | | | | | | | | | | | * Migrate encryption state on room upgrade Signed-off-by: Andrew Morgan <andrew@amorgan.xyz> * Add changelog file
| * create support user (#4141)Neil Johnson2018-12-141-1/+1
| | | | | | | | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits.
| * Merge pull request #4101 from matrix-org/rav/aliases_for_upgradesRichard van der Hoff2018-10-311-8/+112
| |\ | | | | | | Attempt to move room aliases on room upgrades
| | * Avoid else clause on exception for clarityRichard van der Hoff2018-10-311-2/+1
| | |
| | * Attempt to move room aliases on room upgradesRichard van der Hoff2018-10-311-8/+113
| | |
| * | Log some bits about event creation (#4121)Richard van der Hoff2018-10-311-0/+4
| |/ | | | | | | I found these helpful in debugging my room upgrade tests.
| * Merge pull request #4100 from matrix-org/rav/room_upgrade_avatarRichard van der Hoff2018-10-291-1/+2
| |\ | | | | | | Remember to copy the avatar on room upgrades
| | * Remember to copy the avatar on room upgradesRichard van der Hoff2018-10-261-1/+2
| | |
| * | Better handling of odd PLs during room upgradesRichard van der Hoff2018-10-271-44/+81
| |/ | | | | | | | | | | | | Fixes handling of rooms where we have permission to send the tombstone, but not other state. We need to (a) fail more gracefully when we can't send the PLs in the old room, and (b) not set the PLs in the new room until we are done with the other stuff.
| * optimise state copyingRichard van der Hoff2018-10-261-7/+5
| |
| * Address review commentsRichard van der Hoff2018-10-261-7/+9
| | | | | | | | Improve comments, get old room state from the context we already have
| * restrict PLs in old roomRichard van der Hoff2018-10-251-1/+43
| |
| * copy stateRichard van der Hoff2018-10-251-11/+26
| |
| * preserve PLsRichard van der Hoff2018-10-251-1/+7
| |
| * preserve room visibilityRichard van der Hoff2018-10-251-3/+5
| |
| * Basic initial support for room upgradesRichard van der Hoff2018-10-251-0/+121
| | | | | | | | | | Currently just creates a new, empty, room, and sends a tombstone in the old room.
| * Allow power_level_content_override=None for _send_events_for_new_roomRichard van der Hoff2018-10-251-5/+6
| |
| * Make room_member_handler a member of RoomCreationHandlerRichard van der Hoff2018-10-251-6/+3
| | | | | | | | ... to save passing it into `_send_events_for_new_room`
| * Factor _generate_room_id out of create_roomRichard van der Hoff2018-10-251-22/+23
| | | | | | | | we're going to need this for room upgrades.
* | merge master into dinsic, again...Matthew Hodgson2018-11-031-12/+15
|\|
| * Refactor state group lookup to reduce DB hits (#4011)Erik Johnston2018-10-251-10/+12
| | | | | | | | | | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit.
| * Clean up room alias creationErik Johnston2018-10-191-2/+3
| |
* | merge in masterMatthew Hodgson2018-10-221-10/+64
|\|
| * block event creation and room creation on hitting resource limitsNeil Johnson2018-08-161-0/+4
| |
| * Don't expose default_room_version as config optRichard van der Hoff2018-08-071-1/+2
| |
| * Basic support for room versioningRichard van der Hoff2018-08-031-1/+26
| | | | | | | | | | | | | | | | This is the first tranche of support for room versioning. It includes: * setting the default room version in the config file * new room_version param on the createRoom API * storing the version of newly-created rooms in the m.room.create event * fishing the version of existing rooms out of the m.room.create event
| * make /context lazyload & filter aware (#3567)Matthew Hodgson2018-07-271-3/+21
| | | | | | make /context lazyload & filter aware.
| * Replace usage of get_current_toke with StreamToken.STARTErik Johnston2018-07-241-5/+7
| | | | | | | | | | | | | | | | 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.
| * Move RoomContextHandler out of HandlersErik Johnston2018-07-181-1/+5
| | | | | | | | This is in preparation for moving GET /context/ to a worker
* | Merge remote-tracking branch 'origin/master' into dinsicDavid Baker2018-07-191-11/+8
|\|
| * run isortAmber Brown2018-07-091-11/+8
| |
* | Merge remote-tracking branch 'origin/master' into dinsicDavid Baker2018-07-171-2/+6
|\|
| * Add error code to room creation errorMichael Wagner2018-06-141-2/+6
| | | | | | | | This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
* | Merge tag 'v0.31.2' into dinsicMichael Kaye2018-06-221-5/+25
|\|
| * Consistently use six's iteritems and wrap lazy keys/values in list() if ↵Amber Brown2018-05-311-1/+1
| | | | | | | | they're not meant to be lazy (#3307)
| * Reject attempts to send event before privacy consent is givenRichard van der Hoff2018-05-221-0/+4
| | | | | | | | | | | | Returns an M_CONSENT_NOT_GIVEN error (cf https://github.com/matrix-org/matrix-doc/issues/1252) if consent is not yet given.
| * Infrastructure for a server notices roomRichard van der Hoff2018-05-171-2/+14
| | | | | | | | | | | | | | Server Notices use a special room which the user can't dismiss. They are created on demand when some other bit of the code calls send_notice. (This doesn't actually do much yet becuse we don't call send_notice anywhere)
| * Move RoomCreationHandler out of synapse.handlers.HandlersRichard van der Hoff2018-05-171-2/+6
| | | | | | | | | | | | | | Handlers is deprecated nowadays, so let's move this out before I add a new dependency on it. Also fix the docstrings on create_room.
* | Add m.encryption to event typesDavid Baker2018-06-221-1/+1
| |
* | Server-enforced e2e for private roomsDavid Baker2018-06-221-0/+11
|/
* Remove ability for AS users to call /events and /syncErik Johnston2018-03-051-6/+3
| | | | | | | This functionality has been deprecated for a while as well as being broken for a while. Instead of fixing it lets just remove it entirely. See: https://github.com/matrix-org/matrix-doc/issues/1144
* Move RoomMemberHandler out of HandlersErik Johnston2018-03-011-2/+2
|
* Update copyrightErik Johnston2018-02-061-0/+1
|
* Update places where we create eventsErik Johnston2018-02-051-6/+4
|
* PEP8Erik Johnston2017-11-281-1/+1
|
* Fix wrong avatars when inviting multiple users when creating roomErik Johnston2017-11-281-5/+5
| | | We reused the `content` dictionary between invite requests, which meant they could end up reusing the profile info for a previous user
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* Remove pointless create() methodRichard van der Hoff2017-10-201-2/+2
| | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths.
* un-double indentDavid Baker2017-10-041-1/+1
|
* Add room creation checks to spam checkerDavid Baker2017-10-041-0/+8
| | | | | Lets the spam checker deny attempts to create rooms and add aliases to them.
* Change to create new room and join other usersErik Johnston2017-06-191-4/+17
|
* Add per user ratelimiting overridesErik Johnston2017-05-101-1/+1
|
* Remove unused paramErik Johnston2017-02-201-1/+1
|
* Fix /context/ visibiltiy rulesErik Johnston2017-02-201-1/+4
|
* Make presence.get_new_events a bit fasterErik Johnston2017-02-021-0/+1
| | | | We do this by caching the set of users a user shares rooms with.
* Merge pull request #653 from matrix-org/erikj/preset_guest_joinErik Johnston2016-12-051-0/+10
|\ | | | | Enable guest access for private rooms by default
| * Enable guest access for private rooms by defaultErik Johnston2016-03-171-0/+10
| |
* | Fix incredubly slow back pagination queryErik Johnston2016-10-241-2/+5
| | | | | | | | | | | | | | If a client didn't specify a from token when paginating backwards synapse would attempt to query the (global) maximum topological token. This a) doesn't make much sense since they're room specific and b) there are no indices that lets postgres do this efficiently.
* | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-061-1/+1
| | | | | | | | synchronous
* | Move RoomListHandler into a separate fileErik Johnston2016-09-141-158/+1
| |
* | Add is_direct param to /createRoomErik Johnston2016-09-121-0/+6
| |
* | Add server param to /publicRoomsErik Johnston2016-09-081-0/+10
| |
* | Cache federation state responsesErik Johnston2016-07-211-2/+2
| |
* | Pull full state for each room all at onceErik Johnston2016-06-081-16/+16
| |
* | Fix room list spideringDavid Baker2016-06-011-1/+1
| |
* | Add cache to remote room listsDavid Baker2016-05-311-4/+30
| | | | | | | | Poll for updates from remote servers, waiting for the poll if there's no cache entry.
* | Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-1/+32
| |
* | move filter_events_for_client out of base handlerMark Haines2016-05-111-2/+5
| |
* | Run filter_events_for_clientDavid Baker2016-04-271-1/+1
| | | | | | | | so we don't accidentally mail out events people shouldn't see
* | Don't return empty public roomsErik Johnston2016-04-121-5/+8
| |
* | Move all the wrapper functions for distributor.fireMark Haines2016-04-081-15/+0
| | | | | | | | | | | | | | Move the functions inside the distributor and import them where needed. This reduces duplication and makes it possible for flake8 to detect when the functions aren't used in a given file.
* | Add concurrently_execute functionErik Johnston2016-04-011-10/+7
| |
* | Split out RoomMemberHandlerErik Johnston2016-03-311-602/+3
| |
* | Line lengthErik Johnston2016-03-311-1/+3
| |
* | Only forget room if you were in the roomErik Johnston2016-03-301-1/+2
| |
* | Require user to have left room to forget roomErik Johnston2016-03-301-6/+16
| | | | | | | | | | This dramatically simplifies the forget API code - in particular it no longer generates a leave event.
* | Add a response cache for getting the public room listMark Haines2016-03-241-1/+11
| |
* | Ensure all old public rooms have aliasesErik Johnston2016-03-231-4/+5
| |
* | Ensure published rooms have public join rulesErik Johnston2016-03-231-0/+7
| |
* | CommentErik Johnston2016-03-231-0/+3
| |
* | Don't require alias in public room list.Erik Johnston2016-03-231-14/+13
|/ | | | | | | Rooms now no longer require an alias to be published. Also, changes the way we pull out state of each room to not require fetching all state events.
* Add config to create guest account on 3pid inviteErik Johnston2016-03-141-25/+32
| | | | | | | | | | | | | Currently, when a 3pid invite request is sent to an identity server, it includes a provisioned guest access token. This allows the link in the, say, invite email to include the guest access token ensuring that the same account is used each time the link is clicked. This flow has a number of flaws, including when using different servers or servers that have guest access disabled. For now, we keep this implementation but hide it behind a config option until a better flow is implemented.
* Send the user ID matching the guest access token, since there is no Matrix ↵David Baker2016-03-071-0/+5
| | | | API to discover what user ID an access token is for.
* Merge pull request #623 from matrix-org/rav/fix_createroom_raceRichard van der Hoff2016-03-041-1/+1
|\ | | | | Make sure we add all invited members before returning from createRoom
| * Make sure we add all invited members before returning from createRoomRichard van der Hoff2016-03-041-1/+1
| | | | | | | | add a missing yield.
* | Merge remote-tracking branch 'origin/develop' into rav/SYN-642Richard van der Hoff2016-03-031-31/+45
|\|
| * Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-031-31/+45
| | | | | | | | This will enable more detailed decisions
* | Fix typoRichard van der Hoff2016-03-031-1/+1
| |
* | Move arg default to the start of the functionRichard van der Hoff2016-03-021-2/+3
| | | | | | | | Also don't overwrite the list that gets passed in.
* | Address review commentsRichard van der Hoff2016-03-021-2/+3
| |
* | Handle rejections of invites from local users locallyRichard van der Hoff2016-03-011-5/+18
|/ | | | | Slightly hacky fix to SYN-642, which avoids the federation codepath when trying to reject invites from local users.
* Generate guest access token on 3pid invitesDaniel Wagner-Hall2016-02-241-0/+8
| | | | | | | | | This means that following the same link across multiple sessions or devices can re-use the same guest account. Note that this is somewhat of an abuse vector; we can't throw up captchas on this flow, so this is a way of registering ephemeral accounts for spam, whose sign-up we don't rate limit.
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-8/+59
|
* Review commentsDaniel Wagner-Hall2016-02-181-5/+4
|
* Some cleanupDaniel Wagner-Hall2016-02-171-66/+58
| | | | | 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 contextDaniel Wagner-Hall2016-02-171-40/+12
| | | | | | | 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 doDaniel Wagner-Hall2016-02-161-68/+60
|
* Some cleanupDaniel Wagner-Hall2016-02-161-19/+20
|
* Tidy? up room creation event sendingDaniel Wagner-Hall2016-02-161-63/+72
|
* Merge branch 'develop' into daniel/roomcleanupincrementalDaniel Wagner-Hall2016-02-161-3/+3
|\ | | | | | | | | Conflicts: synapse/handlers/room.py
| * Simplify room creation codeDaniel Wagner-Hall2016-02-151-40/+28
| |
* | Branch off member and non member sendsDaniel Wagner-Hall2016-02-151-34/+46
| | | | | | | | Unclean, needs tidy-up, but works
* | Simplify room creation codeDaniel Wagner-Hall2016-02-151-37/+25
| |
* | Use update_membership for profile updatesDaniel Wagner-Hall2016-02-151-4/+0
| |
* | Use update_membership to kick guestsDaniel Wagner-Hall2016-02-151-2/+9
| |
* | Reuse update_membership from /joinDaniel Wagner-Hall2016-02-151-3/+9
| |
* | Inline _do_local_membership_updateDaniel Wagner-Hall2016-02-151-18/+7
| |
* | Inline _do_join as it now only has one callerDaniel Wagner-Hall2016-02-151-48/+47
| | | | | | | | | | | | Also, consistently apply rate limiting. Again, ugly, but a step in the right direction.
* | Merge implementation of /join by alias or IDDaniel Wagner-Hall2016-02-151-25/+15
| | | | | | | | | | This code is kind of rough (passing the remote servers down a long chain), but is a step towards improvement.
* | Merge some room joining codepathsDaniel Wagner-Hall2016-02-151-4/+10
|/ | | | | | 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-Hall2016-02-121-35/+9
| | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-9/+35
| | | | | | | | | | | | | 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.
* Return events in correct order for /eventsErik Johnston2016-02-111-0/+1
|
* Fix up logcontextsErik Johnston2016-02-081-2/+9
|
* PEP8Erik Johnston2016-02-031-1/+1
|
* Remove unused methodErik Johnston2016-02-031-8/+0
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-02-031-3/+8
|\ | | | | | | erikj/public_room_fix
| * Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-1/+1
| |
| * s/get_room_changes_for_user/get_membership_changes_for_user/Erik Johnston2016-02-021-1/+1
| |
| * WARN if we get a topo token instead of stream.Erik Johnston2016-02-021-1/+6
| |
* | Change the way we do public room list fetchingErik Johnston2016-02-021-23/+63
|/
* Order things correctlyErik Johnston2016-02-011-1/+1
|
* Switch over /events to use per room cachesErik Johnston2016-02-011-5/+20
|
* Allow non-guests to peek on rooms using /eventsDaniel Wagner-Hall2016-01-201-1/+1
|
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-2/+53
|
* Remove unused parametersDaniel Wagner-Hall2016-01-151-11/+5
|