summary refs log tree commit diff
path: root/synapse/rest/client (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Move v1-only APIs into their own module & isolate deprecated ones (#3460)Amber Brown2018-07-194-4/+50
|
* Refactor REST API tests to use explicit reactors (#3351)Amber Brown2018-07-171-1/+1
|
* check isort by travisKrombel2018-07-163-4/+4
|
* Fix develop because I broke it :( (#3535)Amber Brown2018-07-141-2/+2
|
* Merge pull request #3534 from krombel/use_parse_and_asserts_from_servletAmber Brown2018-07-1411-133/+82
|\ | | | | Use parse and asserts from http.servlet
| * fix sytestsAmber Brown2018-07-141-1/+1
| |
| * add changelogKrombel2018-07-131-1/+1
| |
| * rename assert_params_in_request to assert_params_in_dictKrombel2018-07-139-30/+30
| | | | | | | | | | | | the method "assert_params_in_request" does handle dicts and not requests. A request body has to be parsed to json before this method can be used
| * Use parse_{int,str} and assert from http.servletKrombel2018-07-1310-126/+75
| | | | | | | | | | | | | | parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable
* | Make auth & transactions more testable (#3499)Amber Brown2018-07-147-35/+31
|/
* Merge branch 'develop' into rav/enforce_report_apiRichard van der Hoff2018-07-1233-187/+207
|\
| * run isortAmber Brown2018-07-0932-156/+164
| |
| * Attempt to be more performant on PyPy (#3462)Amber Brown2018-06-283-3/+4
| |
| * update doc for deactivate APIMatthew Hodgson2018-06-261-1/+1
| |
| * add GDPR erase param to deactivate APIMatthew Hodgson2018-06-261-1/+12
| |
| * Revert "Revert "Merge pull request #3431 from ↵Erik Johnston2018-06-252-3/+14
| | | | | | | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
| * Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility"Richard van der Hoff2018-06-222-14/+3
| | | | | | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
| * Merge pull request #3431 from matrix-org/rav/erasure_visibilityErik Johnston2018-06-222-3/+14
| |\ | | | | | | Support hiding events from deleted users
| | * mark accounts as erased when requestedRichard van der Hoff2018-06-122-3/+14
| | |
| * | Remove run_on_reactor (#3395)Amber Brown2018-06-143-17/+0
| |/
| * Merge pull request #3276 from matrix-org/dbkr/unbindDavid Baker2018-06-111-3/+10
| |\ | | | | | | Remove email addresses / phone numbers from ID servers when they're removed from synapse
| | * Merge remote-tracking branch 'origin/develop' into dbkr/unbindDavid Baker2018-05-241-3/+5
| | |\
| | * | pep8David Baker2018-05-241-1/+1
| | | |
| | * | Unbind 3pids when they're deleted tooDavid Baker2018-05-241-3/+10
| | | |
| * | | fix logRichard van der Hoff2018-06-071-1/+1
| | | |
| * | | Fix event-purge-by-ts admin APIRichard van der Hoff2018-06-071-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | This got completely broken in 0.30. Fixes #3300.
| * | | 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)
* / | Enforce the specified API for report_eventRichard van der Hoff2018-05-311-2/+23
|/ / | | | | | | | | as per https://matrix.org/docs/spec/client_server/unstable.html#post-matrix-client-r0-rooms-roomid-report-eventid
* | Merge pull request #3243 from NotAFile/py3-six-3Erik Johnston2018-05-241-3/+5
|\ \ | |/ |/| Replace some more comparisons with six
| * Replace some more comparisons with sixAdrian Tschira2018-05-191-3/+5
| | | | | | | | | | | | plus a bonus b"" string I missed last time Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Stub out ServerNoticesSender on the workersRichard van der Hoff2018-05-221-0/+4
| | | | | | | | | | ... and have the sync endpoints call it directly rather than obsure indirection via PresenceHandler
* | Fix logcontext leak in HttpTransactionCacheRichard van der Hoff2018-05-211-25/+21
| | | | | | | | ONE DAY I WILL PURGE THE WORLD OF THIS EVIL
* | Stop the transaction cache caching failuresRichard van der Hoff2018-05-211-9/+13
|/ | | | | | The transaction cache has some code which tries to stop it caching failures, but if the callback function failed straight away, then things would happen backwards and we'd end up with the failure stuck in the cache.
* Merge pull request #3221 from matrix-org/erikj/purge_tokenErik Johnston2018-05-181-7/+10
|\ | | | | Make purge_history operate on tokens
| * Make purge_history operate on tokensErik Johnston2018-05-151-7/+10
| | | | | | | | As we're soon going to change how topological_ordering works
* | Move RoomCreationHandler out of synapse.handlers.HandlersRichard van der Hoff2018-05-172-5/+4
|/ | | | | | | 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.
* Set Server header in SynapseRequestRichard van der Hoff2018-05-102-3/+0
| | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really.
* notifications: Convert next_token to string according to the specKonstantinos Sideris2018-05-051-1/+1
| | | | | | Currently the parameter is serialized as an integer. Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com>
* Burminate v1authAdrian Tschira2018-04-302-2/+6
| | | | | | | | | | | | | | | | | | This closes #2602 v1auth was created to account for the differences in status code between the v1 and v2_alpha revisions of the protocol (401 vs 403 for invalid tokens). However since those protocols were merged, this makes the r0 version/endpoint internally inconsistent, and violates the specification for the r0 endpoint. This might break clients that rely on this inconsistency with the specification. This is said to affect the legacy angular reference client. However, I feel that restoring parity with the spec is more important. Either way, it is critical to inform developers about this change, in case they rely on the illegal behaviour. Signed-off-by: Adrian Tschira <nota@notafile.com>
* add guard for None on purge_history apiKrombel2018-04-301-1/+14
|
* Merge pull request #3156 from NotAFile/py3-hmac-bytesRichard van der Hoff2018-04-302-11/+15
|\ | | | | Construct HMAC as bytes on py3
| * Construct HMAC as bytes on py3Adrian Tschira2018-04-292-11/+15
| | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | Use six.moves.urlparseAdrian Tschira2018-04-152-5/+6
|/ | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* Merge pull request #3079 from matrix-org/erikj/limit_concurrent_sendsErik Johnston2018-04-101-6/+1
|\ | | | | Limit concurrent event sends for a room
| * Use create_and_send_nonmember_event everywhereErik Johnston2018-04-091-6/+1
| |
* | Merge pull request #2996 from krombel/allow_auto_join_roomsRichard van der Hoff2018-04-101-32/+0
|\ \ | | | | | | move handling of auto_join_rooms to RegisterHandler
| * \ Merge branch 'develop' of into allow_auto_join_roomsKrombel2018-03-282-2/+2
| |\ \
| * | | move handling of auto_join_rooms to RegisterHandlerKrombel2018-03-141-32/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the handling of auto_join_rooms only works when a user registers itself via public register api. Registrations via registration_shared_secret and ModuleApi do not work This auto_joins the users in the registration handler which enables the auto join feature for all 3 registration paths. This is related to issue #2725 Signed-Off-by: Matthias Kesler <krombel@krombel.de>
* | | | Merge pull request #3061 from NotAFile/add-some-byte-stringsRichard van der Hoff2018-04-091-2/+2
|\ \ \ \ | | | | | | | | | | Add b prefixes to some strings that are bytes in py3
| * | | | Add b prefixes to some strings that are bytes in py3Adrian Tschira2018-04-041-2/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | Merge pull request #2938 from dklug/developRichard van der Hoff2018-04-091-1/+4
|\ \ \ \ | |_|_|/ |/| | | Return 401 for invalid access_token on logout
| * | | Return 401 for invalid access_token on logoutdklug2018-03-021-1/+4
| | | | | | | | | | | | | | | | Signed-off-by: Duncan Klug <dklug@ucmerced.edu>
* | | | Merge pull request #2986 from jplatte/join_reponse_room_idRichard van der Hoff2018-04-051-1/+6
|\ \ \ \ | | | | | | | | | | Add room_id to the response of `rooms/{roomId}/join`
| * | | | Add room_id to the response of `rooms/{roomId}/join`Jonas Platte2018-03-131-1/+6
| | |_|/ | |/| | | | | | | | | | Fixes #2349
* | | | Use "/settings/" (plural)Luke Barnard2018-04-051-1/+1
| | | |
* | | | Use join_policy API instead of joinableLuke Barnard2018-04-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open".
* | | | This should probably be a PUTDavid Baker2018-03-281-1/+1
| | | |
* | | | Add joinability for groupsDavid Baker2018-03-281-0/+28
| |_|/ |/| | | | | | | | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table.
* | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-03-191-1/+1
|\ \ \
| * | | Replace ujson with simplejsonErik Johnston2018-03-152-2/+2
| | | |
* | | | Replace some ujson with simplejson to make it workErik Johnston2018-03-161-1/+1
| |/ / |/| |
* | | RoomMembershipRestServlet doesn't handle /forgetErik Johnston2018-03-131-1/+1
| | | | | | | | | | | | | | | Due to the order we register the REST handlers `/forget` was handled by the correct handler.
* | | Add transactional API to history purgeRichard van der Hoff2018-03-121-3/+35
| | | | | | | | | | | | Make the purge request return quickly, and allow scripts to poll for updates.
* | | Provide a means to pass a timestamp to purge_historyRichard van der Hoff2018-03-051-3/+55
| |/ |/|
* | Move RoomMemberHandler out of HandlersErik Johnston2018-03-013-13/+15
| |
* | Merge pull request #2854 from matrix-org/erikj/event_create_workerErik Johnston2018-02-131-1/+0
|\ \ | | | | | | Create a worker for event creation
| * | Add event_creator workerErik Johnston2018-02-071-1/+0
| | |
* | | Fix typos in purge api & docRichard van der Hoff2018-02-131-3/+1
| | | | | | | | | | | | | | | * It's supposed to be purge_local_events, not ..._history * Fix the doc to have valid json
* | | Merge pull request #2858 from matrix-org/rav/purge_updatesRichard van der Hoff2018-02-091-1/+10
|\ \ \ | |/ / |/| | delete_local_events for purge_room_history
| * | delete_local_events for purge_historyRichard van der Hoff2018-02-091-1/+10
| | | | | | | | | | | | Add a flag which makes the purger delete local events
* | | Update copyrightErik Johnston2018-02-062-0/+2
| | |
* | | Update places where we create eventsErik Johnston2018-02-052-9/+11
| | |
* | | Merge branch 'develop' into travis/admin-list-mediaTravis Ralston2018-02-014-28/+113
|\ \ \
| * | | fix thinko on 3pid whitelistingMatthew Hodgson2018-01-241-2/+2
| | | |
| * | | add ?ts massaging for ASes (#2754)Matthew Hodgson2018-01-231-6/+11
| | | | | | | | | | | | blindly implement ?ts for AS. untested
| * | | fix typo (thanks sytest)Matthew Hodgson2018-01-191-1/+1
| | | |
| * | | oops, check all login typesMatthew Hodgson2018-01-191-14/+11
| | | |
| * | | trailing commasMatthew Hodgson2018-01-192-7/+7
| | | |
| * | | rewrite based on PR feedback:Matthew Hodgson2018-01-194-76/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ ] split config options into allowed_local_3pids and registrations_require_3pid * [ ] simplify and comment logic for picking registration flows * [ ] fix docstring and move check_3pid_allowed into a new util module * [ ] use check_3pid_allowed everywhere @erikjohnston PTAL
| * | | fix up v1, and improve errorsMatthew Hodgson2018-01-193-19/+53
| | | |
| * | | fix pep8Matthew Hodgson2018-01-191-2/+1
| | | |
| * | | add registrations_require_3pidMatthew Hodgson2018-01-193-13/+96
| |/ / | | | | | | | | | | | | lets homeservers specify a whitelist for 3PIDs that users are allowed to associate with. Typically useful for stopping people from registering with non-work emails
* / / Add an admin route to get all the media in a roomTravis Ralston2018-01-201-0/+22
|/ / | | | | | | | | This is intended to be used by administrators to monitor the media that is passing through their server, if they wish. Signed-off-by: Travis Ralston <travpc@gmail.com>
* | Add /room/{id}/event/{id} to synapseRichard van der Hoff2018-01-091-3/+26
| | | | | | | | | | | | Turns out that there is a valid usecase for retrieving event by id (notably having received a push), but event ids should be scoped to room, so /event/{id} is wrong.
* | Better logging when login can't find a 3pidRichard van der Hoff2017-12-201-4/+10
|/
* Fix error when deleting devicesRichard van der Hoff2017-12-051-1/+1
| | | | This was introduced in d7ea8c4 / PR #2728
* Factor out a validate_user_via_ui_auth methodRichard van der Hoff2017-12-052-74/+59
| | | | Collect together all the places that validate a logged-in user via UI auth.
* Refactor UI auth implementationRichard van der Hoff2017-12-054-27/+51
| | | | | Instead of returning False when auth is incomplete, throw an exception which can be caught with a wrapper.
* Delete devices in various logout situationsRichard van der Hoff2017-11-291-2/+25
| | | | | | | | | | | | | Make sure that we delete devices whenever a user is logged out due to any of the following situations: * /logout * /logout_all * change password * deactivate account (by the user or by an admin) * invalidate access token from a dynamic module Fixes #2672.
* Move set_password into its own handlerRichard van der Hoff2017-11-292-3/+4
| | | | | | Non-functional refactoring to move set_password. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop.
* Move deactivate_account into its own handlerRichard van der Hoff2017-11-292-5/+6
| | | | | | Non-functional refactoring to move deactivate_account. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop.
* Allow guest access to group APIs for readingLuke Barnard2017-11-281-11/+11
|
* Declare support for r0.3.0Richard van der Hoff2017-11-151-0/+1
|
* Remove redundent callTravis Ralston2017-11-131-2/+0
| | | Signed-off-by: Travis Ralston <travpc@gmail.com>
* Add a route for determining who you areTravis Ralston2017-11-121-0/+17
| | | | | Useful for applications which may have an access token, but no idea as to who owns it. Signed-off-by: Travis Ralston <travpc@gmail.com>
* Add some more comments appservice user registrationRichard van der Hoff2017-11-101-1/+4
| | | | Explain why we don't validate userids registered via app services
* Downcase userids for shared-secret registrationRichard van der Hoff2017-11-102-3/+21
|
* Downcase userid on registrationRichard van der Hoff2017-11-091-1/+7
| | | | | | Force username to lowercase before attempting to register https://github.com/matrix-org/synapse/issues/2660
* Register group servletErik Johnston2017-11-091-0/+1
|
* Have an explicit API to update room configErik Johnston2017-11-081-0/+27
|
* Revert "Modify group room association API to allow modification of is_public"Erik Johnston2017-11-081-2/+2
|
* support inhibit_login in /registerRichard van der Hoff2017-11-021-12/+16
| | | | Allow things to pass inhibit_login when registering to ... inhibit logins.
* Allow password_auth_providers to return a callbackRichard van der Hoff2017-11-011-1/+4
| | | | ... so that they have a way to record access tokens.
* Merge remote-tracking branch 'origin/develop' into ↵David Baker2017-11-013-6/+12
|\ | | | | | | rav/refactor_accesstoken_delete
| * Merge pull request #2615 from matrix-org/rav/break_auth_device_depDavid Baker2017-11-012-4/+0
| |\ | | | | | | Break dependency of auth_handler on device_handler
| | * Break dependency of auth_handler on device_handlerRichard van der Hoff2017-11-012-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to need to make the device_handler depend on the auth_handler, so I need to break this dependency to avoid a cycle. It turns out that the auth_handler was only using the device_handler in one place which was an edge case which we can more elegantly handle by throwing an error rather than fixing it up.
| * | Apparently this is pythonDavid Baker2017-11-011-1/+1
| | |
| * | Log login requestsDavid Baker2017-11-011-0/+10
| | | | | | | | | | | | Carefully though, to avoid logging passwords
| * | Modify group room association API to allow modification of is_publicLuke Barnard2017-10-311-2/+2
| |/ | | | | | | also includes renamings to make things more consistent.
* / Move access token deletion into auth handlerRichard van der Hoff2017-11-013-22/+10
|/ | | | | | | Also move duplicated deactivation code into the auth handler. I want to add some hooks when we deactivate an access token, so let's bring it all in here so that there's somewhere to put it.
* Refactor some logic from LoginRestServlet into AuthHandlerRichard van der Hoff2017-10-311-29/+26
| | | | | | | | | | | | | | I'm going to need some more flexibility in handling login types in password auth providers, so as a first step, move some stuff from LoginRestServlet into AuthHandler. In particular, we pass everything other than SAML, JWT and token logins down to the AuthHandler, which now has responsibility for checking the login type and fishing the password out of the login dictionary, as well as qualifying the user_id if need be. Ideally SAML, JWT and token would go that way too, but there's no real need for it right now and I'm trying to minimise impact. This commit *should* be non-functional.
* Merge pull request #2591 from matrix-org/rav/device_delete_authRichard van der Hoff2017-10-271-5/+8
|\ | | | | Device deletion: check UI auth matches access token
| * Device deletion: check UI auth matches access tokenRichard van der Hoff2017-10-271-5/+8
| | | | | | | | (otherwise there's no point in the UI auth)
* | Merge pull request #2589 from matrix-org/rav/as_deactivate_accountRichard van der Hoff2017-10-271-16/+32
|\ \ | | | | | | Allow ASes to deactivate their own users
| * | Allow ASes to deactivate their own usersRichard van der Hoff2017-10-271-16/+32
| | |
* | | Merge pull request #2582 from matrix-org/luke/group-is-publicLuke Barnard2017-10-271-40/+53
|\ \ \ | |_|/ |/| | Add is_public to groups table to allow for private groups
| * | delintLuke Barnard2017-10-261-4/+17
| | |
| * | Add is_public to groups table to allow for private groupsLuke Barnard2017-10-261-40/+40
| |/ | | | | | | | | | | Prevent group API access to non-members for private groups Also make all the group code paths consistent with `requester_user_id` always being the User ID of the requesting user.
* | add release endpoints for /thirdpartyKrombel2017-10-261-7/+4
| |
* | register some /unstable endpoints in /r0 as wellKrombel2017-10-264-20/+9
|/
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-237-10/+10
| | | | what could possibly go wrong
* Remove pointless create() methodRichard van der Hoff2017-10-202-4/+4
| | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths.
* Merge pull request #2545 from matrix-org/dbkr/auto_join_roomsDavid Baker2017-10-171-0/+34
|\ | | | | Add config option to auto-join new users to rooms
| * Add config option to auto-join new users to roomsDavid Baker2017-10-161-0/+34
| | | | | | | | | | New users who register on the server will be dumped into all rooms in auto_join_rooms in the config.
* | DelintLuke Barnard2017-10-161-0/+1
| |
* | Implement GET /groups/$groupId/invited_usersLuke Barnard2017-10-161-0/+21
|/
* Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-021-10/+6
|\
| * 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 remove room APIErik Johnston2017-09-261-0/+11
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_mergedErik Johnston2017-09-193-14/+13
|\|
| * Add left section to /keys/changesErik Johnston2017-09-081-4/+2
| |
| * Send down device list change notif when member leaves/rejoins roomErik Johnston2017-09-071-1/+2
| |
| * fix englishhera2017-08-041-7/+7
| |
| * typohera2017-08-041-1/+1
| |
| * Reduce spammy log line in synchrotronsErik Johnston2017-08-021-1/+1
| |
* | Split out profile handler to fix testsErik Johnston2017-08-251-9/+9
| |
* | FixupErik Johnston2017-08-111-0/+1
| |
* | Add bulk group publicised lookup APIErik Johnston2017-08-091-0/+54
| |
* | Allow update group publicityErik Johnston2017-08-081-0/+28
| |
* | Merge pull request #2378 from matrix-org/erikj/group_sync_supportErik Johnston2017-07-211-0/+5
|\ \ | | | | | | Add groups to sync stream
| * | Add groups to sync streamErik Johnston2017-07-201-0/+5
| | |
* | | Remove spurious content paramErik Johnston2017-07-201-1/+1
| | |
* | | Add update group profile APIErik Johnston2017-07-201-0/+12
|/ /
* | CommentsErik Johnston2017-07-181-1/+3
| |
* | CommentsErik Johnston2017-07-181-103/+48
| |
* | Add local group server supportErik Johnston2017-07-171-0/+642
|/
* split out reducing stuff; just make encode_* staticKrombel2017-07-111-35/+27
|
* fix testKrombel2017-07-101-1/+3
|
* encode sync-response statically; omit empty objects from sync-responseKrombel2017-07-101-33/+48
|
* Fix bug where pusherpool didn't start and broke some roomsErik Johnston2017-07-061-8/+6
| | | | | | | | Since we didn't instansiate the PusherPool at start time it could fail at run time, which it did for some users. This may or may not fix things for those users, but it should happen at start time and stop the server from starting.
* Add API to quarantine mediaErik Johnston2017-06-191-0/+25
|
* Remove unused importErik Johnston2017-06-191-1/+1
|
* Change to create new room and join other usersErik Johnston2017-06-191-6/+53
|
* Forget roomErik Johnston2017-06-191-0/+2
|
* Add shutdown room APIErik Johnston2017-06-191-1/+66
|
* Include users who share room with requester in user directoryErik Johnston2017-06-151-2/+6
|
* Add commentsErik Johnston2017-05-311-0/+16
|
* Use POSTErik Johnston2017-05-311-1/+1
|
* Add REST APIErik Johnston2017-05-311-0/+59
|
* Add count of one time keys to sync streamErik Johnston2017-05-191-0/+1
|
* Fixed syntax nitsPablo Saavedra2017-05-152-5/+6
|
* Fixed implementation errorsPablo Saavedra2017-05-152-3/+7
| | | | | * Added HS as property in SyncRestServlet * Fixed set_timeline_upper_limit function implementat¡ion
* Configurable maximum number of events requested by /sync and /messages (#2220)Pablo Saavedra2017-05-133-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the limit on the returned events in the timeline in the get and sync operations. The default value is -1, means no upper limit. For example, using `filter_timeline_limit: 5000`: POST /_matrix/client/r0/user/user:id/filter { room: { timeline: { limit: 1000000000000000000 } } } GET /_matrix/client/r0/user/user:id/filter/filter:id { room: { timeline: { limit: 5000 } } } The server cuts down the room.timeline.limit.
* Modify register/available to be GET with query paramLuke Barnard2017-05-101-5/+4
| | | | | | | - GET is now the method for register/available - a query parameter "username" is now used Also, empty usernames are now handled with an error message on registration or via register/available: `User ID cannot be empty`
* Change register/available to POST (from GET)Luke Barnard2017-05-101-1/+1
|
* Merge pull request #2183 from matrix-org/luke/username-availabilityLuke Barnard2017-05-041-0/+41
|\ | | | | Implement username availability checker
| * Appease the flake8 godsLuke Barnard2017-05-031-5/+10
| |
| * Implement username availability checkerLuke Barnard2017-05-031-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Outlined here: https://github.com/vector-im/riot-web/issues/3605#issuecomment-298679388 ```HTTP GET /_matrix/.../register/available { "username": "desiredlocalpart123" } ``` If available, the response looks like ```HTTP HTTP/1.1 200 OK { "available": true } ``` Otherwise, ```HTTP HTTP/1.1 429 { "errcode": "M_LIMIT_EXCEEDED", "error": "Too Many Requests", "retry_after_ms": 2000 } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_USER_IN_USE", "error": "User ID already taken." } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_INVALID_USERNAME", "error": "Some reason for username being invalid" } ```
* | Add more granular event send metricsErik Johnston2017-05-021-0/+1
|/
* Merge pull request #2163 from matrix-org/erikj/fix_invite_stateErik Johnston2017-04-271-0/+1
|\ | | | | Fix invite state to always include all events
| * Comment and remove spurious loggingErik Johnston2017-04-271-1/+0
| |
| * Fix invite state to always include all eventsErik Johnston2017-04-261-0/+2
| |
* | Merge pull request #2130 from APwhitehat/roomexistsErik Johnston2017-04-271-1/+5
|\ \ | |/ |/| Check that requested room_id exists
| * Check that requested room_id existsAnant Prakash2017-04-141-1/+5
| |
* | 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.
* | m.read_marker -> m.fully_read (#2128)Luke Barnard2017-04-182-5/+5
| | | | | | | | | | | | Also: - change the REST endpoint to have a "S" on the end (so it's now /read_markers) - change the content of the m.read_up_to event to have the key "event_id" instead of "marker".
* | More null-guard changesLuke Barnard2017-04-121-4/+4
| |
* | Remove Unused ref to hsLuke Barnard2017-04-121-1/+0
| |
* | Move a spaceLuke Barnard2017-04-121-2/+2
| |
* | flake8Luke Barnard2017-04-112-3/+3
| |
* | Finish implementing RM endpointLuke Barnard2017-04-112-9/+12
| | | | | | | | | | - This change causes a 405 to be sent if "m.read_marker" is set via /account_data - This also fixes-up the RM endpoint so that it actually Works.
* | Initial commit of RM server-side impllukebarnard2017-04-111-0/+71
|/ | | | (See https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit#heading=h.lndohpg8at5u)
* Merge pull request #2011 from matrix-org/matthew/turn_allow_guestsErik Johnston2017-03-311-1/+4
|\ | | | | add setting (on by default) to support TURN for guests
| * add setting (on by default) to support TURN for guestsMatthew Hodgson2017-03-151-1/+4
| |
* | Merge pull request #1986 from matrix-org/matthew/enable_guest_3pErik Johnston2017-03-311-4/+4
|\ \ | | | | | | enable guest access for the 3pl/3pid APIs
| * | switch to allow_guest=True for authing 3Ps as per PR feedbackMatthew Hodgson2017-03-311-0/+8
| | |
| * | enable guest access for the 3pl/3pid APIsMatthew Hodgson2017-03-121-8/+0
| | |
* | | Merge pull request #2057 from matrix-org/rav/missing_yield_2Richard van der Hoff2017-03-241-1/+1
|\ \ \ | | | | | | | | Add another missing yield on check_device_registered
| * | | Add another missing yield on check_device_registeredRichard van der Hoff2017-03-231-1/+1
| | | |
* | | | Fix token request for addition of phone numbersDavid Baker2017-03-231-1/+1
|/ / /
* | | Don't recreate so many setsErik Johnston2017-03-161-2/+1
| | |
* | | Remove unused importErik Johnston2017-03-151-1/+0
| | |
* | | Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-152-6/+16
| | |
* | | Merge pull request #1997 from matrix-org/dbkr/cas_partialdownloadDavid Baker2017-03-151-1/+8
|\ \ \ | |_|/ |/| | Handle PartialDownloadError in CAS login
| * | Handle PartialDownloadError in CAS loginDavid Baker2017-03-141-1/+8
| | |
* | | Merge pull request #1994 from matrix-org/dbkr/msisdn_signin_2Erik Johnston2017-03-153-42/+297
|\ \ \ | |/ / |/| | Phone number registration / login support v2
| * | Use extend instead of +=David Baker2017-03-141-4/+4
| | |
| * | Oops, remove printDavid Baker2017-03-141-1/+0
| | |
| * | Fix registration for broken clientsDavid Baker2017-03-131-4/+22
| | | | | | | | | | | | Only offer msisdn flows if the x_show_msisdn option is given.
| * | Support registration / login with phone numberDavid Baker2017-03-133-42/+280
| | | | | | | | | | | | Changes from https://github.com/matrix-org/synapse/pull/1971
* | | Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-11/+9
| | | | | | | | | | | | | | | | | | (But this doesn't implement the same for deleting access tokens or e2e keys. Also respond to code review.
* | | FlakeLuke Barnard2017-03-131-0/+2
| | |
* | | Implement delete_devices APILuke Barnard2017-03-131-0/+47
|/ / | | | | | | This implements the proposal here https://docs.google.com/document/d/1C-25Gqz3TXy2jIAoeOKxpNtmme0jI4g3yFGqv5GlAAk for deleting multiple devices at once in a single request.
* / Revert "Support registration & login with phone number"Erik Johnston2017-03-133-280/+42
|/
* Comment when our 3pids would be incompleteDavid Baker2017-03-081-0/+2
|
* Not any more, it doesn'tDavid Baker2017-03-081-1/+0
|
* Better error messageDavid Baker2017-03-081-1/+3
|
* pep8David Baker2017-03-081-1/+1
|
* Pull out datastore in initialiserDavid Baker2017-03-081-5/+10
|
* Minor fixes from PR feedbackDavid Baker2017-03-082-5/+3
|
* TyposDavid Baker2017-03-081-2/+2
|
* Refector out assert_params_in_requestDavid Baker2017-03-082-37/+17
| | | | and replace requestEmailToken where we meant requestMsisdnToken
* Factor out msisdn canonicalisationDavid Baker2017-03-083-40/+10
| | | | Plus a couple of other minor fixes
* Fix pep8David Baker2017-03-083-6/+6
|
* Support new login formatDavid Baker2017-03-071-6/+91
| | | | https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#
* Add msisdns as 3pids during registrationDavid Baker2017-03-031-0/+47
| | | | and support binding them with the bind_msisdn param
* Merge remote-tracking branch 'origin/develop' into dbkr/msisdn_signinDavid Baker2017-03-012-4/+16
|\
| * Remove unused paramErik Johnston2017-02-201-1/+0
| |
| * Merge pull request #1917 from matrix-org/dbkr/make_ban_reasons_workDavid Baker2017-02-141-0/+5
| |\ | | | | | | Make kick & ban reasons work
| | * 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.
| * | Ordering is important on errbacks so add the cleanup func before creating an ↵Kegan Dougal2017-02-131-7/+7
| | | | | | | | | | | | ObservableDeferred
| * | Pop the txn from the map in case it has already been deleted somehowKegan Dougal2017-02-131-1/+1
| | |
| * | Don't cache errors at allKegan Dougal2017-02-131-10/+9
| | |
| * | http txns: Do not cache error responsesKegan Dougal2017-02-131-1/+10
| |/ | | | | | | | | Previously we did. This meant that, amongst other errors, rate-limiting errors would be cached and prevent messages with that txn ID being sent.
* / WIP support for msisdn 3pid proxy methodsDavid Baker2017-02-142-13/+163
|/
* Merge pull request #1784 from morteza-araby/user-adminErik Johnston2017-02-062-2/+224
|\ | | | | Administration functionalities
| * admin,storage: added more administrator functionalitiesMorteza Araby2017-02-022-2/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | administrators can now: - Set displayname of users - Update user avatars - Search for users by user_id - Browse all users in a paginated API - Reset user passwords - Deactivate users Helpers for doing paginated queries has also been added to storage Signed-off-by: Morteza Araby <morteza.araby@ericsson.com>
* | sets aren't JSON serializableErik Johnston2017-02-021-1/+1
|/
* Fix email push in pusher workerErik Johnston2017-02-022-2/+6
| | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending.
* Include newly joined users in /keys/changes APIErik Johnston2017-02-011-1/+1
|
* CommentErik Johnston2017-02-011-1/+1
|
* CommentErik Johnston2017-02-011-1/+12
|
* Implement /keys/changesErik Johnston2017-02-011-0/+38
|
* Add basic implementation of local device list changesErik Johnston2017-01-251-1/+5
|
* Added username and password for turn serverMarvin Steadfast2017-01-191-9/+17
| | | | | It makes it possible to use a turn server that needs a username and password instead of a token.
* Lowercase all email addresses before querying dbDavid Baker2017-01-182-1/+12
| | | | | Since we store all emails in the DB in lowercase (https://github.com/matrix-org/synapse/pull/1170)
* Fix spurious Unhandled Error log linesErik Johnston2017-01-121-1/+5
|
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-091-11/+17
|
* Add /account/3pid/delete endpointDavid Baker2016-12-201-1/+35
| | | | Also fix a typo in a comment
* Merge pull request #1676 from matrix-org/erikj/room_listErik Johnston2016-12-122-1/+52
|\ | | | | Add new API appservice specific public room list
| * Add new API appservice specific public room listErik Johnston2016-12-062-1/+52
| |
* | Remove unspecced GET endpoints for e2e keysRichard van der Hoff2016-12-121-39/+4
| | | | | | | | | | | | | | | | GET /keys/claim is a terrible idea, since it isn't idempotent; also it throws 500 errors if you call it without all the right params. GET /keys/query is arguable, but it's unspecced, so let's get rid of it too to stop people relying on unspecced APIs.
* | 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
|/
* Fix doc-stringRichard van der Hoff2016-12-011-2/+1
| | | | Remove refresh_token reference
* Rip out more refresh_token codeRichard van der Hoff2016-11-302-25/+3
| | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema.
* Merge branch 'develop' into rav/no_more_refresh_tokensRichard van der Hoff2016-11-305-25/+24
|\
| * Merge pull request #1656 from matrix-org/rav/remove_time_caveatRichard van der Hoff2016-11-301-12/+0
| |\ | | | | | | Stop putting a time caveat on access tokens
| | * Stop putting a time caveat on access tokensRichard van der Hoff2016-11-291-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats.