summary refs log tree commit diff
path: root/synapse/handlers/presence.py (follow)
Commit message (Expand)AuthorAgeFilesLines
* 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
* | | More doc-stringsMark Haines2015-05-141-39/+202
* | | Remove unused arguments and doc PresenceHandler.push_update_to_clientsMark Haines2015-05-141-12/+8
| |/ |/|
* | Revert "Improvement to performance of presence event stream handling"Mark Haines2015-05-121-20/+6
|/
* Merge pull request #147 from matrix-org/presence-performanceMark Haines2015-05-121-6/+20
|\
| * Use the presence cachemap ordering to early-abort the iteration loopPaul "LeoNerd" Evans2015-05-071-2/+7
| * Store presence cachemap in an ordered dict, so that the newer serials will be...Paul "LeoNerd" Evans2015-05-071-4/+13
* | Fix up leak. Add warnings.Erik Johnston2015-05-081-4/+6
* | Change the way we do logging contexts so that they survive divergencesErik Johnston2015-05-081-19/+15
|/
* Fix off by one in presence token handlingErik Johnston2015-04-291-1/+1
* Ensure we never miss any presence updatesErik Johnston2015-04-281-1/+7
* Fix typoErik Johnston2015-04-281-1/+1
* Ensure the serial returned by presence is always an integerErik Johnston2015-04-281-3/+3
* Remove users from the remote_offline_serials list (and clean up empty element...Paul "LeoNerd" Evans2015-04-231-1/+11
* Don't let the remote offline serial list grow arbitrarily largePaul "LeoNerd" Evans2015-04-231-0/+5
* Store a list of the presence serial number at which remote users went offline...Paul "LeoNerd" Evans2015-04-231-0/+21
* Generate presence event-stream JSON structures directlyPaul "LeoNerd" Evans2015-04-231-8/+9
* Reduce activity timer granularity to avoid too many quick updates (SYN-247)Paul "LeoNerd" Evans2015-03-231-0/+8
* Appease pep8Paul "LeoNerd" Evans2015-03-121-2/+3
* Use _ instead of . as a metric namespacing separator, for PrometheusPaul "LeoNerd" Evans2015-03-121-1/+1
* Add a scalar gauge metric on the size of the presence user cachemapPaul "LeoNerd" Evans2015-03-121-0/+7
* Change room handlers get_rooms_for_user to get_joined_rooms_for_user. This us...Erik Johnston2015-03-091-3/+3
* Use consumeErrors=True on all DeferredLists.Erik Johnston2015-02-171-4/+4
* Fix code-styleMark Haines2015-02-101-4/+4
* Code-style fixesMark Haines2015-02-101-1/+3
* Merge branch 'develop' into pushersDavid Baker2015-01-281-11/+12
|\
| * Replace hs.parse_userid with UserID.from_stringMark Haines2015-01-231-11/+12
* | Reset badge count to zero when last active time is bumpedDavid Baker2015-01-281-0/+5
|/
* Update copyright noticesMark Haines2015-01-061-1/+1
* Merge branch 'develop' of github.com:matrix-org/synapse into events_refactorErik Johnston2014-12-041-5/+7
|\
| * @log_function on PresenceStream's get_new_events_for_user()Paul "LeoNerd" Evans2014-12-031-1/+3
| * Store any incoming presence push in the local cache anyway, even if there's n...Paul "LeoNerd" Evans2014-12-031-4/+4
* | Merge branch 'develop' of github.com:matrix-org/synapse into events_refactorErik Johnston2014-12-031-0/+5
|\|
| * Extra verbosity on logging of received presence infoPaul "LeoNerd" Evans2014-12-021-0/+5
* | Change DomainSpecificString so that it doesn't use a HomeServer objectErik Johnston2014-12-021-19/+19
|/
* Add a few missing yields, Move deferred lists inside PreserveLoggingContext b...Mark Haines2014-11-201-21/+27
* Initialise UserPresenceCache instances to always contain a 'presence' keyPaul "LeoNerd" Evans2014-11-191-4/+2
* Added ability to .get_state() from the PresenceHandler by returning a complet...Paul "LeoNerd" Evans2014-11-181-2/+15
* Don't expect all _user_cachemap entries to definitely contain a "last_active"...Paul "LeoNerd" Evans2014-11-181-3/+3
* Fix pep8 warningsMark Haines2014-10-301-18/+15
* Fix an off-by-one bug in presence event stream pagination; this might be resp...Paul "LeoNerd" Evans2014-10-291-1/+1
* Construct a source-specific 'SourcePaginationConfig' to pass into get_paginat...Paul "LeoNerd" Evans2014-10-291-20/+5
* Remove redundant (and incorrect) presence pagination fetching codePaul "LeoNerd" Evans2014-10-291-3/+0
* Fix race in presence handler where we evicted things from cache while handlin...Erik Johnston2014-09-061-2/+3
* fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org has...Matthew Hodgson2014-09-031-1/+1
* Kill the statePaul "LeoNerd" Evans2014-09-031-26/+5
* Bugfix for back-pagination of presencePaul "LeoNerd" Evans2014-09-031-0/+2
* Implement presence state visibilty limiting when polling eventsource for streamPaul "LeoNerd" Evans2014-09-031-9/+57
* Update API docs to use 'presence' key not 'state'. Fixed error messages when ...Kegan Dougal2014-09-031-1/+1
* Rename the 'do_users_share_a_room' to something slightly less verb-soundingPaul "LeoNerd" Evans2014-09-031-1/+1
* Neater is_presence_visible() codePaul "LeoNerd" Evans2014-09-031-9/+8
* Safer handling of incoming presence EDUs that may or maynot contain 'presence...Paul "LeoNerd" Evans2014-09-021-3/+13
* 'continue' to go to the next item in a for loop, not 'break'Paul "LeoNerd" Evans2014-09-021-1/+1
* Reënable presence visibility permission checking now it's not used on redund...Paul "LeoNerd" Evans2014-09-011-4/+0
* No need to test is_presence_visible in _start_polling_local because we know i...Paul "LeoNerd" Evans2014-09-011-4/+0
* Bump a user's presence last_active time every time they send a message to a roomPaul "LeoNerd" Evans2014-09-011-0/+6
* Rename API-visible 'mtime' presence field to 'last_active'; slightly differen...Paul "LeoNerd" Evans2014-09-011-23/+49
* Rename 'state' presence key to the much more obvious 'presence'; maintain a l...Paul "LeoNerd" Evans2014-09-011-11/+31
* Bugfixes on presence pushes on user joining:Paul "LeoNerd" Evans2014-08-291-9/+8
* Renamed get_current_token_part to get_current_keyPaul "LeoNerd" Evans2014-08-291-1/+1
* Have EventSource's get_new_events_for_user() API work only on keys within tha...Paul "LeoNerd" Evans2014-08-291-10/+4
* Move the *EventSource classes into the handlers they relate to, so it's easie...Paul "LeoNerd" Evans2014-08-291-0/+78
* Fix a couple of bugs in presence handler related to pushing updatesto the cor...Erik Johnston2014-08-291-18/+41
* Turn of trace_function loggingErik Johnston2014-08-281-8/+8
* Only poll remote users if they are in our presence list, rather than in a com...Erik Johnston2014-08-281-53/+66
* Don't query the rooms members table so much by using the new notifier api tha...Erik Johnston2014-08-281-61/+45
* Merge branch 'develop' of github.com:matrix-org/synapse into presence_loggingErik Johnston2014-08-281-2/+14
|\
| * Only send presence "poll"/"unpoll" EDUs when changing from/to zero remotesPaul "LeoNerd" Evans2014-08-281-2/+14
| * Re-enable presence, un-skip presence testsPaul "LeoNerd" Evans2014-08-281-8/+0
* | And more logging.Erik Johnston2014-08-281-0/+1
* | Add more logging. Up the event stream timer to 10sErik Johnston2014-08-281-0/+2
* | Add logging to try and figure out what is going on with the presence stuffErik Johnston2014-08-281-2/+9
|/
* Turn off presence again.Erik Johnston2014-08-271-2/+2
* Implement presence event source. Change the way the notifier indexes listenersErik Johnston2014-08-271-6/+1
* Enable presence again. Fix up api to match old api.Erik Johnston2014-08-261-2/+2
* WIP: Completely change how event streaming and pagination work. This reflects...Erik Johnston2014-08-261-32/+0