Remove undocumented and unimplemented 'feedback' parameter from the Client-Server API
							parent
							
								
									bc8b25eb56
								
							
						
					
					
						commit
						3c166a24c5
					
				| 
						 | 
					@ -27,16 +27,6 @@ class Membership(object):
 | 
				
			||||||
    LIST = (INVITE, JOIN, KNOCK, LEAVE, BAN)
 | 
					    LIST = (INVITE, JOIN, KNOCK, LEAVE, BAN)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Feedback(object):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    """Represents the types of feedback a user can send in response to a
 | 
					 | 
				
			||||||
    message."""
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    DELIVERED = u"delivered"
 | 
					 | 
				
			||||||
    READ = u"read"
 | 
					 | 
				
			||||||
    LIST = (DELIVERED, READ)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class PresenceState(object):
 | 
					class PresenceState(object):
 | 
				
			||||||
    """Represents the presence state of a user."""
 | 
					    """Represents the presence state of a user."""
 | 
				
			||||||
    OFFLINE = u"offline"
 | 
					    OFFLINE = u"offline"
 | 
				
			||||||
| 
						 | 
					@ -73,7 +63,6 @@ class EventTypes(object):
 | 
				
			||||||
    PowerLevels = "m.room.power_levels"
 | 
					    PowerLevels = "m.room.power_levels"
 | 
				
			||||||
    Aliases = "m.room.aliases"
 | 
					    Aliases = "m.room.aliases"
 | 
				
			||||||
    Redaction = "m.room.redaction"
 | 
					    Redaction = "m.room.redaction"
 | 
				
			||||||
    Feedback = "m.room.message.feedback"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RoomHistoryVisibility = "m.room.history_visibility"
 | 
					    RoomHistoryVisibility = "m.room.history_visibility"
 | 
				
			||||||
    CanonicalAlias = "m.room.canonical_alias"
 | 
					    CanonicalAlias = "m.room.canonical_alias"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def get_messages(self, user_id=None, room_id=None, pagin_config=None,
 | 
					    def get_messages(self, user_id=None, room_id=None, pagin_config=None,
 | 
				
			||||||
                     feedback=False, as_client_event=True):
 | 
					                     as_client_event=True):
 | 
				
			||||||
        """Get messages in a room.
 | 
					        """Get messages in a room.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Args:
 | 
					        Args:
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,6 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
            room_id (str): The room they want messages from.
 | 
					            room_id (str): The room they want messages from.
 | 
				
			||||||
            pagin_config (synapse.api.streams.PaginationConfig): The pagination
 | 
					            pagin_config (synapse.api.streams.PaginationConfig): The pagination
 | 
				
			||||||
            config rules to apply, if any.
 | 
					            config rules to apply, if any.
 | 
				
			||||||
            feedback (bool): True to get compressed feedback with the messages
 | 
					 | 
				
			||||||
            as_client_event (bool): True to get events in client-server format.
 | 
					            as_client_event (bool): True to get events in client-server format.
 | 
				
			||||||
        Returns:
 | 
					        Returns:
 | 
				
			||||||
            dict: Pagination API results
 | 
					            dict: Pagination API results
 | 
				
			||||||
