summary refs log tree commit diff
path: root/synapse/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary diffErik Johnston2017-10-131-3/+1
|
* Make things be absolute paths againErik Johnston2017-10-131-7/+7
|
* s/write_to_file/write_to_file_and_backup/Erik Johnston2017-10-131-5/+5
|
* Fix upErik Johnston2017-10-132-43/+32
|
* Fix up thumbnailing functionErik Johnston2017-10-133-75/+73
|
* Fix typoErik Johnston2017-10-131-1/+1
|
* Fix up commentsErik Johnston2017-10-131-2/+26
|
* Move makedirs to threadErik Johnston2017-10-131-2/+1
|
* Use make_deferred_yieldableErik Johnston2017-10-131-7/+7
|
* Fix commentsErik Johnston2017-10-122-1/+4
|
* Don't close prematurely..Erik Johnston2017-10-121-2/+5
|
* getvalue closes bufferErik Johnston2017-10-121-11/+10
|
* Get len before closeErik Johnston2017-10-121-6/+11
|
* Don't close file prematurelyErik Johnston2017-10-122-8/+18
|
* Copy everything to backupErik Johnston2017-10-124-76/+148
|
* TypoErik Johnston2017-10-121-1/+1
|
* Remove dead codeErik Johnston2017-10-121-3/+0
|
* Fix typosErik Johnston2017-10-121-20/+26
|
* Fix typoErik Johnston2017-10-121-1/+1
|
* Basic implementation of backup media storeErik Johnston2017-10-123-126/+113
|
* Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-023-23/+196
|\
| * Only log if we've removed mediaErik Johnston2017-09-281-2/+4
| |
| * Clear up expired url cache every 10sErik Johnston2017-09-281-1/+1
| |
| * Actually assign result to variableErik Johnston2017-09-281-1/+1
| |
| * Fix typo in url cache expiry timerErik Johnston2017-09-281-1/+1
| |
| * Support new and old style media id formatsErik Johnston2017-09-281-31/+81
| |
| * Change expires column to expires_tsErik Johnston2017-09-281-2/+2
| |
| * Delete expired url cache dataErik Johnston2017-09-282-4/+129
| |
| * 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-172-0/+644
|/
* 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.
* Store URL cache preview downloads seperatelyErik Johnston2017-06-235-18/+72
| | | | This makes it easier to clear old media out at a later date
* Add API to quarantine mediaErik Johnston2017-06-194-3/+30
|
* 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
|
* Throw exception when not retrying when downloading mediaErik Johnston2017-06-131-0/+1
|
* Add commentsErik Johnston2017-05-311-0/+16
|
* Use POSTErik Johnston2017-05-311-1/+1
|
* Add REST APIErik Johnston2017-05-312-0/+61
|
* Merge pull request #2243 from matrix-org/matthew/fix-url-preview-length-againErik Johnston2017-05-231-0/+2
|\ | | | | actually trim oversize og:description meta
| * actually trim oversize og:description metaMatthew Hodgson2017-05-221-0/+2
| |
* | Add count of one time keys to sync streamErik Johnston2017-05-191-0/+1
|/
* Merge pull request #2221 from psaavedra/sync_timeline_limit_filter_by_nameErik Johnston2017-05-153-0/+20
|\ | | | | Configurable maximum number of events requested by /sync and /messages
| * 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.
* | Don't log exceptions for NotRetryingDestinationErik Johnston2017-05-151-1/+3
|/
* 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.
* | Fix code for reporting old verify keys in synapseMark Haines2017-04-241-3/+2
| |
* | 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-113-9/+14
| | | | | | | | | | - 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
* | | | Merge pull request #1992 from matrix-org/rav/fix_media_loopRichard van der Hoff2017-03-142-10/+46
|\ \ \ \ | |_|/ / |/| | | Fix routing loop when fetching remote media
| * | | Address review commentsRichard van der Hoff2017-03-141-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - don't blindly proxy all HTTPRequestExceptions - log unexpected exceptions at error - avoid `isinstance` - improve docs on `from_http_response_exception`
| * | | Fix routing loop when fetching remote mediaRichard van der Hoff2017-03-132-4/+38
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we proxy a media request to a remote server, add a query-param, which will tell the remote server to 404 if it doesn't recognise the server_name. This should fix a routing loop where the server keeps forwarding back to itself. Also improves the error handling on remote media fetches, so that we don't always return a rather obscure 502.
* | | 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-013-4/+19
|\
| * Merge pull request #1945 from jkolo/fix_dynamic_thumbnails_aspectErik Johnston2017-02-271-0/+3
| |\ | | | | | | Fix #1677 (dynamic thumbnails aspect)
| | * Fix dynamic thumbnails aspectJurek2017-02-241-0/+3
| | |
| * | 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
|
* Log which files we saved attachments to in the media_repositoryMark Haines2017-01-103-0/+11
|
* Merge pull request #1787 from matrix-org/erikj/linearize_memberErik Johnston2017-01-101-11/+17
|\ | | | | Linearize updates to membership via PUT /state/
| * Linearize updates to membership via PUT /state/Erik Johnston2017-01-091-11/+17
| |
* | Name linearizer's for better logsErik Johnston2017-01-091-1/+1
|/
* Add /account/3pid/delete endpointDavid Baker2016-12-201-1/+35
| | | | Also fix a typo in a comment
* Fix crash in url preview when html tag has no textMarcin Bachry2016-12-141-1/+4
| | | | Signed-off-by: Marcin Bachry <hegel666@gmail.com>
* 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
|/
* preview_url_resource: Ellipsis must be in unicode stringJohannes Löthberg2016-12-011-1/+1
| | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* 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.
| * | Merge pull request #1653 from matrix-org/rav/guest_e2eRichard van der Hoff2016-11-294-13/+24
| |\ \ | | |/ | |/| Implement E2E for guests
| | * Allow guest access to endpoints for E2ERichard van der Hoff2016-11-253-9/+9
| | | | | | | | | | | | | | | Expose /devices, /keys, and /sendToDevice to guest users, so that they can use E2E.
| | * Give guest users a device_idRichard van der Hoff2016-11-251-4/+15
| | | | | | | | | | | | | | | We need to create devices for guests so that they can use e2e, but we don't have anywhere to store it, so just use a fixed one.
* | | Stop generating refresh tokensRichard van der Hoff2016-11-282-21/+12
|/ / | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins.
* / Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-231-1/+1
|/
* Merge pull request #1638 from matrix-org/kegan/sync-event-fieldsKegsay2016-11-221-10/+13
|\ | | | | Implement "event_fields" in filters
| * Glue only_event_fields into the sync rest servletKegan Dougal2016-11-221-10/+13
| |
* | Fix flake8Mark Haines2016-11-181-1/+0
| |
* | Work around client replacing reg paramsDavid Baker2016-11-181-0/+12
|/ | | | | Works around https://github.com/vector-im/vector-android/issues/715 and equivalent for iOS
* Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-143-7/+21
|
* Move .observe() up to the cache to make things neaterKegan Dougal2016-11-143-33/+11
|
* Review commentsKegan Dougal2016-11-115-158/+119
|
* 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-112-30/+31
|
* Use observable deferreds because they are saneKegan Dougal2016-11-111-3/+4
|
* Flake8Kegan Dougal2016-11-102-4/+4
|
* Store Promise<Response> instead of Response for HTTP API transactionsKegan Dougal2016-11-104-88/+68
| | | | | | | | | | | | | | | | | | 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.
* Set CORs headers on responses from the media repoMark Haines2016-11-022-2/+4
|
* Merge pull request #1164 from pik/error-codesErik Johnston2016-10-191-6/+6
|\ | | | | Clarify Error codes for GET /filter/
| * Refactor test_filter to use real DataStorepik2016-10-181-2/+2
| | | | | | | | * add tests for filter api errors
| * Error codes for filtersAlexander Maznev2016-10-141-4/+4
| | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | Merge pull request #1168 from matrix-org/rav/ui_auth_on_device_deleteRichard van der Hoff2016-10-131-5/+20
|\ \ | | | | | | User-interactive auth on delete device
| * | Handle delete device requests with no bodyRichard van der Hoff2016-10-121-2/+11
| | | | | | | | | | | | | | | We should probably return a 401 rather than a 400 for existing clients that don't know they have to do the UIA dance to delete a device.
| * | User-interactive auth on delete deviceRichard van der Hoff2016-10-121-5/+11
| | |
* | | Merge pull request #1167 from matrix-org/markjh/fingerprintsMark Haines2016-10-121-13/+8
|\ \ \ | |/ / |/| | Add config option for adding additional TLS fingerprints
| * | Improve comment formattingMark Haines2016-10-121-3/+6
| | |
| * | Add config option for adding additional TLS fingerprintsMark Haines2016-10-111-12/+4
| |/
* | Merge pull request #1157 from Rugvip/nolimitErik Johnston2016-10-111-4/+7
|\ \ | |/ |/| Remove rate limiting from app service senders and fix get_or_create_user requester
| * rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-061-3/+6
| | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-061-1/+1
| | | | | | | | synchronous
* | window.postmessage for Interactive Auth fallbackRichard van der Hoff2016-10-061-1/+3
|/ | | | | If you're a webapp running the fallback in an iframe, you can't set set a window.onAuthDone function. Let's post a message back to window.opener instead.
* Time out typing over federationErik Johnston2016-09-231-1/+4
|
* Support /initialSync in synchrotron workerErik Johnston2016-09-212-5/+4
|
* 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
|
* Move the E2E key handling into the e2e handlerMark Haines2016-09-131-112/+16
|
* Add a timeout parameter for end2end key queries.Mark Haines2016-09-121-26/+51
| | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s.
* Conform better to the CAS protocol specificationShell Turner2016-09-091-5/+2
| | | | | | | Redirect to CAS's /login endpoint properly, and don't require an <attributes> element. Signed-off-by: Shell Turner <cam.turn@gmail.com>
* Merge pull request #1096 from matrix-org/markjh/get_access_tokenMark Haines2016-09-095-20/+16
|\ | | | | Add helper function for getting access_tokens from requests
| * Add helper function for getting access_tokens from requestsMark Haines2016-09-095-20/+16
| | | | | | | | | | | | Rather than reimplementing the token parsing in the various places. This will make it easier to change the token parsing to allow access_tokens in HTTP headers.
* | Merge pull request #1091 from matrix-org/paul/third-party-lookupPaul Evans2016-09-091-0/+24
|\ \ | | | | | | Improvements to 3PE lookup API
| * | appease pep8Paul "LeoNerd" Evans2016-09-091-1/+2
| | |
| * | Python isn't JavaScript; have to quote dict keysPaul "LeoNerd" Evans2016-09-091-1/+1
| | |
| * | Efficiency fix for lookups of a single protocolPaul "LeoNerd" Evans2016-09-091-1/+3
| | |
| * | Allow lookup of a single 3PE protocol query metadataPaul "LeoNerd" Evans2016-09-091-0/+21
| | |
* | | 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
| |/ |/|
* | Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlightMatthew Hodgson2016-09-091-1/+2
|\ \ | |/ |/| Implement `only=highlight` on `/notifications`
| * Implement `only=highlight` on `/notifications`David Baker2016-09-081-1/+2
| |
* | Merge pull request #1082 from matrix-org/erikj/remote_public_roomsErik Johnston2016-09-081-6/+17
|\ \ | | | | | | Add server param to /publicRooms
| * | Use parse_stringErik Johnston2016-09-081-2/+2
| | |
| * | Add server param to /publicRoomsErik Johnston2016-09-081-5/+16
| |/
* | Merge branch 'develop' into markjh/direct_to_device_federationMark Haines2016-09-081-1/+8
|\|
| * Add quotes and be explicity about script-srcErik Johnston2016-09-051-1/+2
| |
| * Allow PDF to be rendered from media repoErik Johnston2016-09-051-1/+7
| |
* | Send device messages over federationMark Haines2016-09-061-26/+7
|/
* Fix up the calls to the notifier for device messagesMark Haines2016-09-011-1/+1
|
* Add a replication stream for direct to device messagesMark Haines2016-08-311-2/+8
|
* Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-261-1/+1
|\
| * Move ThirdPartyEntityKind into api.constants so the expectation becomes that ↵Paul "LeoNerd" Evans2016-08-251-1/+1
| | | | | | | | the value is significant
* | Merge branch 'develop' into markjh/direct_to_deviceMark Haines2016-08-252-4/+21
|\|
| * Merge pull request #1041 from matrix-org/paul/third-party-lookupPaul Evans2016-08-251-2/+20
| |\ | | | | | | Extend 3PE lookup APIs for metadata query
| | * Move static knowledge of protocol metadata into AS handler; cache the resultPaul "LeoNerd" Evans2016-08-241-20/+1
| | |
| | * Declare 'gitter' known protocol, with user lookupPaul "LeoNerd" Evans2016-08-241-0/+3
| | |
| | * Initial hack at the 3PN protocols metadata lookup APIPaul "LeoNerd" Evans2016-08-241-0/+34
| | |
| | * Move 3PU/3PL lookup APIs into /thirdparty containing entityPaul "LeoNerd" Evans2016-08-241-2/+2
| | |
| * | Preserve some logcontextsErik Johnston2016-08-241-2/+1
| |/
* | Add some TODOsMark Haines2016-08-251-0/+4
| |
* | Fix the deduplication of incoming direct-to-device messagesMark Haines2016-08-251-1/+12
| |
* | Add store-and-forward direct-to-device messagingMark Haines2016-08-253-3/+77
|/
* 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.
* Merge branch 'develop' into dbkr/notifications_apiMatthew Hodgson2016-08-202-0/+80
|\
| * Avoid so much copypasta between 3PU and 3PL query by unifying around a ↵Paul "LeoNerd" Evans2016-08-181-2/+7
| | | | | | | | ThirdPartyEntityKind enumeration
| * Authenticate 3PE lookup requestsPaul "LeoNerd" Evans2016-08-181-0/+6
| |
| * Copypasta the 3PU support code to also do 3PLPaul "LeoNerd" Evans2016-08-181-0/+20
| |