Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
26634cb
Add shared_rooms api
Half-Shot Jul 5, 2020
0f6800f
Add changelog
Half-Shot Jul 5, 2020
984c52b
Add .
Half-Shot Jul 5, 2020
f43bf0c
Wrap response in {"rooms": }
Half-Shot Jul 5, 2020
9c1e934
linting
Half-Shot Jul 5, 2020
208d3cf
Add unstable_features key
Half-Shot Jul 5, 2020
90a5975
Remove options from isort that aren't part of 5.x
Half-Shot Jul 5, 2020
3fa92f5
Update imports to make isort happy
Half-Shot Jul 5, 2020
6bd34c7
Add changelog
Half-Shot Jul 5, 2020
09e09a3
Update tox.ini file with correct invocation
Half-Shot Jul 5, 2020
c143e62
Merge branch 'hs/isort-5' into hs/shared-with-api
Half-Shot Jul 5, 2020
676edea
fix linting again for isort
Half-Shot Jul 5, 2020
c399292
Merge remote-tracking branch 'origin/develop' into hs/shared-with-api
Half-Shot Jul 5, 2020
dde46cf
Vendor prefix unstable API
Half-Shot Jul 10, 2020
256e017
Fix to match spec
Half-Shot Jul 31, 2020
9cd5116
import Codes
Half-Shot Jul 31, 2020
72e90a2
import Codes
Half-Shot Jul 31, 2020
ebfe6c4
Merge branch 'hs/shared-with-api' of github.com:matrix-org/synapse in…
Half-Shot Aug 2, 2020
a281322
Merge remote-tracking branch 'origin/develop' into hs/shared-with-api
Half-Shot Aug 2, 2020
ce49d19
Use FORBIDDEN
Half-Shot Aug 18, 2020
42a09b9
Update changelog.d/7785.feature
Half-Shot Aug 18, 2020
cc4fb16
Merge remote-tracking branch 'origin/develop' into hs/shared-with-api
Half-Shot Aug 18, 2020
7905978
Implement get_shared_rooms_for_users
Half-Shot Aug 18, 2020
130d2f3
a comma
Half-Shot Aug 18, 2020
c120fd3
trailing whitespace
Half-Shot Aug 19, 2020
e135cd5
Handle the easy feedback
Half-Shot Aug 28, 2020
e785cc6
Switch to using runInteraction
Half-Shot Aug 28, 2020
8a4c5ab
Add tests
Half-Shot Aug 28, 2020
49f14c0
Merge remote-tracking branch 'origin/develop' into hs/shared-with-api
Half-Shot Aug 28, 2020
e86f406
Feedback
Half-Shot Aug 29, 2020
7554836
Seperate unstable endpoint from v2
Half-Shot Aug 29, 2020
1fa8b84
Add upgrade node
Half-Shot Aug 29, 2020
783f8f5
a line
Half-Shot Aug 29, 2020
a444ab0
Fix style by adding a blank line at EOF.
clokep Aug 31, 2020
837cf31
Update synapse/storage/databases/main/user_directory.py
Half-Shot Aug 31, 2020
023e21f
Merge remote-tracking branch 'origin/develop' into hs/shared-with-api
Half-Shot Sep 1, 2020
679810a
Update synapse/storage/databases/main/user_directory.py
Half-Shot Sep 2, 2020
0578bb9
Update UPGRADE.rst
Half-Shot Sep 2, 2020
5acf573
Merge branch 'develop' into hs/shared-with-api
Half-Shot Sep 2, 2020
078b3e3
Fix UPGRADE/CHANGELOG unstable paths
Half-Shot Sep 2, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions UPGRADE.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
Upgrading to v1.20.0
====================

Shared rooms endpoint (MSC2666)
------------------------------

This release contains a new unstable endpoint `/_matrix/client/uk.half-shot.msc2666/user/shared_rooms/.*`
for fetching rooms one user has in common with another. This feature requires the
`update_user_directory` config flag to be `True`. If you are you are using a `synapse.app.user_dir`
worker, requests to this endpoint must be handled by that worker.
See `docs/workers.md <docs/workers.md>`_ for more details.


Upgrading Synapse
=================

Expand Down
4 changes: 3 additions & 1 deletion synapse/rest/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ def register_servlets(client_resource, hs):
devices.register_servlets(hs, client_resource)
thirdparty.register_servlets(hs, client_resource)
sendtodevice.register_servlets(hs, client_resource)
shared_rooms.register_servlets(hs, client_resource)
user_directory.register_servlets(hs, client_resource)
groups.register_servlets(hs, client_resource)
room_upgrade_rest_servlet.register_servlets(hs, client_resource)
Expand All @@ -127,3 +126,6 @@ def register_servlets(client_resource, hs):
synapse.rest.admin.register_servlets_for_client_rest_resource(
hs, client_resource
)

# unstable
shared_rooms.register_servlets(hs, client_resource)
2 changes: 1 addition & 1 deletion synapse/storage/databases/main/user_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import logging
import re
from typing import Any, Dict, Optional
from typing import Any, Dict, Optional, Set

from synapse.api.constants import EventTypes, JoinRules
from synapse.storage.database import DatabasePool
Expand Down
10 changes: 3 additions & 7 deletions tests/rest/client/v2_alpha/test_shared_rooms.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2018 New Vector
# Copyright 2020 Half-Shot
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,6 @@ def prepare(self, reactor, clock, hs):
self.handler = hs.get_user_directory_handler()

def _get_shared_rooms(self, token, other_user):
# Assert user directory is not empty
request, channel = self.make_request(
"GET",
"/_matrix/client/unstable/uk.half-shot.msc2666/user/shared_rooms/%s"
Expand All @@ -66,7 +65,6 @@ def test_shared_room_list_public(self):
self.helper.invite(room, src=u1, targ=u2, tok=u1_token)
self.helper.join(room, user=u2, tok=u2_token)

# Assert user directory is not empty
request, channel = self._get_shared_rooms(u1_token, u2)
self.assertEquals(200, channel.code, channel.result)
self.assertEquals(len(channel.json_body["joined"]), 1)
Expand All @@ -86,7 +84,6 @@ def test_shared_room_list_private(self):
self.helper.invite(room, src=u1, targ=u2, tok=u1_token)
self.helper.join(room, user=u2, tok=u2_token)

# Assert user directory is not empty
request, channel = self._get_shared_rooms(u1_token, u2)
self.assertEquals(200, channel.code, channel.result)
self.assertEquals(len(channel.json_body["joined"]), 1)
Expand All @@ -102,14 +99,13 @@ def test_shared_room_list_mixed(self):
u2 = self.register_user("user2", "pass")
u2_token = self.login(u2, "pass")

room_public = self.helper.create_room_as(u1, is_public=False, tok=u1_token)
room_private = self.helper.create_room_as(u2, is_public=True, tok=u2_token)
room_public = self.helper.create_room_as(u1, is_public=True, tok=u1_token)
room_private = self.helper.create_room_as(u2, is_public=False, tok=u2_token)
self.helper.invite(room_public, src=u1, targ=u2, tok=u1_token)
self.helper.invite(room_private, src=u2, targ=u1, tok=u2_token)
self.helper.join(room_public, user=u2, tok=u2_token)
self.helper.join(room_private, user=u1, tok=u1_token)

# Assert user directory is not empty
request, channel = self._get_shared_rooms(u1_token, u2)
self.assertEquals(200, channel.code, channel.result)
self.assertEquals(len(channel.json_body["joined"]), 2)
Expand Down