summary refs log tree commit diff
path: root/synapse/handlers/deactivate_account.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add third_party module callbacks to check if a user can delete a room and ↵Will Hunt2022-03-091-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deactivate a user (#12028) * Add check_can_deactivate_user * Add check_can_shutdown_rooms * Documentation * callbacks, not functions * Various suggested tweaks * Add tests for test_check_can_shutdown_room and test_check_can_deactivate_user * Update check_can_deactivate_user to not take a Requester * Fix check_can_shutdown_room docs * Renegade and use `by_admin` instead of `admin_user_id` * fix lint * Update docs/modules/third_party_rules_callbacks.md Co-authored-by: Brendan Abolivier <babolivier@matrix.org> * Update docs/modules/third_party_rules_callbacks.md Co-authored-by: Brendan Abolivier <babolivier@matrix.org> * Update docs/modules/third_party_rules_callbacks.md Co-authored-by: Brendan Abolivier <babolivier@matrix.org> * Update docs/modules/third_party_rules_callbacks.md Co-authored-by: Brendan Abolivier <babolivier@matrix.org> Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
* Add module callbacks called for reacting to deactivation status change and ↵Brendan Abolivier2022-03-011-2/+18
| | | | profile update (#12062)
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff2022-02-231-1/+1
| | | | | | | The presence of this method was confusing, and mostly present for backwards compatibility. Let's get rid of it. Part of #11733
* Remove account data (including client config, push rules and ignored users) ↵reivilibre2022-01-241-0/+3
| | | | | upon user deactivation. (#11621) Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Revert change to counting of deactivated users towards the monthly active ↵Sean Quah2021-10-201-4/+0
| | | | | | | | users limit (#11127) Temporarily revert "Add functionality to remove deactivated users from the monthly_active_users table (#10947)". This reverts commit eda8c88b84ee7506379a71ac2a7a88c08b759d43.
* Remove the deprecated BaseHandler. (#11005)Patrick Cloke2021-10-081-4/+2
| | | | | | | | The shared ratelimit function was replaced with a dedicated RequestRatelimiter class (accessible from the HomeServer object). Other properties were copied to each sub-class that inherited from BaseHandler.
* Add functionality to remove deactivated users from the monthly_active_users ↵Hillery Shay2021-10-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | table (#10947) * add test * add function to remove user from monthly active table in deactivate code * add function to remove user from monthly active table * add changelog entry * update changelog number * requested changes * update docstring on new function * fix lint error * Update synapse/storage/databases/main/monthly_active_users.py Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Fix reactivated users not being added to the user directory (#10782)David Robertson2021-09-231-3/+6
| | | | | Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> Co-authored-by: reivilibre <olivier@librepush.net> Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Always add local users to the user directory (#10796)David Robertson2021-09-211-5/+2
| | | | | | | | | | | | | | | | | | | | | | | It's a simplification, but one that'll help make the user directory logic easier to follow with the other changes upcoming. It's not strictly required for those changes, but this will help simplify the resulting logic that listens for `m.room.member` events and generally make the logic easier to follow. This means the config option `search_all_users` ends up controlling the search query only, and not the data we store. The cost of doing so is an extra row in the `user_directory` and `user_directory_search` tables for each local user which - belongs to no public rooms - belongs to no private rooms of size ≥ 2 I think the cost of this will be marginal (since they'll already have entries in `users` and `profiles` anyway). As a small upside, a homeserver whose directory was built with this change can toggle `search_all_users` without having to rebuild their directory. Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Use direct references for some configuration variables (#10798)Patrick Cloke2021-09-131-1/+1
| | | | Instead of proxying through the magic getter of the RootConfig object. This should be more performant (and is more explicit).
* Easy refactors of the user directory (#10789)David Robertson2021-09-101-1/+1
| | | No functional changes here. This came out as I was working to tackle #5677
* Port "Allow users to click account renewal links multiple times without ↵Andrew Morgan2021-04-191-1/+3
| | | | | hitting an 'Invalid Token' page #74" from synapse-dinsic (#9832) This attempts to be a direct port of https://github.com/matrix-org/synapse-dinsic/pull/74 to mainline. There was some fiddling required to deal with the changes that have been made to mainline since (mainly dealing with the split of `RegistrationWorkerStore` from `RegistrationStore`, and the changes made to `self.make_request` in test code).
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-141-1/+0
| | | | | | | Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>`
* Import HomeServer from the proper module. (#9665)Patrick Cloke2021-03-231-1/+1
|
* Ensure pushers are deleted for deactivated accounts (#9285)Erik Johnston2021-02-251-0/+5
|
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-161-4/+2
| | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
* Remove user's avatar URL and displayname when deactivated. (#8932)Dirk Klimpel2021-01-121-2/+16
| | | This only applies if the user's data is to be erased.
* Add admin API for logging in as a user (#8617)Erik Johnston2020-11-171-2/+3
|
* Move additional tasks to the background worker, part 4 (#8513)Patrick Cloke2020-10-131-1/+1
|
* Remove the deprecated Handlers object (#8494)Patrick Cloke2020-10-091-1/+1
| | | All handlers now available via get_*_handler() methods on the HomeServer.
* Add type hints to some handlers (#8505)Patrick Cloke2020-10-091-3/+6
|
* Simplify super() calls to Python 3 syntax. (#8344)Patrick Cloke2020-09-181-1/+1
| | | | | | | This converts calls like super(Foo, self) -> super(). Generated with: sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py
* Follow-up to admin API to re-activate accounts (#7908)Patrick Cloke2020-07-221-4/+18
|
* Allow accounts to be re-activated from the admin APIs. (#7847)Patrick Cloke2020-07-151-20/+28
|
* Support handling registration requests across multiple client readers. (#7830)Patrick Cloke2020-07-131-1/+2
|
* Add `local_current_membership` table (#6655)Erik Johnston2020-01-151-1/+1
| | | | | | | Currently we rely on `current_state_events` to figure out what rooms a user was in and their last membership event in there. However, if the server leaves the room then the table may be cleaned up and that information is lost. So lets add a table that separately holds that information.
* Port some admin handlers to async/await (#6559)Erik Johnston2019-12-191-30/+24
|
* Remove local threepids on account deactivation (#6426)Andrew Morgan2019-11-281-0/+3
|
* Incorporate reviewBrendan Abolivier2019-09-271-4/+2
|
* Update synapse/handlers/deactivate_account.pyBrendan Abolivier2019-09-271-1/+3
| | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Update synapse/handlers/deactivate_account.pyBrendan Abolivier2019-09-271-1/+1
| | | Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* LintBrendan Abolivier2019-09-271-3/+1
|
* Fixup and add some loggingBrendan Abolivier2019-09-271-1/+9
|
* Reject pending invites on deactivationBrendan Abolivier2019-09-271-0/+31
|
* Implement MSC2290 (#6043)Andrew Morgan2019-09-231-1/+3
| | | | | | | Implements MSC2290. This PR adds two new endpoints, /unstable/account/3pid/add and /unstable/account/3pid/bind. Depending on the progress of that MSC the unstable prefix may go away. This PR also removes the blacklist on some 3PID tests which occurs in #6042, as the corresponding Sytest PR changes them to use the new endpoints. Finally, it also modifies the account deactivation code such that it doesn't just try to deactivate 3PIDs that were bound to the user's account, but any 3PIDs that were bound through the homeserver on that user's account.
* Replace returnValue with return (#5736)Amber Brown2019-07-231-1/+1
|
* Run Black. (#5482)Amber Brown2019-06-201-5/+7
|
* Don't send renewal emails to deactivated usersBrendan Abolivier2019-06-141-0/+6
|
* Track deactivated accounts in the database (#5378)Brendan Abolivier2019-06-141-0/+4
|
* Correctly handle id_server paramErik Johnston2019-04-021-0/+1
|
* Allowing specifying IS to use in unbind API.Erik Johnston2019-04-011-1/+4
| | | | | | | | | | By default the homeserver will use the identity server used during the binding of the 3PID to unbind the 3PID. However, we need to allow clients to explicitly ask the homeserver to unbind via a particular identity server, for the case where the 3PID was bound out of band from the homeserver. Implements MSC915.
* Use flagsErik Johnston2019-03-201-0/+1
|
* Give some more things logcontexts (#4077)Richard van der Hoff2018-10-231-2/+2
|
* Don't fail requests to unbind 3pids for non supporting ID serversErik Johnston2018-08-081-2/+11
| | | | | | | | | | Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661
* run isortAmber Brown2018-07-091-3/+4
|
* add GDPR erase param to deactivate APIMatthew Hodgson2018-06-261-0/+1
|
* Merge pull request #3441 from matrix-org/erikj/redo_erasureErik Johnston2018-06-251-1/+6
|\ | | | | Fix user erasure and re-enable
| * Revert "Revert "Merge pull request #3431 from ↵Erik Johnston2018-06-251-1/+6
| | | | | | | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
* | Remove all global reactor imports & pass it around explicitly (#3424)Amber Brown2018-06-251-2/+2
|/
* Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility"Richard van der Hoff2018-06-221-6/+1
| | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
* mark accounts as erased when requestedRichard van der Hoff2018-06-121-1/+6
|
* Fix commentDavid Baker2018-06-041-1/+1
|
* Merge remote-tracking branch 'origin/develop' into dbkr/unbindDavid Baker2018-05-241-0/+4
|\
| * Remove users from user directory on deactivateDavid Baker2018-05-241-0/+4
| |
* | pep8David Baker2018-05-241-3/+6
| |
* | Hit the 3pid unbind endpoint on deactivationDavid Baker2018-05-231-1/+21
|/
* comment typoDavid Baker2018-05-221-1/+1
|
* Catch failure to part user from roomDavid Baker2018-05-101-7/+13
|
* Many docstringsDavid Baker2018-05-101-0/+24
|
* Oops, don't call function passed to run_in_backgroundDavid Baker2018-05-101-1/+1
|
* Prefix internal functionsDavid Baker2018-05-091-7/+7
|
* Indent failDavid Baker2018-05-091-1/+1
|
* Part deactivated users in the backgroundDavid Baker2018-05-091-1/+34
| | | | | One room at a time so we don't take out the whole server with leave events, and restart at server restart.
* Part user from rooms on account deactivateDavid Baker2018-05-081-1/+15
| | | | | | | This implements this very crudely: this probably isn't viable because parting a user from all their rooms could take a long time, and if the HS gets restarted in that time the process will be aborted.
* Delete devices in various logout situationsRichard van der Hoff2017-11-291-0/+8
| | | | | | | | | | | | | 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 deactivate_account into its own handlerRichard van der Hoff2017-11-291-0/+44
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.