summary refs log tree commit diff
path: root/synapse/handlers/profile.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Run Black. (#5482)Amber Brown2019-06-201-46/+19
|
* Handle HttpResponseException when using federation client.Erik Johnston2019-06-071-13/+16
| | | | Otherwise we just log exceptions everywhere.
* Limit displaynames and avatar URLsRichard van der Hoff2019-06-011-0/+13
| | | | | | These end up in join events everywhere, so let's limit them. Fixes #5079
* add options to require an access_token to GET /profile and /publicRooms on ↵Matthew Hodgson2019-05-081-0/+43
| | | | | | | | | | | | | | | | | CS API (#5083) This commit adds two config options: * `restrict_public_rooms_to_local_users` Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API. * `require_auth_for_profile_requests` When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301. MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though. Groups have been intentionally omitted from this commit.
* Support 3PID login in password providers (#4931)Andrew Morgan2019-03-261-2/+8
| | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn.
* Fix exception handling in fetching remote profilesErik Johnston2018-10-031-6/+2
|
* Replaced all occurences of e.message with str(e)Schnuffle2018-09-271-1/+1
| | | | Signed-off-by: Schnuffle <schnuffle@github.com>
* Rename WorkerProfileHandler to BaseProfileHandlerErik Johnston2018-08-221-3/+10
|
* Add assert to ensure handler is only run on masterErik Johnston2018-08-221-0/+2
|
* Remove redundant varsErik Johnston2018-08-221-3/+0
|
* Call UserDirectoryHandler methods directlyErik Johnston2018-08-171-21/+5
| | | | | | | | Turns out that the user directory handling is fairly racey as a bunch of stuff assumes that the processing happens on master, which it doesn't when there is a synapse.app.user_dir worker. So lets just call the function directly until we actually get round to fixing it, since it doesn't make the situation any worse.
* Split ProfileHandler into master and workerErik Johnston2018-08-171-7/+14
|
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-08-091-31/+58
|\ | | | | | | erikj/split_profiles
| * Return M_NOT_FOUND when a profile could not be found. (#3596)Will Hunt2018-08-031-31/+58
| |
* | Allow profile changes to happen on workersErik Johnston2018-08-071-5/+21
|/
* Fix some looping_call calls which were broken in #3604Richard van der Hoff2018-07-261-1/+1
| | | | | | | | | It turns out that looping_call does check the deferred returned by its callback, and (at least in the case of client_ips), we were relying on this, and I broke it in #3604. Update run_as_background_process to return the deferred, and make sure we return it to clock.looping_call.
* Fix updating of cached remote profilesRichard van der Hoff2018-07-251-1/+8
| | | | | | _update_remote_profile_cache was missing its `defer.inlineCallbacks`, so when it was called, would just return a generator object, without actually running any of the method body.
* run isortAmber Brown2018-07-091-1/+2
|
* Only update remote profile cache on masterErik Johnston2018-03-131-1/+4
|
* s/replication_client/federation_client/Erik Johnston2018-03-131-1/+1
|
* Split replication layer into twoErik Johnston2018-03-131-1/+1
|
* Split out edu/query registration to a separate classErik Johnston2018-03-131-1/+1
|
* Move RoomMemberHandler out of HandlersErik Johnston2018-03-011-1/+1
|
* fix pep8 and testsMatthew Hodgson2017-12-041-1/+1
|
* switch to a simpler 'search_all_users' button as per review feedbackMatthew Hodgson2017-12-041-2/+2
|
* untested WIP but might actually workMatthew Hodgson2017-11-291-0/+14
|
* removed unused import flagged by flake8aFrancois Granade2017-11-031-1/+0
|
* Fix for issue 2635: correctly update rooms avatar/display name when modified ↵Francois Granade2017-11-031-12/+8
| | | | by admin
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-3/+3
| | | | what could possibly go wrong
* Add user profiles to summary from group serverErik Johnston2017-08-251-0/+23
|
* Fix typos and reinheritErik Johnston2017-08-251-12/+6
|
* Split out profile handler to fix testsErik Johnston2017-08-251-5/+8
|
* Add remote profile cacheErik Johnston2017-08-251-1/+80
|
* Add per user ratelimiting overridesErik Johnston2017-05-101-1/+1
|
* Ignore backoff history for invites, aliases, and roomdirsRichard van der Hoff2017-03-231-2/+4
| | | | | Add a param to the federation client which lets us ignore historical backoff data for federation queries, and set it for a handful of operations.
* Don't recreate so many setsErik Johnston2017-03-161-4/+4
|
* handlers/profile: added admin override for set_displayname and set_avatar_urlPatrik Oldsberg2016-10-061-4/+4
| | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* Add `create_requester` functionRichard van der Hoff2016-07-261-5/+7
| | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
* Remove registered_users from the distributor.Mark Haines2016-06-171-7/+0
| | | | | | | | | | The only place that was observed was to set the profile. I've made it so that the profile is set within store.register in the same transaction that creates the user. This required some slight changes to the registration code for upgrading guest users, since it previously relied on the distributor swallowing errors if the profile already existed.
* changed_presencelike_data isn't observed anywhere in synapse so can be removedMark Haines2016-04-081-15/+0
|
* Call profile handler get_displayname directly rather than using ↵Mark Haines2016-04-071-28/+0
| | | | collect_presencelike_data
* Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-031-8/+9
| | | | This will enable more detailed decisions
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-191-0/+3
|\ | | | | Rewrite presence for performance.
| * Initial cutErik Johnston2016-02-171-0/+3
| |
* | Add commentDaniel Wagner-Hall2016-02-161-1/+1
| |
* | Use update_membership for profile updatesDaniel Wagner-Hall2016-02-151-16/+12
|/
* Revert "Merge two of the room join codepaths"Daniel Wagner-Hall2016-02-121-9/+2
| | | | | | This reverts commit cf81375b94c4763766440471e632fc4b103450ab. It subtly violates a guest joining auth check
* Merge two of the room join codepathsDaniel Wagner-Hall2016-02-121-2/+9
| | | | | | | | | | | | | 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.
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Wrap calls to distributor.fire in appropriately named functions so that ↵Mark Haines2015-12-011-13/+15
| | | | static analysis can work out want is calling what
* Treat setting your display name to the empty string as removing it (SYN-186).David Baker2015-05-141-0/+3
|
* Unwrap defer.gatherResults failuresErik Johnston2015-05-121-1/+2
|
* PEP8Erik Johnston2015-05-081-1/+0
|
* Change the way we do logging contexts so that they survive divergencesErik Johnston2015-05-081-8/+7
|
* Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This ↵Erik Johnston2015-03-091-2/+1
| | | | uses the a storage api that is cached.
* When setting display name more graciously handle failures to update room state.Erik Johnston2015-03-061-7/+13
|
* Replace hs.parse_userid with UserID.from_stringMark Haines2015-01-231-1/+2
|
* Merge branch 'erikj-perf' of github.com:matrix-org/synapse into developErik Johnston2015-01-061-5/+5
|\
| * We don't need the full events for get_rooms_for_user_where_membership_isErik Johnston2015-01-061-5/+5
| |
* | Update copyright noticesMark Haines2015-01-061-1/+1
|/
* Rate limit display names and avatar urls per request rather than per event.Kegan Dougal2014-12-191-2/+4
|
* Rename MessageHandler.handle_event. Add a few comments.Erik Johnston2014-12-151-1/+1
|
* Remove unused snapshotErik Johnston2014-12-091-2/+0
|
* Convert rest and handlers to use new event structureErik Johnston2014-12-041-11/+8
|
* Change DomainSpecificString so that it doesn't use a HomeServer objectErik Johnston2014-12-021-7/+7
|
* Add a few missing yields, Move deferred lists inside PreserveLoggingContext ↵Mark Haines2014-11-201-8/+10
| | | | because they don't interact well with the logging contexts
* Don't add a 'prev' key to m.room.member messagesErik Johnston2014-11-191-1/+0
|
* Add an EventValidator. Fix bugs in auth ++ storageErik Johnston2014-11-101-4/+7
|
* Implement new replace_state and changed prev_stateErik Johnston2014-11-061-5/+1
| | | | | `prev_state` is now a list of previous state ids, similiar to prev_events. `replace_state` now points to what we think was replaced.
* Begin making auth use event.old_state_eventsErik Johnston2014-10-151-2/+3
|
* SYN-40: When a user updates their displayname or avatar update all their ↵Erik Johnston2014-09-171-3/+43
| | | | join events for all the rooms they are currently in.
* fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org ↵Matthew Hodgson2014-09-031-1/+1
| | | | hasn't been incorporated in time for launch.
* Now that HS->HS Profile lookups use Federation Queries, we don't need the ↵Paul "LeoNerd" Evans2014-08-131-8/+4
| | | | 'local_only' antirecursion hack
* Use new Federation Query API to implement HS->HS fetching of remote users' ↵Paul "LeoNerd" Evans2014-08-131-25/+41
| | | | profile information instead of (ab)using the client-side REST API
* add in whitespace after copyright statements to improve legibilityMatthew Hodgson2014-08-131-0/+1
|
* Reference Matrix Home Servermatrix.org2014-08-121-0/+169