summary refs log tree commit diff
path: root/synapse/handlers/typing.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-271-20/+23
|\
| * Improve exception handling for background processesRichard van der Hoff2018-04-271-20/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background.
* | Use run_in_background in preference to preserve_fnRichard van der Hoff2018-04-271-3/+4
|/ | | | | | While I was going through uses of preserve_fn for other PRs, I converted places which only use the wrapped function once to use run_in_background, to avoid creating the function object.
* Split out edu/query registration to a separate classErik Johnston2018-03-131-1/+1
|
* Fix typing testsErik Johnston2017-05-261-7/+5
|
* Don't double json encode typing replication dataErik Johnston2017-04-051-3/+1
|
* Add new storage functions for new replicationErik Johnston2017-03-301-0/+3
| | | | | The new replication protocol will keep all the streams separate, rather than muxing multiple streams into one.
* Use new federation_sender DIErik Johnston2016-11-161-2/+2
|
* Fix infinite typing bugErik Johnston2016-10-241-2/+10
| | | | | | | There's a bug somewhere that causes typing notifications to not be timed out properly. By adding a paranoia timer and using correct inequalities notifications should stop being stuck, even if it the root cause hasn't been fixed.
* Move FEDERATION_PING_INTERVAL timer. Update log lineErik Johnston2016-09-231-8/+10
|
* Time out typing over federationErik Johnston2016-09-231-70/+105
|
* Clobber EDUs in send queueErik Johnston2016-09-091-0/+1
|
* Check the user_id for presence/typing matches originErik Johnston2016-09-081-1/+8
|
* Use state handler instead of get_users_in_room/get_joined_hostsErik Johnston2016-08-261-3/+6
|
* Preserve some logcontextsErik Johnston2016-08-241-4/+8
|
* Don't hit DB for noop replications queriesErik Johnston2016-06-081-0/+3
|
* Fix typoErik Johnston2016-06-031-1/+1
|
* Store the typing users as user_id strings. (#819)Mark Haines2016-06-021-28/+36
| | | Rather than storing them as UserID objects.
* Move typing handler out of the Handlers objectMark Haines2016-05-171-18/+15
|
* Remove get_joined_rooms_for_user from RoomMemberHandlerMark Haines2016-05-161-6/+0
|
* Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_roomMark Haines2016-05-161-32/+22
|
* Add a /replication API for extracting the updates that happened onMark Haines2016-03-011-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates.
* Measure some /sync related thingsErik Johnston2016-02-091-10/+13
|
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-051-8/+3
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Remove needless existence checksErik Johnston2015-08-261-7/+3
|
* Don't loop over all rooms ever in typing.get_new_events_for_userErik Johnston2015-08-261-2/+2
|
* Consolidate duplicate code in notifierErik Johnston2015-07-021-1/+1
|
* Don't bother checking for updates if the stream token hasn't advanced for a userMark Haines2015-05-131-1/+3
|
* Fix up leak. Add warnings.Erik Johnston2015-05-081-1/+3
|
* Filter typing nofication events to only those rooms the requesting user is a ↵Paul "LeoNerd" Evans2015-04-151-2/+14
| | | | member of (SYN-328)
* Have TypingNotificationEventSource.get_new_events_for_user() return a ↵Paul "LeoNerd" Evans2015-04-151-1/+1
| | | | deferred, for consistency and extensibility
* We do want to consumeErrorErik Johnston2015-02-171-1/+1
|
* Replace hs.parse_userid with UserID.from_stringMark Haines2015-01-231-1/+2
|
* Don't try to cancel already-expired timers - SYN-230Paul "LeoNerd" Evans2015-01-131-2/+8
|
* Use float rather than integer divisions to turn msec into sec - so timeouts ↵Paul "LeoNerd" Evans2015-01-121-1/+1
| | | | under 1000msec will actually work
* Make typing notification timeouts print a (debug) logging messagePaul "LeoNerd" Evans2015-01-121-1/+7
|
* Update copyright noticesMark Haines2015-01-061-1/+1
|
* clean up coding style a bitMark Haines2014-12-161-2/+2
|
* User.is_mine is no longer a thing. Use hs.is_mine instead.Erik Johnston2014-12-151-1/+1
|
* Merge branch 'develop' of github.com:matrix-org/synapse into events_refactorErik Johnston2014-12-151-20/+105
|\ | | | | | | | | Conflicts: tests/handlers/test_room.py
| * Still send typing notifications to myself if I'm the only one in the room ↵Paul "LeoNerd" Evans2014-12-151-2/+1
| | | | | | | | (it's a lonely life...)
| * Send list of typing user IDs as 'user_ids' list within 'content', so that ↵Paul "LeoNerd" Evans2014-12-121-1/+3
| | | | | | | | m.typing stream events have a toplevel content, for consistency with others
| * When users leave rooms mark them as no longer typing in themPaul "LeoNerd" Evans2014-12-111-0/+8
| |
| * Actually auth-check to ensure people can only send typing notifications for ↵Paul "LeoNerd" Evans2014-12-111-0/+4
| | | | | | | | rooms they're actually in
| * Add a sprinkling of logger.debug() into typing notification handlerPaul "LeoNerd" Evans2014-12-111-0/+8
| |
| * Initial hack at unit tests of room typing REST APIPaul "LeoNerd" Evans2014-12-111-0/+7
| |
| * Avoid cyclic dependency in handler setupPaul "LeoNerd" Evans2014-12-101-4/+10
| |
| * Hook up the event stream to typing notificationsPaul "LeoNerd" Evans2014-12-101-2/+22
| |
| * Store serial numbers per room for typing event stream purposesPaul "LeoNerd" Evans2014-12-101-13/+28
| |
| * First hack at implementing timeouts in typing notification handlerPaul "LeoNerd" Evans2014-12-101-3/+19
| |
* | Change DomainSpecificString so that it doesn't use a HomeServer objectErik Johnston2014-12-021-2/+2
|/
* Fix pep8 warningsMark Haines2014-10-301-6/+8
|
* Construct a source-specific 'SourcePaginationConfig' to pass into ↵Paul "LeoNerd" Evans2014-10-291-1/+1
| | | | get_pagination_rows; meaning each source doesn't have to care about its own name any more
* 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.
* 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-2/+2
| | | | that source, not overall eventstream tokens
* TypingNotificationEventSource has to return proper tokens, not int 0Paul "LeoNerd" Evans2014-08-291-2/+2
|
* Define a new event stream data source for typing notifications (currently null)Paul "LeoNerd" Evans2014-08-291-0/+14
|
* Fix pyflakes warningsMark Haines2014-08-281-1/+2
|
* Initial typing notification support - EDU federation, but no timers, and no ↵Paul "LeoNerd" Evans2014-08-271-0/+146
actual push to clients