This repository was archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Implement knock feature #6739
Merged
Merged
Implement knock feature #6739
Changes from all commits
Commits
Show all changes
129 commits
Select commit
Hold shift + click to select a range
079e995
Add new experimental room version for knocking
anoadragon453 f1f5fa7
Add `xyz.amorgan.knock` /versions string
anoadragon453 b81617e
Update the event auth rules for knocking
anoadragon453 25a341d
Add CS /_matrix/client/r0/knock/{roomIdOrAlias} endpoint
anoadragon453 66e263b
Add room_knock_state_types config option
anoadragon453 50998c7
Federation: make_knock and send_knock implementations
anoadragon453 eea7db9
Send stripped state events back to the knocking homeserver
anoadragon453 41f5490
Extend sync to inform clients about the progress of their knocks
anoadragon453 8e443dd
Auto-add displaynames to knock events if they're missing
anoadragon453 082f04b
Add some handy db methods for knocking
anoadragon453 e46ceb1
Implement locally rescinding a federated knock
anoadragon453 56cde8b
Add knock membership events to stats generation
anoadragon453 8e0ac8c
Changelog
anoadragon453 392b315
Update changelog to include link to MSC
anoadragon453 665e863
Update documentation comment for config option room_invite_state_types
anoadragon453 f08a20b
Move default_room_state_types to a module-level constant
anoadragon453 f8fa8fa
Explain and rename is_invite
anoadragon453 aa66525
Add docstrings to FederationServer knock methods
anoadragon453 d4960c8
context -> room_id
anoadragon453 51f6c5d
Remove old TODO
anoadragon453 98f96ec
Abstract method _remote_knock -> remote_knock
anoadragon453 9560d0a
Use get_domain_from_id instead of manually parsing
anoadragon453 e427bd2
Add some missing documented return types
anoadragon453 8cec504
Apply suggestions from code review
anoadragon453 162677b
Fix locally rescinding knocks on worker setups
anoadragon453 4b36862
Fix tense on newly_joined_or_invited_or_knocking_users
anoadragon453 ebc683a
Inline TransactionRestServlet
anoadragon453 a630222
lint
anoadragon453 a34be45
Create and user parse_list_from_args, add docstring and types to pars…
anoadragon453 9090465
Remove knock unstable_features
anoadragon453 ad929c3
Optimise retrieving previous invite or knock event during membership …
anoadragon453 42ecc28
Modify knock join_rules and membership states to use unstable prefix
anoadragon453 7f65f01
Update endpoint to use unstable prefix
anoadragon453 a49cd83
Update synapse/http/servlet.py
anoadragon453 c097c52
Apply suggestions from code review
anoadragon453 9337536
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 ab934b4
Fix FederationV2SendKnockServlet naming
anoadragon453 16da425
Remove config option room_knock_state_types
anoadragon453 acdfd4b
Update send_knock federation endpoint to v2
anoadragon453 afe242c
Remove event = pdu silliness
anoadragon453 7f3c188
Correct invite.membership == Membership.KNOCK typo
anoadragon453 5d3365e
Fix feturn value of RoomMemberWorkerHandler.remote_knock
anoadragon453 72d16b0
Add Matrix.org Foundation copyright to synapse/handlers/stats.py
anoadragon453 3fb055c
Remove unnecessary arguments from knocking _serialize_payload functions
anoadragon453 13b8e4a
Use unstable prefix on fed endpoints, fix send_knock v2 path
anoadragon453 8e43e63
Change CS and Federation endpoints to use unstable prefixes
anoadragon453 8604861
Speed up remote invite rejection database call (#8815)
anoadragon453 280eed3
Use get_local_current_membership_for_user_in_room for knock code
anoadragon453 d2cec48
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 50354ef
Prevent repeated knocks on a room
anoadragon453 7c09796
Revert "Remove unnecessary arguments from knocking _serialize_payload…
anoadragon453 510da34
Prevent invite->knock membership changes
anoadragon453 d73ea0c
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 c1f4b62
Make sure we actually include stripped room state for knocking users
anoadragon453 338861f
/unstable/*_xyz.amorgan.knock/ -> /unstable/xyz.amorgan.knock/*
anoadragon453 0c4bdb0
Prevent modification of the unsigned dict where we store knock room s…
anoadragon453 d394eb9
Provide reasoning for appending the knock to knock_state
anoadragon453 0f62e2d
Allow specifying room version in RestHelper.create_room_as. Add typing
anoadragon453 60466b8
make sure to include stripped state events for local knocks as well!
anoadragon453 aaa6c88
Add unit tests for knocking
anoadragon453 fa66189
Use an OrderedDict for knock room state
anoadragon453 220ec91
AssertEquals calls AssertDictEqual when acting on dicts
anoadragon453 328a274
Use an assertIn instead of raising an Exception
anoadragon453 06aa174
Remove unnecessary parameter
anoadragon453 8dcc9f8
Add tests for federated stripped room state. test only some room stat…
anoadragon453 51db6d3
Add license to test_knocking.py
anoadragon453 48bd084
Apply suggestions from code review
anoadragon453 65c0478
Explain the purpose behind each step in 'prepare'
anoadragon453 0353288
Replace hardcoded join rule with constant
anoadragon453 c9a5eb7
Replace instances of KNOCK_UNSTABLE_IDENTIFIER being used for members…
anoadragon453 a718381
Use a mixin instead of passing 'self' in to static methods
anoadragon453 fb90611
Move KnockingStrippedStateEventHelperMixin to the top of test_knocking
anoadragon453 c074132
Remove unnecessary check for excess knock state, and remove top-level…
anoadragon453 e1ddbe2
Extract values from dictionary in py3.5-friendly manner
anoadragon453 4047067
Add config option to enable experimental knocking support
anoadragon453 fbcf963
Only support knocking room version if knocking is enabled
anoadragon453 abff213
Add config flag to tests
anoadragon453 5362b49
Remove unnecessary homeserver setup steps
anoadragon453 671ed9b
Merge branch 'develop' of github.com:matrix-org/synapse into HEAD
anoadragon453 69a820e
Fix calls to make_request in knocking tests
anoadragon453 6bdf465
Fix FederationKnockingTestCase so that it no longer overrides event_a…
anoadragon453 8b4ca64
Merge branch 'develop' of github.com:matrix-org/synapse into soru/kno…
anoadragon453 604a4f9
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 3dffb77
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 785c7d0
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 8cf92f6
Merge branch 'develop' of github.com:matrix-org/synapse into HEAD
anoadragon453 5c220df
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 91802c2
Update config for enabling msc2403 to use experimental config section…
anoadragon453 474a38b
Send a ver query parameter for make_knock
anoadragon453 c34de4c
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 09e444e
Lint with black==20.8b1
anoadragon453 1475f2b
Decode room version query parameters
anoadragon453 4250f50
Use parse_list_from_args instead of manually parsing
anoadragon453 c05b150
Update knocking test to send ver query parameter
anoadragon453 b055a30
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 44b5026
Allow knock->knock transitions
anoadragon453 5c6aee7
Copyrig**n**t -> Copyright
anoadragon453 d778460
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 37a674d
Some fixes off the back of the merge
anoadragon453 6c72538
Standardise room version variable names
anoadragon453 024230c
Use room_prejoin_state types
anoadragon453 e7f250a
update schema version of table migration
anoadragon453 e23cdf7
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 44ce919
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 c838fd4
Add m.room.create as an expected event type to stripped state
anoadragon453 cfccaf4
Persist incoming knock event in addition to computing its context
anoadragon453 98367ba
Fix test after do_auth function rename
anoadragon453 ebcdd0d
Apply suggestions from code review
anoadragon453 662fe98
Apply suggestions from code review
anoadragon453 7932671
send_knock_v2 -> v1
anoadragon453 5d27f53
fix type hint
anoadragon453 4d1462f
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 56d84e5
Fix type hints on request.args
anoadragon453 2fa4274
Remove room_stats_historical database alteration
anoadragon453 3d1b132
Merge branch 'develop' of github.com:matrix-org/synapse into soru/knock
anoadragon453 8f24db5
check_sigs_and_hashes -> check_sigs_and_hash
anoadragon453 01457e6
lint
anoadragon453 1576f23
Restrict event_auth knock checks to room versions that support knocking
anoadragon453 813fc24
Generalise message for incompatible room version over federation
anoadragon453 bea438e
Room version checks for knocking-related actions
anoadragon453 277e952
Consolidate copyright headers
anoadragon453 2f73e32
Guard another check behind experimental knocking config option
anoadragon453 1db05ad
Remove try/except on KeyError for query parameter parsing
anoadragon453 9c034ef
Remove unnecessary coding: utf-8 lines
anoadragon453 a2bd345
lint
anoadragon453 0294248
Add knocked_members column back to room_stats_historical
anoadragon453 c5788b8
Nuke remaining coding: utf-8 line
anoadragon453 15c23c4
Ensure we check that we currently support the desired room version du…
anoadragon453 da85886
Don't accidentally use a RoomVersion object where we want a str
anoadragon453 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Implement "room knocking" as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403). Contributed by Sorunome and anoa. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.