summary refs log tree commit diff
path: root/synapse/handlers/typing.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Stop sub-classing object (#8249)Patrick Cloke2020-09-041-1/+1
|
* Do not propagate typing notifications from shadow-banned users. (#8176)Patrick Cloke2020-08-261-5/+16
|
* Allow moving typing off master (#7869)Erik Johnston2020-07-161-74/+167
|
* Fix typoErik Johnston2020-07-151-1/+1
|
* Use get_users_in_room rather than state handler in typing for speedErik Johnston2020-07-151-2/+2
|
* Refactor getting replication updates from database v2. (#7740)Erik Johnston2020-07-071-0/+3
|
* Convert the typing handler to async/await. (#7679)Patrick Cloke2020-06-171-18/+11
|
* Refactor getting replication updates from database. (#7636)Erik Johnston2020-06-161-8/+32
| | | The aim here is to make it easier to reason about when streams are limited and when they're not, by moving the logic into the database functions themselves. This should mean we can kill of `db_query_to_update_function` function.
* Remove concept of a non-limited stream. (#7011)Erik Johnston2020-03-201-2/+9
|
* Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)Patrick Cloke2020-02-211-2/+2
| | | | Ensure good comprehension hygiene using flake8-comprehensions.
* Refactor the membership check methods in AuthRichard van der Hoff2020-02-181-2/+2
| | | | | these were getting a bit unwieldy, so let's combine `check_joined_room` and `check_user_was_in_room` into a single `check_user_in_room`.
* Port synapse.replication.tcp to async/await (#6666)Erik Johnston2020-01-161-1/+1
| | | | | | | | | | * Port synapse.replication.tcp to async/await * Newsfile * Correctly document type of on_<FOO> functions as async * Don't be overenthusiastic with the asyncing....
* Remove unused `get_pagination_rows` methods. (#6557)Erik Johnston2019-12-171-3/+0
| | | Remove unused get_pagination_rows methods
* Fixup functions to consistently return deferredsErik Johnston2019-12-061-1/+1
|
* Replace instance variations of homeserver with correct case/spacingAndrew Morgan2019-11-121-2/+2
|
* Remove unnecessary parentheses around return statements (#5931)Andrew Morgan2019-08-301-1/+1
| | | | | Python will return a tuple whether there are parentheses around the returned values or not. I'm just sick of my editor complaining about this all over the place :)
* Move some timeout checking logs to DEBUG #5785 Amber Brown2019-07-301-1/+1
|
* Replace returnValue with return (#5736)Amber Brown2019-07-231-2/+2
|
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-1/+1
|
* Run Black. (#5482)Amber Brown2019-06-201-57/+17
|
* Fix grammar and document get_current_users_in_room (#4998)Andrew Morgan2019-04-031-2/+2
|
* Avoid rebuilding Edu objects in worker mode (#4770)Richard van der Hoff2019-03-041-1/+1
| | | | | In worker mode, on the federation sender, when we receive an edu for sending over the replication socket, it is parsed into an Edu object. There is no point extracting the contents of it so that we can then immediately build another Edu.
* Fix typing being reset causing infinite syncs (#4127)Amber Brown2018-11-031-4/+10
|
* Merge pull request #3964 from matrix-org/rav/remove_localhost_checksRichard van der Hoff2018-09-281-0/+1
|\ | | | | remove spurious federation checks on localhost
| * Fix complete fail to do the right thingRichard van der Hoff2018-09-281-0/+1
| |
* | Improve performance of getting typing updates for replicationErik Johnston2018-09-051-3/+19
|/ | | | | | Fetching the list of all new typing notifications involved iterating over all rooms and comparing their serial. Lets move to using a stream change cache, like we do for other streams.
* run isortAmber Brown2018-07-091-6/+5
|
* 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