summary refs log tree commit diff
path: root/synapse/handlers/presence.py (follow)
Commit message (Expand)AuthorAgeFilesLines
* Reduce calls to `send_presence_to_destinations` (#16385)Erik Johnston2023-09-261-15/+18
* Delete device messages asynchronously and in staged batches (#16240)Mathieu Velten2023-09-061-3/+1
* Time out busy presence status & test multi-device busy (#16174)Patrick Cloke2023-09-051-1/+18
* Track presence state per-device and combine to a user state. (#16066)Patrick Cloke2023-09-051-47/+232
* Don't wake up destination transaction queue if they're not due for retry. (#1...Erik Johnston2023-09-041-7/+9
* Track currently syncing users by device for presence (#16172)Patrick Cloke2023-08-291-55/+100
* Pass the device ID around in the presence handler (#16171)Patrick Cloke2023-08-281-8/+38
* Combine logic about not overriding BUSY presence. (#16170)Patrick Cloke2023-08-281-92/+63
* Run pyupgrade for python 3.7 & 3.8. (#16110)Patrick Cloke2023-08-151-1/+1
* Clean-up presence code (#16092)Patrick Cloke2023-08-101-94/+75
* Add a locality to a few presence metrics (#15952)Jason Little2023-07-181-13/+24
* Remove some unused `server_name` fields (#15723)Sean Quah2023-06-061-1/+0
* Bump black from 22.12.0 to 23.1.0 (#15103)dependabot[bot]2023-02-221-2/+0
* Fix a bug in the send_local_online_presence_to module API (#14880)Patrick Cloke2023-01-251-6/+12
* Add an early return when handling no-op presence updates. (#14855)Erik Johnston2023-01-161-0/+5
* Better return type for `get_all_entities_changed` (#14604)Erik Johnston2022-12-051-5/+7
* Properly handle unknown results for the stream change cache. (#14592)Patrick Cloke2022-12-021-2/+2
* Fix an invalid comparison of `UserPresenceState` to `str` (#14393)Andrew Morgan2022-11-161-1/+1
* Remove redundant types from comments. (#14412)Patrick Cloke2022-11-161-1/+1
* Bump flake8-bugbear from 22.9.23 to 22.10.27 (#14329)dependabot[bot]2022-11-041-2/+4
* Do not allow a None-limit on PaginationConfig. (#14146)Patrick Cloke2022-10-141-1/+3
* Update `get_users_in_room` mis-use to get hosts with dedicated `get_current_h...Eric Eastwood2022-08-241-2/+1
* Refactor presence so we can prune user in room caches (#13313)Erik Johnston2022-07-251-76/+36
* Wait for lazy join to complete when getting current state (#12872)Erik Johnston2022-06-011-1/+5
* Additional constants for EDU types. (#12884)Patrick Cloke2022-05-271-3/+5
* Add `StreamKeyType` class and replace string literals with constants (#12567)Andrew Morgan2022-05-161-3/+3
* Prevent memory leak from reoccurring when presence is disabled. (#12656)Erik Johnston2022-05-061-15/+27
* Prevent a sync request from removing a user's busy presence status (#12213)David Baker2022-04-131-10/+46
* Refactor and convert `Linearizer` to async (#12357)Sean Quah2022-04-051-2/+2
* Start application service stream token tracking from 1 (#12193)Andrew Morgan2022-03-301-1/+1
* Remove unnecessary pass statements. (#12206)Patrick Cloke2022-03-111-2/+0
* Rename get_tcp_replication to get_replication_command_handler. (#12192)Patrick Cloke2022-03-101-2/+2
* Remove `HomeServer.get_datastore()` (#12031)Richard van der Hoff2022-02-231-2/+2
* Add type hints to `synapse/storage/databases/main` (#11984)Dirk Klimpel2022-02-211-12/+14
* Remove `log_function` and its uses (#11761)Richard van der Hoff2022-01-181-2/+0
* Remove redundant `get_current_events_token` (#11643)Richard van der Hoff2022-01-041-1/+1
* Correctly register shutdown handler for presence workers (#11518)David Robertson2021-12-071-1/+1
* Annotate `log_function` decorator (#10943)reivilibre2021-10-271-0/+2
* Improve docstrings for methods related to sending EDUs to application service...Andrew Morgan2021-10-211-5/+29
* Add missing type hints to synapse.api. (#11109)Patrick Cloke2021-10-181-1/+1
* Fix issue causing sending presence to ASes to fail (due to incomplete type an...reivilibre2021-09-301-1/+3
* Add type hints for event streams. (#10856)Patrick Cloke2021-09-211-3/+5
* Require type hints in the handlers module. (#10831)Patrick Cloke2021-09-201-18/+27
* Use direct references for some configuration variables (part 2) (#10812)Patrick Cloke2021-09-151-6/+6
* Add types to synapse.util. (#10601)reivilibre2021-09-101-2/+3
* Additional type hints for REST servlets (part 2). (#10674)Patrick Cloke2021-08-261-0/+5
* Do not remove `status_msg` when user going offline (#10550)Dirk Klimpel2021-08-091-7/+4
* Use inline type hints in `handlers/` and `rest/`. (#10382)Jonathan de Jong2021-07-161-15/+13
* Only send a presence state to a destination once (#10165)Erik Johnston2021-06-111-13/+12
* Fix sending presence over federation when using workers (#10163)Erik Johnston2021-06-111-6/+19
* Use a database table to hold the users that should have full presence sent to...Andrew Morgan2021-05-181-26/+110
* Increase perf of handling presence when joining large rooms. (#9916)Erik Johnston2021-05-051-72/+82
* Use get_current_users_in_room from store and not StateHandler (#9910)Erik Johnston2021-05-051-1/+1
* Merge remote-tracking branch 'origin/release-v1.33.0' into developErik Johnston2021-04-281-1/+23
|\
| * Fix tight loop handling presence replication. (#9900)Erik Johnston2021-04-281-1/+23
* | Add type hints to presence handler (#9885)Erik Johnston2021-04-281-70/+89
|/
* Use current state table for `presence.get_interested_remotes` (#9887)Erik Johnston2021-04-271-7/+2
* Split presence out of master (#9820)Erik Johnston2021-04-231-20/+36
* Remove `synapse.types.Collection` (#9856)Richard van der Hoff2021-04-221-1/+2
* Add presence federation stream (#9819)Erik Johnston2021-04-201-20/+223
* Fix bug where we sent remote presence states to remote servers (#9850)Erik Johnston2021-04-201-3/+8
* Don't send normal presence updates over federation replication stream (#9828)Erik Johnston2021-04-191-15/+63
* Move some replication processing out of generic_worker (#9796)Erik Johnston2021-04-141-0/+246
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-141-1/+0
* Bump black configuration to target py36 (#9781)Dan Callahan2021-04-131-1/+1
* Add a Synapse Module for configuring presence update routing (#9491)Andrew Morgan2021-04-061-43/+235
* Incorporate reviewBrendan Abolivier2021-03-191-1/+1
* Fix lintBrendan Abolivier2021-03-191-7/+6
* Move support for MSC3026 behind an experimental flagBrendan Abolivier2021-03-181-2/+10
* Implement MSC3026: busy presence stateBrendan Abolivier2021-03-181-1/+2
* Prevent presence background jobs from running when presence is disabled (#9530)Aaron Raimist2021-03-031-14/+17
* Be smarter about which hosts to send presence to when processing room joins (...Andrew Morgan2021-02-191-14/+42
* Remove dead notify_for_states presence method (#9408)Andrew Morgan2021-02-171-11/+0
* Fix only handling the last presence state for each user (#9425)Andrew Morgan2021-02-171-2/+5
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-161-10/+5
* Use TYPE_CHECKING instead of magic MYPY variable. (#8770)Patrick Cloke2020-11-171-3/+2
* Fix cache call signature to accept `on_invalidate`. (#8684)Erik Johnston2020-10-291-5/+7
* Fix typos and spelling errors. (#8639)Patrick Cloke2020-10-231-2/+2
* Clean up types for PaginationConfig (#8250)Erik Johnston2020-09-081-3/+0
* Stop sub-classing object (#8249)Patrick Cloke2020-09-041-1/+1
* Add type hints for state. (#8140)Patrick Cloke2020-08-241-3/+3
* Convert stream database to async/await. (#8074)Patrick Cloke2020-08-171-1/+1
* Rename database classes to make some sense (#8033)Erik Johnston2020-08-051-2/+2
* Convert state resolution to async/await (#7942)Patrick Cloke2020-07-241-2/+2
* Convert presence handler helpers to async/await. (#7939)Patrick Cloke2020-07-231-23/+20
* Refactor getting replication updates from database. (#7636)Erik Johnston2020-06-161-3/+26
* Replace iteritems/itervalues/iterkeys with native versions. (#7692)Patrick Cloke2020-06-151-8/+6
* Add option to move event persistence off master (#7517)Erik Johnston2020-05-221-0/+6
* Ignore incoming presence updates when presence is disabled (#7508)Andrew Morgan2020-05-151-2/+4
* Stop the master relaying USER_SYNC for other workers (#7318)Richard van der Hoff2020-04-221-95/+115
* Remove concept of a non-limited stream. (#7011)Erik Johnston2020-03-201-2/+2
* Port PresenceHandler to async/await (#6991)Erik Johnston2020-02-261-105/+87
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-211-3/+3
* Fix an error which was thrown by the PresenceHandler _on_shutdown handler. (#...Richard van der Hoff2020-01-061-7/+2
* Add database config class (#6513)Erik Johnston2019-12-181-1/+1
* Fix presence timeouts when synchrotron restarts. (#6212)Erik Johnston2019-10-181-4/+9
* Fix races in room stats (and other) updates. (#6187)Richard van der Hoff2019-10-101-4/+12
* fix typoMatthew Hodgson2019-09-031-1/+1
* Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-301-2/+2
* Move some timeout checking logs to DEBUG #5785 Amber Brown2019-07-301-1/+1
* Replace returnValue with return (#5736)Amber Brown2019-07-231-31/+23
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-2/+2
* Fixup commentErik Johnston2019-07-011-6/+13
* Fix sync tightloop bug.Erik Johnston2019-06-211-2/+12
* Run Black. (#5482)Amber Brown2019-06-201-153/+158
* Fix missing logcontext for PresenceHandler.on_shutdown. (#5369)Richard van der Hoff2019-06-061-1/+7
* Fix background updates to handle redactions/rejections (#5352)Erik Johnston2019-06-061-4/+7
* Fix "db txn 'update_presence' from sentinel context" log messages (#5275)Richard van der Hoff2019-05-281-52/+47
* Fix infinite loop in presence handlerRichard van der Hoff2019-04-261-0/+5
* Fix grammar and document get_current_users_in_room (#4998)Andrew Morgan2019-04-031-1/+1
* Remove presence lists (#4989)Neil Johnson2019-04-031-165/+2
* Use an assertErik Johnston2019-03-281-2/+1
* Review commentsErik Johnston2019-03-281-44/+62
* Use event streams to calculate presenceErik Johnston2019-03-271-29/+130
* Avoid rebuilding Edu objects in worker mode (#4770)Richard van der Hoff2019-03-041-3/+3
* Integrate presence from hotfixes (#3694)Amber Brown2018-08-181-7/+19
* Run tests under PostgreSQL (#3423)Amber Brown2018-08-131-0/+5
* Rename async to async_helpers because `async` is a keyword on Python 3.7 (#3678)Amber Brown2018-08-101-1/+1
* run isortAmber Brown2018-07-091-11/+10
* Remove all global reactor imports & pass it around explicitly (#3424)Amber Brown2018-06-251-2/+2
* Consistently use six's iteritems and wrap lazy keys/values in list() if they'...Amber Brown2018-05-311-6/+6
* Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-281-7/+8
|\
| * Merge pull request #3244 from NotAFile/py3-six-4Amber Brown2018-05-241-7/+8
| |\
| | * replace some iteritems with sixAdrian Tschira2018-05-191-7/+8
* | | cleanupAmber Brown2018-05-221-4/+8
* | | cleanups, self-registrationAmber Brown2018-05-221-3/+4
* | | Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-221-56/+5
|\| |
| * | Stub out ServerNoticesSender on the workersRichard van der Hoff2018-05-221-4/+0
| * | Send users a server notice about consentRichard van der Hoff2018-05-221-1/+9
| |/
| * Remove unused `update_external_syncs`Richard van der Hoff2018-05-171-55/+0
* | replacing portionsAmber Brown2018-05-211-29/+29
|/
* Improve exception handling for background processesRichard van der Hoff2018-04-271-4/+15
* Split replication layer into twoErik Johnston2018-03-131-1/+0
* Split out edu/query registration to a separate classErik Johnston2018-03-131-4/+6
* typoMatthew Hodgson2017-11-171-1/+1
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
* Make presence use cached users/hosts in roomErik Johnston2017-05-161-3/+3
* Reuse get_interested_partiesErik Johnston2017-04-121-16/+5
* Move get_interested_partiesErik Johnston2017-04-111-35/+34
* CommentsErik Johnston2017-04-111-2/+3
* Move get_interested_remotes back to presence handlerErik Johnston2017-04-111-3/+49
* Reduce federation presence replication trafficErik Johnston2017-04-101-40/+14
* Use iteritemsErik Johnston2017-04-061-2/+2
* Add a timestamp to USER_SYNC commandErik Johnston2017-03-311-7/+7
* Fix up presenceErik Johnston2017-03-311-1/+3
* Remove user from process_presence when stops syncingErik Johnston2017-03-301-0/+1
* Add functions to presence to support remote syncsErik Johnston2017-03-301-0/+66
* Cache hosts in roomErik Johnston2017-03-241-2/+1
* Don't recreate so many setsErik Johnston2017-03-161-8/+9
* Merge pull request #2014 from Half-Shot/hs/fix-appservice-presenceErik Johnston2017-03-151-1/+4
|\
| * Add a great comment to handle_timeout for active vs sync times.Will Hunt2017-03-151-0/+2
| * Add fallback to last_active_ts if it beats the last sync time.Will Hunt2017-03-151-1/+2
* | Cache set of users whose presence the other user should seeErik Johnston2017-03-151-13/+27
* | CommentErik Johnston2017-03-151-0/+3
* | Format presence events on the edges instead of reformatting them multiple timesErik Johnston2017-03-151-15/+15
|/
* Cache get_presence storageErik Johnston2017-02-131-1/+1
* Make presence.get_new_events a bit fasterErik Johnston2017-02-021-29/+15
* Use DB cache of joined users for presenceErik Johnston2017-01-301-3/+3
* Use new federation_sender DIErik Johnston2016-11-161-5/+6
* Fix typo "persiting"Paul "LeoNerd" Evans2016-09-131-2/+2
* Clobber EDUs in send queueErik Johnston2016-09-091-15/+5
* Deduplicate presence in _update_statesErik Johnston2016-09-091-0/+6
* Check the user_id for presence/typing matches originErik Johnston2016-09-081-0/+7
* Record counts of state changesErik Johnston2016-09-061-0/+4
* Short circuit if presence is the sameErik Johnston2016-09-061-0/+3
* Fiddle should_notify to better report statsErik Johnston2016-09-061-12/+7
* Record why we have chosen to notifyErik Johnston2016-09-051-0/+8
* Fix typo in log lineErik Johnston2016-09-011-1/+1
* Merge pull request #1055 from matrix-org/erikj/occaisonally_persistErik Johnston2016-08-301-0/+28
|\
| * Check correct variableErik Johnston2016-08-301-1/+1
| * Occaisonally persist unpersisted presence updatesErik Johnston2016-08-301-0/+28
* | Don't notify for online -> online transitions.Erik Johnston2016-08-301-1/+6
|/
* Use state handler instead of get_users_in_room/get_joined_hostsErik Johnston2016-08-261-4/+9
* Make synchrotron accept /eventsErik Johnston2016-08-121-8/+19
* Don't change status_msg on /syncWill Hunt2016-08-101-3/+6
* .values() returns list of setsErik Johnston2016-06-061-1/+2
* Fix typosErik Johnston2016-06-061-32/+36
* Fire after 30s not 8hErik Johnston2016-06-061-1/+1
* Change metric styleErik Johnston2016-06-031-5/+4
* Presence metrics. Change def of small deltaErik Johnston2016-06-031-5/+10
* Allow external processes to mark a user as syncing. (#812)Mark Haines2016-06-021-13/+106
* Merge pull request #787 from matrix-org/markjh/liberate_presence_handlerMark Haines2016-05-171-19/+21
|\
| * Don't inherit PresenceHandler from BaseHandler, remove references to self.hs ...Mark Haines2016-05-161-19/+21
| * Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
* | Spell "domain" correctlyMark Haines2016-05-161-2/+2
|/
* Add and use get_domian_from_idErik Johnston2016-05-091-2/+2
* Reduce database inserts when sending transactionsErik Johnston2016-05-061-1/+1
* Remove another unused function from presenceMark Haines2016-03-171-4/+0
* Remove dead code left over from presence changesMark Haines2016-03-171-4/+0
* Merge pull request #612 from matrix-org/erikj/cache_sizeErik Johnston2016-03-021-0/+4
|\
| * Add enviroment variable SYNAPSE_CACHE_FACTOR, default it to 0.1Erik Johnston2016-03-011-0/+4
* | Add a /replication API for extracting the updates that happened onMark Haines2016-03-011-0/+19
|/
* Check presence token interval is less than 100, rather than the token itselfErik Johnston2016-02-231-4/+4
* Merge pull request #602 from matrix-org/erikj/presenceErik Johnston2016-02-231-19/+45
|\
| * Handle get_all_entities_changed returning NoneErik Johnston2016-02-231-0/+3
| * Add commentsErik Johnston2016-02-231-0/+4
| * Change the way we figure out presence updates for small deltasErik Johnston2016-02-231-17/+36
* | Merge pull request #600 from matrix-org/erikj/presenceErik Johnston2016-02-231-26/+30
|\|
| * Don't include defer.returnValue in Measure blockErik Johnston2016-02-231-9/+12
| * Measure PresenceEventSource.get_new_eventsErik Johnston2016-02-231-34/+35
* | Pick up currently_active across federationErik Johnston2016-02-231-0/+1
|/
* Correctly filter statesErik Johnston2016-02-191-2/+2
* Only send presence updates to remote hosts if user is oursErik Johnston2016-02-191-2/+10
* Add Measures to presenceErik Johnston2016-02-191-57/+62
* Add presence metricErik Johnston2016-02-191-0/+3
* Remove spurious extra metricsErik Johnston2016-02-191-1/+0
* Don't set currently_active for remote presenceErik Johnston2016-02-191-6/+12
* More metricsErik Johnston2016-02-191-0/+6
* Add presence metricsErik Johnston2016-02-191-0/+8
* Remove invalid arg.Erik Johnston2016-02-181-1/+0
* Add unit testErik Johnston2016-02-181-93/+187
* Add stuff pulled from the DB to the cacheErik Johnston2016-02-181-2/+4
* PEP8Erik Johnston2016-02-181-2/+2
* Prefix TS fields with _tsErik Johnston2016-02-181-27/+27
* Remove status_msg when going offline. Don't offline -> online if you send a m...Erik Johnston2016-02-181-5/+15
* Check presence state is a valid oneErik Johnston2016-02-181-0/+6
* Move if statementErik Johnston2016-02-181-8/+8
* CommentErik Johnston2016-02-181-0/+2
* Remove spurious commentErik Johnston2016-02-171-1/+0
* Initial cutErik Johnston2016-02-171-1031/+631
* Fix up logcontextsErik Johnston2016-02-081-9/+11
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-1/+1
* copyrightsMatthew Hodgson2016-01-071-1/+1
* Wrap calls to distributor.fire in appropriately named functions so that stati...Mark Haines2015-12-011-7/+11
* Rename presence_handler.send_invite to presence_handler.send_presence_invite ...Mark Haines2015-12-011-1/+1
* Allow guest users to join and message roomsDaniel Wagner-Hall2015-11-101-1/+2
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-051-2/+2
* Fix some races in the synapse presence handler caused by not yielding on defe...Mark Haines2015-10-091-3/+8
* TypoErik Johnston2015-08-181-1/+1
* None checkErik Johnston2015-08-181-0/+2
* More helpful variable namesErik Johnston2015-08-181-7/+7
* Doc stringsErik Johnston2015-08-181-0/+28
* Remove debug try/catchErik Johnston2015-08-181-47/+43
* Implement a batched presence_handler.get_state and use itErik Johnston2015-08-171-0/+63
* Consolidate duplicate code in notifierErik Johnston2015-07-021-1/+1
* Don't do unecessary db ops in presence.get_stateErik Johnston2015-06-161-14/+14
* Add a cache for getting the presence list for a userMark Haines2015-05-221-9/+15
* Remove spurious TODO commentMark Haines2015-05-221-1/+0
* Removed unused 'is_visible' methodMark Haines2015-05-201-27/+0
* Clean up the presence_list checking logic a bitMark Haines2015-05-201-12/+9
* Speed up the get_pagination_rows as wellMark Haines2015-05-181-3/+17
* Cache the most recent serial for each roomMark Haines2015-05-181-6/+22
* Move updating the serial and state of the presence cache into a single functionMark Haines2015-05-181-17/+43
* Merge branch 'notifier_performance' into markjh/presence_performanceMark Haines2015-05-181-0/+4
|\
| * Merge branch 'develop' into notifier_performanceMark Haines2015-05-181-49/+220
| |\
| * \ Merge branch 'notifier_unify' into notifier_performanceMark Haines2015-05-141-20/+6
| |\ \
| * | | Don't bother checking for updates if the stream token hasn't advanced for a userMark Haines2015-05-131-0/+4
* | | | Add more doc string, reduce C+P boilerplate for getting room listMark Haines2015-05-181-6/+22
| |_|/ |/| |
* | | More whitespaceMark Haines2015-05-151-0/+1
* | | Add some missed argument types, cleanup the whitespace a bitMark Haines2015-05-141-6/+17