summary refs log tree commit diff
path: root/synapse/handlers/presence.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #602 from matrix-org/erikj/presenceErik Johnston2016-02-231-19/+45
|\ | | | | Change the way we figure out presence updates for small deltas
| * 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
|\| | | | | Measure PresenceEventSource.get_new_events
| * 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 ↵Erik Johnston2016-02-181-5/+15
| | | | message
* 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 ↵Mark Haines2015-12-011-7/+11
| | | | static analysis can work out want is calling what
* Rename presence_handler.send_invite to presence_handler.send_presence_invite ↵Mark Haines2015-12-011-1/+1
| | | | to distinguish it from normal invites
* 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
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Fix some races in the synapse presence handler caused by not yielding on ↵Mark Haines2015-10-091-3/+8
| | | | deferreds
* 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
|\ | | | | Improvement to performance of presence event stream handling
| * 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 ↵Paul "LeoNerd" Evans2015-05-071-4/+13
| | | | | | | | be at the end
* | 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 ↵Paul "LeoNerd" Evans2015-04-231-1/+11
| | | | elements) when they go online again
* 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 ↵Paul "LeoNerd" Evans2015-04-231-0/+21
| | | | offline, so that when we delete them from the cachemap, we can still synthesize OFFLINE events for them (SYN-261)
* 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 ↵Erik Johnston2015-03-091-3/+3
| | | | uses the a storage api that is cached.
* Use consumeErrors=True on all DeferredLists.Erik Johnston2015-02-171-4/+4
| | | | | | This is so that the DeferredLists actually consume the error instead of propogating down the non-existent errback chain. This should reduce the number of unhandled errors we are seeing.
* 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
|\ | | | | | | | | | | Conflicts: synapse/handlers/events.py synapse/server.py
| * 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 ↵Paul "LeoNerd" Evans2014-12-031-4/+4
| | | | | | | | no interested observers (yet *hint*) (SYN-115)
* | 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 ↵Mark Haines2014-11-201-21/+27
| | | | because they don't interact well with the logging contexts
* 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 ↵Paul "LeoNerd" Evans2014-11-181-2/+15
| | | | complete m.presence event
* Don't expect all _user_cachemap entries to definitely contain a ↵Paul "LeoNerd" Evans2014-11-181-3/+3
| | | | "last_active" key
* Fix pep8 warningsMark Haines2014-10-301-18/+15
|
* Fix an off-by-one bug in presence event stream pagination; this might be ↵Paul "LeoNerd" Evans2014-10-291-1/+1
| | | | responsible for any number of bug reports
* Construct a source-specific 'SourcePaginationConfig' to pass into ↵Paul "LeoNerd" Evans2014-10-291-20/+5
| | | | get_pagination_rows; meaning each source doesn't have to care about its own name any more
* 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 ↵Erik Johnston2014-09-061-2/+3
| | | | handling a key therein
* 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.
* Kill the statePaul "LeoNerd" Evans2014-09-031-26/+5
| | | | ... key from all the Presence messages
* 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
| | | | setting presence.
* 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 ↵Paul "LeoNerd" Evans2014-09-021-3/+13
| | | | 'presence' or 'state'
* '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 ↵Paul "LeoNerd" Evans2014-09-011-4/+0
| | | | redundant code paths
* No need to test is_presence_visible in _start_polling_local because we know ↵Paul "LeoNerd" Evans2014-09-011-4/+0
| | | | it will be by when it's called
* 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 ↵Paul "LeoNerd" Evans2014-09-011-23/+49
| | | | different semantics
* Rename 'state' presence key to the much more obvious 'presence'; maintain a ↵Paul "LeoNerd" Evans2014-09-011-11/+31
| | | | legacy 'state' copy for now
* Bugfixes on presence pushes on user joining:Paul "LeoNerd" Evans2014-08-291-9/+8
| | | | | | | | | * No need to inform clients of status of remote users; as that will arrive in due course anyway. We don't -have- the state currently, so we'd only send an unknown message * Remember to bump the presence serial for the event source, so the notifiers will wake up and report it
* 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 ↵Paul "LeoNerd" Evans2014-08-291-10/+4
| | | | that source, not overall eventstream tokens
* Move the *EventSource classes into the handlers they relate to, so it's ↵Paul "LeoNerd" Evans2014-08-291-0/+78
| | | | easier to find the code
* Fix a couple of bugs in presence handler related to pushing updatesto the ↵Erik Johnston2014-08-291-18/+41
| | | | correct user. Fix presence tests.
* 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 ↵Erik Johnston2014-08-281-53/+66
| | | | common room
* Don't query the rooms members table so much by using the new notifier api ↵Erik Johnston2014-08-281-61/+45
| | | | that allows you to specify room_ids to notify.
* Merge branch 'develop' of github.com:matrix-org/synapse into presence_loggingErik Johnston2014-08-281-2/+14
|\ | | | | | | | | Conflicts: synapse/handlers/presence.py
| * 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 ↵Erik Johnston2014-08-261-32/+0
| | | | reflects the change in the underlying storage model.
* Fix pyflakes errorsMark Haines2014-08-261-1/+1
|
* Add a do_users_share_a_room method and use that in the presence handler.Erik Johnston2014-08-261-5/+4
|
* Oops, we need to use defer.returnValue.Erik Johnston2014-08-221-1/+2
|
* Make is_presence_visible always return true as it was thrashing the database.Erik Johnston2014-08-221-0/+3
|
* Add indices to schemaErik Johnston2014-08-221-0/+4
|
* Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-191-3/+0
|\
| * Don't delete OFFLINE users from the presence cache, so we can report on ↵Paul "LeoNerd" Evans2014-08-191-3/+0
| | | | | | | | their offline mtime
* | PresenceStreamData was expecting *_key to be intsErik Johnston2014-08-191-0/+3
| |
* | Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-191-3/+7
|\| | | | | | | | | | | | | Conflicts: tests/rest/test_presence.py tests/rest/test_rooms.py tests/utils.py
| * Perform the 'REST'-level tests of Presence against the real Presence handler ↵Paul "LeoNerd" Evans2014-08-191-1/+1
| | | | | | | | as well, mocking out the datastore beneath it
| * Implement and test presence dropping of remote usersPaul "LeoNerd" Evans2014-08-191-2/+6
| |
* | Change the way pagination works to support out of order events.Erik Johnston2014-08-191-1/+1
|/
* Allow room presence visibility between users who share a roomPaul "LeoNerd" Evans2014-08-181-7/+5
|
* improve commentMatthew Hodgson2014-08-161-1/+1
|
* emergency bodges to turn off presence ACLs in order to makeMatthew Hodgson2014-08-161-2/+7
| | | | matrix.org:8080 actually work
* When starting to poll for presence, also include members of all shared roomsPaul "LeoNerd" Evans2014-08-151-3/+12
|
* Round Presence mtime and mtime_age to nearest msec; avoids floats for msec ↵Paul "LeoNerd" Evans2014-08-141-5/+15
| | | | values over the wire
* An initial hack at storing presence state-change mtimes in database and ↵Paul "LeoNerd" Evans2014-08-131-7/+34
| | | | presenting age durations to clients/federation events
* add in whitespace after copyright statements to improve legibilityMatthew Hodgson2014-08-131-0/+1
|
* Reference Matrix Home Servermatrix.org2014-08-121-0/+697