| 
						 | 
					@ -264,17 +263,6 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        defer.returnValue(data)
 | 
					        defer.returnValue(data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					 | 
				
			||||||
    def get_feedback(self, event_id):
 | 
					 | 
				
			||||||
        # yield self.auth.check_joined_room(room_id, user_id)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Pull out the feedback from the db
 | 
					 | 
				
			||||||
        fb = yield self.store.get_feedback(event_id)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if fb:
 | 
					 | 
				
			||||||
            defer.returnValue(fb)
 | 
					 | 
				
			||||||
        defer.returnValue(None)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def get_state_events(self, user_id, room_id):
 | 
					    def get_state_events(self, user_id, room_id):
 | 
				
			||||||
        """Retrieve all state events for a given room. If the user is
 | 
					        """Retrieve all state events for a given room. If the user is
 | 
				
			||||||
| 
						 | 
					@ -303,8 +291,7 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def snapshot_all_rooms(self, user_id=None, pagin_config=None,
 | 
					    def snapshot_all_rooms(self, user_id=None, pagin_config=None, as_client_event=True):
 | 
				
			||||||
                           feedback=False, as_client_event=True):
 | 
					 | 
				
			||||||
        """Retrieve a snapshot of all rooms the user is invited or has joined.
 | 
					        """Retrieve a snapshot of all rooms the user is invited or has joined.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        This snapshot may include messages for all rooms where the user is
 | 
					        This snapshot may include messages for all rooms where the user is
 | 
				
			||||||
| 
						 | 
					@ -314,7 +301,6 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
            user_id (str): The ID of the user making the request.
 | 
					            user_id (str): The ID of the user making the request.
 | 
				
			||||||
            pagin_config (synapse.api.streams.PaginationConfig): The pagination
 | 
					            pagin_config (synapse.api.streams.PaginationConfig): The pagination
 | 
				
			||||||
            config used to determine how many messages *PER ROOM* to return.
 | 
					            config used to determine how many messages *PER ROOM* to return.
 | 
				
			||||||
            feedback (bool): True to get feedback along with these messages.
 | 
					 | 
				
			||||||
            as_client_event (bool): True to get events in client-server format.
 | 
					            as_client_event (bool): True to get events in client-server format.
 | 
				
			||||||
        Returns:
 | 
					        Returns:
 | 
				
			||||||
            A list of dicts with "room_id" and "membership" keys for all rooms
 | 
					            A list of dicts with "room_id" and "membership" keys for all rooms
 | 
				
			||||||
| 
						 | 
					@ -439,8 +425,7 @@ class MessageHandler(BaseHandler):
 | 
				
			||||||
        defer.returnValue(ret)
 | 
					        defer.returnValue(ret)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def room_initial_sync(self, user_id, room_id, pagin_config=None,
 | 
					    def room_initial_sync(self, user_id, room_id, pagin_config=None):
 | 
				
			||||||
                          feedback=False):
 | 
					 | 
				
			||||||
        """Capture the a snapshot of a room. If user is currently a member of
 | 
					        """Capture the a snapshot of a room. If user is currently a member of
 | 
				
			||||||
        the room this will be what is currently in the room. If the user left
 | 
					        the room this will be what is currently in the room. If the user left
 | 
				
			||||||
        the room this will be what was in the room when they left.
 | 
					        the room this will be what was in the room when they left.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -610,7 +610,6 @@ class RoomEventSource(object):
 | 
				
			||||||
            to_key=config.to_key,
 | 
					            to_key=config.to_key,
 | 
				
			||||||
            direction=config.direction,
 | 
					            direction=config.direction,
 | 
				
			||||||
            limit=config.limit,
 | 
					            limit=config.limit,
 | 
				
			||||||
            with_feedback=True
 | 
					 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        defer.returnValue((events, next_key))
 | 
					        defer.returnValue((events, next_key))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,14 +26,12 @@ class InitialSyncRestServlet(ClientV1RestServlet):
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def on_GET(self, request):
 | 
					    def on_GET(self, request):
 | 
				
			||||||
        user, _ = yield self.auth.get_user_by_req(request)
 | 
					        user, _ = yield self.auth.get_user_by_req(request)
 | 
				
			||||||
        with_feedback = "feedback" in request.args
 | 
					 | 
				
			||||||
        as_client_event = "raw" not in request.args
 | 
					        as_client_event = "raw" not in request.args
 | 
				
			||||||
        pagination_config = PaginationConfig.from_request(request)
 | 
					        pagination_config = PaginationConfig.from_request(request)
 | 
				
			||||||
        handler = self.handlers.message_handler
 | 
					        handler = self.handlers.message_handler
 | 
				
			||||||
        content = yield handler.snapshot_all_rooms(
 | 
					        content = yield handler.snapshot_all_rooms(
 | 
				
			||||||
            user_id=user.to_string(),
 | 
					            user_id=user.to_string(),
 | 
				
			||||||
            pagin_config=pagination_config,
 | 
					            pagin_config=pagination_config,
 | 
				
			||||||
            feedback=with_feedback,
 | 
					 | 
				
			||||||
            as_client_event=as_client_event
 | 
					            as_client_event=as_client_event
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -329,14 +329,12 @@ class RoomMessageListRestServlet(ClientV1RestServlet):
 | 
				
			||||||
        pagination_config = PaginationConfig.from_request(
 | 
					        pagination_config = PaginationConfig.from_request(
 | 
				
			||||||
            request, default_limit=10,
 | 
					            request, default_limit=10,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        with_feedback = "feedback" in request.args
 | 
					 | 
				
			||||||
        as_client_event = "raw" not in request.args
 | 
					        as_client_event = "raw" not in request.args
 | 
				
			||||||
        handler = self.handlers.message_handler
 | 
					        handler = self.handlers.message_handler
 | 
				
			||||||
        msgs = yield handler.get_messages(
 | 
					        msgs = yield handler.get_messages(
 | 
				
			||||||
            room_id=room_id,
 | 
					            room_id=room_id,
 | 
				
			||||||
            user_id=user.to_string(),
 | 
					            user_id=user.to_string(),
 | 
				
			||||||
            pagin_config=pagination_config,
 | 
					            pagin_config=pagination_config,
 | 
				
			||||||
            feedback=with_feedback,
 | 
					 | 
				
			||||||
            as_client_event=as_client_event
 | 
					            as_client_event=as_client_event
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -159,9 +159,7 @@ class StreamStore(SQLBaseStore):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @log_function
 | 
					    @log_function
 | 
				
			||||||
    def get_room_events_stream(self, user_id, from_key, to_key, room_id,
 | 
					    def get_room_events_stream(self, user_id, from_key, to_key, room_id,
 | 
				
			||||||
                               limit=0, with_feedback=False):
 | 
					                               limit=0):
 | 
				
			||||||
        # TODO (erikj): Handle compressed feedback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        current_room_membership_sql = (
 | 
					        current_room_membership_sql = (
 | 
				
			||||||
            "SELECT m.room_id FROM room_memberships as m "
 | 
					            "SELECT m.room_id FROM room_memberships as m "
 | 
				
			||||||
            " INNER JOIN current_state_events as c"
 | 
					            " INNER JOIN current_state_events as c"
 | 
				
			||||||
| 
						 | 
					@ -227,10 +225,7 @@ class StreamStore(SQLBaseStore):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @defer.inlineCallbacks
 | 
					    @defer.inlineCallbacks
 | 
				
			||||||
    def paginate_room_events(self, room_id, from_key, to_key=None,
 | 
					    def paginate_room_events(self, room_id, from_key, to_key=None,
 | 
				
			||||||
                             direction='b', limit=-1,
 | 
					                             direction='b', limit=-1):
 | 
				
			||||||
                             with_feedback=False):
 | 
					 | 
				
			||||||
        # TODO (erikj): Handle compressed feedback
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Tokens really represent positions between elements, but we use
 | 
					        # Tokens really represent positions between elements, but we use
 | 
				
			||||||
        # the convention of pointing to the event before the gap. Hence
 | 
					        # the convention of pointing to the event before the gap. Hence
 | 
				
			||||||
        # we have a bit of asymmetry when it comes to equalities.
 | 
					        # we have a bit of asymmetry when it comes to equalities.
 | 
				
			||||||
| 
						 | 
					@ -302,7 +297,6 @@ class StreamStore(SQLBaseStore):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @cachedInlineCallbacks(num_args=4)
 | 
					    @cachedInlineCallbacks(num_args=4)
 | 
				
			||||||
    def get_recent_events_for_room(self, room_id, limit, end_token, from_token=None):
 | 
					    def get_recent_events_for_room(self, room_id, limit, end_token, from_token=None):
 | 
				
			||||||
        # TODO (erikj): Handle compressed feedback
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        end_token = RoomStreamToken.parse_stream_token(end_token)
 | 
					        end_token = RoomStreamToken.parse_stream_token(end_token)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue