summary refs log tree commit diff
path: root/synapse/rest/client/v1/room.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix /joined_members to work with AS usersErik Johnston2017-09-281-2/+1
|
* Fix bug where /joined_members didn't check user was in roomErik Johnston2017-09-271-10/+7
|
* Add more granular event send metricsErik Johnston2017-05-021-0/+1
|
* Reduce size of joined_user cacheErik Johnston2017-04-251-1/+7
| | | | | | | | The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size.
* Don't recreate so many setsErik Johnston2017-03-161-2/+1
|
* Remove unused paramErik Johnston2017-02-201-1/+0
|
* Make kick & ban reasons workDavid Baker2017-02-141-0/+5
| | | | | | We somehow specced APIs with reason strings, preserve the content in the events and even have the clients display them, but failed to actually pass the parameter through to the event content.
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-091-11/+17
|
* Merge pull request #1676 from matrix-org/erikj/room_listErik Johnston2016-12-121-1/+18
|\ | | | | Add new API appservice specific public room list
| * Add new API appservice specific public room listErik Johnston2016-12-061-1/+18
| |
* | Add /room/<room_id>/joined_members APIErik Johnston2016-12-081-0/+19
| | | | | | | | | | | | This returns the currently joined members in the room with their display names and avatar urls. This is more efficient than /members for large rooms where you don't need the full events.
* | Add joined_rooms servletErik Johnston2016-12-081-0/+17
|/
* Move .observe() up to the cache to make things neaterKegan Dougal2016-11-141-24/+6
|
* Review commentsKegan Dougal2016-11-111-70/+27
|
* More flake8Kegan Dougal2016-11-111-1/+3
|
* Flake8 and fix whoopsieKegan Dougal2016-11-111-4/+8
|
* Use ObservableDeferreds instead of Deferreds as they behave as intendedKegan Dougal2016-11-111-19/+20
|
* Flake8Kegan Dougal2016-11-101-3/+3
|
* Store Promise<Response> instead of Response for HTTP API transactionsKegan Dougal2016-11-101-43/+39
| | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests.
* Time out typing over federationErik Johnston2016-09-231-1/+4
|
* Support /initialSync in synchrotron workerErik Johnston2016-09-211-2/+2
|
* Enable guest access to POST /publicRoomsErik Johnston2016-09-171-2/+2
|
* Make POST /publicRooms require authErik Johnston2016-09-161-2/+1
|
* Change the way we calculate new_limit in /publicRooms and add POST APIErik Johnston2016-09-151-0/+29
|
* Remove default public rooms limitErik Johnston2016-09-151-1/+1
|
* By default limit /publicRooms to 100 entriesErik Johnston2016-09-151-1/+1
|
* Pass since/from parameters over federationErik Johnston2016-09-151-3/+3
|
* Allow paginating both forwards and backwardsErik Johnston2016-09-151-3/+15
|
* Remove support for aggregate room listsErik Johnston2016-09-151-1/+1
|
* Filter returned events for client-facing formatPaul "LeoNerd" Evans2016-09-091-2/+3
|
* Allow clients to specify the format a room state event is returned inPaul "LeoNerd" Evans2016-09-091-1/+7
|
* Use parse_stringErik Johnston2016-09-081-2/+2
|
* Add server param to /publicRoomsErik Johnston2016-09-081-5/+16
|
* Pass through user-supplied content in /join/$room_idKegan Dougal2016-08-231-0/+1
| | | | | | | It was always intended to allow custom keys on the join event, but this has at some point been lost. Restore it. If the user specifies keys like "avatar_url" then they will be clobbered.
* Dont invoke get_handlers fromClientV1RestServletErik Johnston2016-08-121-0/+48
| | | | | | hs.get_handlers() can not be invoked from split out processes. Moving the invocations down a level means that we can slowly split out individual servlets.
* Add filter param to /messages APIErik Johnston2016-07-141-1/+10
|
* Don't make rooms visibile by defaultErik Johnston2016-06-081-2/+0
|
* Log user that is making /publicRooms callsErik Johnston2016-06-081-0/+7
|
* Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-1/+2
|
* Split out the room list handlerDavid Baker2016-05-311-1/+1
| | | | So I can use it from federation bits without pulling in all the handlers.
* Allow clients to specify a server_name to avoid 'No known servers'Kegan Dougal2016-05-191-1/+4
| | | | Multiple server_names are supported via ?server_name=foo&server_name=bar
* Move typing handler out of the Handlers objectMark Haines2016-05-171-4/+3
|
* Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
|
* Remove spurious commentErik Johnston2016-03-301-1/+0
|
* Require user to have left room to forget roomErik Johnston2016-03-301-0/+38
| | | | | This dramatically simplifies the forget API code - in particular it no longer generates a leave event.
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-111-10/+4
|
* Add a parse_json_object functionMark Haines2016-03-091-18/+8
| | | | | to deduplicate all the copy+pasted _parse_json functions. Also document the parse_.* functions.
* Fix relative imports so they work in both py3 and py27Mark Haines2016-03-081-1/+1
|
* Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-031-4/+4
| | | | This will enable more detailed decisions
* Ignore invalid POST bodies when joining roomsDaniel Wagner-Hall2016-02-241-2/+12
|
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-0/+4
|
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-191-12/+6
|\ | | | | Rewrite presence for performance.
| * Initial cutErik Johnston2016-02-171-12/+6
| |
* | Merge branch 'develop' into daniel/roomcleanupincrementalDaniel Wagner-Hall2016-02-171-1/+1
|\| | | | | | | | | Conflicts: synapse/rest/client/v1/room.py
| * client/v1/room: include event_id in response to state event PUT, in ↵Patrik Oldsberg2016-02-171-2/+2
| | | | | | | | | | | | accordance with the spec Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
| |
* | Some cleanupDaniel Wagner-Hall2016-02-171-3/+3
| | | | | | | | | | 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... :(
* | Branch off member and non member sendsDaniel Wagner-Hall2016-02-151-5/+16
| | | | | | | | Unclean, needs tidy-up, but works
* | Simplify room creation codeDaniel Wagner-Hall2016-02-151-15/+3
| |
* | Reuse update_membership from /joinDaniel Wagner-Hall2016-02-151-16/+5
| |
* | Merge implementation of /join by alias or IDDaniel Wagner-Hall2016-02-151-37/+31
| | | | | | | | | | 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-1/+1
|/ | | | | | 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-13/+55
| | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-55/+13
| | | | | | | | | | | | | 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.
* Remove old log lineErik Johnston2016-02-031-2/+0
|
* Allow non-guests to peek on rooms using /eventsDaniel Wagner-Hall2016-01-201-4/+2
|
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-39/+12
|
* Merge branch 'release-v0.12.1' into developRichard van der Hoff2016-01-141-0/+6
|\
| * Add 'event' result to 'context' endpointRichard van der Hoff2016-01-131-0/+6
| | | | | | | | ... because the context isn't much use without the event.
* | Introduce a Requester objectDaniel Wagner-Hall2016-01-111-48/+68
| | | | | | | | | | | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up.
* | copyrightsMatthew Hodgson2016-01-071-1/+1
|/
* Missing yieldMark Haines2015-12-101-1/+1
|
* Update endpoints to reflect current specDaniel Wagner-Hall2015-12-021-27/+2
|
* Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-011-45/+45
|
* Allow users to forget roomsDaniel Wagner-Hall2015-11-171-3/+10
|
* Allow guests to /room/:room_id/{join,leave}Daniel Wagner-Hall2015-11-131-3/+14
|
* Merge pull request #360 from matrix-org/daniel/guestroominitialsyncDaniel Wagner-Hall2015-11-121-1/+2
|\ | | | | | | | | Merge pull request #360 from matrix-org/daniel/guestroominitialsync Allow guest access to room initialSync
| * Allow guest access to room initialSyncDaniel Wagner-Hall2015-11-111-1/+2
| |
* | Allow guests to access room context APIDaniel Wagner-Hall2015-11-111-2/+2
|/
* Allow guest users to join and message roomsDaniel Wagner-Hall2015-11-101-3/+10
|
* Merge pull request #356 from matrix-org/daniel/3pidyetagainDaniel Wagner-Hall2015-11-101-2/+1
|\ | | | | Get display name from identity server, not client
| * Get display name from identity server, not clientDaniel Wagner-Hall2015-11-091-2/+1
| |
* | Add a couple of unit tests for room/<x>/messagesRichard van der Hoff2015-11-091-1/+1
|/ | | | ... merely because I was trying to figure out how it worked, and couldn't.
* Merge pull request #350 from matrix-org/erikj/searchErik Johnston2015-11-051-1/+2
|\ | | | | Implement pagination, order by and groups in search
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/searchErik Johnston2015-11-051-13/+16
| |\
| * | Implement basic pagination for search resultsErik Johnston2015-11-051-1/+2
| | |
* | | Exchange 3pid invites for m.room.member invitesDaniel Wagner-Hall2015-11-051-12/+8
| |/ |/|
* | Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-051-2/+4
| | | | | | | | Squash-merge of PR #345 from daniel/anonymousevents
* | Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-041-13/+14
|/ | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* Add room context apiErik Johnston2015-10-281-0/+36
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/searchErik Johnston2015-10-161-5/+31
|\
| * Remove unnecessary class-wrappingDaniel Wagner-Hall2015-10-131-5/+6
| |
| * Move logic into handlerDaniel Wagner-Hall2015-10-131-115/+18
| |
| * Add loggingDaniel Wagner-Hall2015-10-131-2/+2
| |
| * Move event contents into third_party_layout fieldDaniel Wagner-Hall2015-10-131-1/+2
| |
| * Fix lint errorsDaniel Wagner-Hall2015-10-061-3/+4
| |
| * Implement third party identifier invitesDaniel Wagner-Hall2015-10-011-6/+126
| |
* | Keep FTS indexes up to date. Only search through rooms currently joinedErik Johnston2015-10-121-1/+1
| |
* | Add basic full text search impl.Erik Johnston2015-10-091-0/+17
|/
* Remove undocumented and unimplemented 'feedback' parameter from the ↵Mark Haines2015-09-091-2/+0
| | | | Client-Server API
* Allow users that have left the room to view the member list from the point ↵Mark Haines2015-09-091-5/+13
| | | | they left
* Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-251-17/+17
| | | | | | | | | | Removes device_id and ClientInfo device_id is never actually written, and the matrix.org DB has no non-null entries for it. Right now, it's just cluttering up code. This doesn't remove the columns from the database, because that's fiddly.
* Remove semicolon.Kegan Dougal2015-07-201-1/+1
|
* Parse the ID given to /invite|ban|kick to make sure it looks like a user ID.Kegan Dougal2015-07-201-0/+2
|
* Blunty replace json with simplejsonErik Johnston2015-02-111-1/+1
|
* Extract the id token of the token when authing users, include the token and ↵Mark Haines2015-01-281-26/+38
| | | | device_id in the internal meta data for the event along with the transaction id when sending events
* Return the device_id from get_auth_by_reqMark Haines2015-01-281-12/+12
|
* Pass the current time to serialize event, rather than passing anMark Haines2015-01-261-1/+8
| | | | | | HS and getting a clock from it and calling time_msec on the clock. Remove the serialize_event method from the HS since it is no longer needed.
* Extract the client v1 base RestServlet to a separate classMark Haines2015-01-231-14/+14
|
* Replace hs.parse_roomalias with RoomAlias.from_stringMark Haines2015-01-231-2/+2
|
* Replace hs.parse_roomid with RoomID.from_stringMark Haines2015-01-231-2/+2
|
* Replace hs.parse_userid with UserID.from_stringMark Haines2015-01-231-2/+3
|
* Move rest APIs back under the rest directoryMark Haines2015-01-221-0/+559