summary refs log tree commit diff
path: root/synapse/handlers/message.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
| | | | what could possibly go wrong
* fix isinstanceDavid Baker2017-10-111-1/+1
|
* Allow error strings from spam checkerDavid Baker2017-10-111-2/+6
|
* Merge pull request #2466 from matrix-org/erikj/groups_mergedErik Johnston2017-10-111-1/+2
|\ | | | | Initial Group Implementation
| * Merge branch 'develop' into erikj/groups_mergedDavid Baker2017-10-021-1/+53
| |\
| * | Split out profile handler to fix testsErik Johnston2017-08-251-1/+2
| | |
* | | Merge pull request #2483 from jeremycline/unfreeze-ujson-dumpErik Johnston2017-10-111-1/+2
|\ \ \ | |_|/ |/| | Unfreeze event before serializing with ujson
| * | Unfreeze event before serializing with ujsonJeremy Cline2017-09-301-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In newer versions of https://github.com/esnme/ultrajson, ujson does not serialize frozendicts (introduced in esnme/ultrajson@53f85b1). Although the PyPI version is still 1.35, Fedora ships with a build from commit esnme/ultrajson@2f1d487. This causes the serialization to fail if the distribution-provided package is used. This runs the event through the unfreeze utility before serializing it. Thanks to @ignatenkobrain for tracking down the root cause. fixes #2351 Signed-off-by: Jeremy Cline <jeremy@jcline.org>
* | Fix /joined_members to work with AS usersErik Johnston2017-09-281-11/+25
| |
* | Fix bug where /joined_members didn't check user was in roomErik Johnston2017-09-271-0/+31
| |
* | Make the spam checker a moduleDavid Baker2017-09-261-2/+3
| |
* | PoC for filtering spammy events (#2456)Richard van der Hoff2017-09-191-1/+7
|/ | | Demonstration of how you might add some hooks to filter out spammy events.
* Fix bug where pusherpool didn't start and broke some roomsErik Johnston2017-07-061-1/+3
| | | | | | | | Since we didn't instansiate the PusherPool at start time it could fail at run time, which it did for some users. This may or may not fix things for those users, but it should happen at start time and stop the server from starting.
* Remove unused variablesErik Johnston2017-06-261-1/+1
|
* Reject local events that don't round trip the DBErik Johnston2017-06-191-0/+9
|
* Store ActionGenerator in HomeServerErik Johnston2017-05-191-2/+1
|
* Faster push rule calculation via push specific cacheErik Johnston2017-05-171-2/+3
| | | | | We add a push rule specific cache that ensures that we can reuse calculated push rules appropriately when a user join/leaves.
* Add per user ratelimiting overridesErik Johnston2017-05-101-13/+3
|
* Add more granular event send metricsErik Johnston2017-05-021-2/+8
|
* Fix invite state to always include all eventsErik Johnston2017-04-261-6/+3
|
* Remove spurious yieldRichard van der Hoff2017-04-031-1/+1
| | | | | In `MessageHandler`, remove `yield` on call to `Notifier.on_new_room_event`: it doesn't return anything anyway.
* Don't clobber a displayname or avatar_url if provided by an m.room.member eventPaul "LeoNerd" Evans2017-01-241-2/+4
|
* CommentErik Johnston2017-01-101-0/+2
|
* Don't block messages sending on bumping presenceErik Johnston2017-01-101-1/+1
|
* Merge pull request #1620 from matrix-org/erikj/concurrent_room_accessErik Johnston2016-12-121-27/+33
|\ | | | | Limit the number of events that can be created on a given room concurrently
| * CommentsErik Johnston2016-11-111-0/+2
| |
| * Limit the number of events that can be created on a given room concurretnlyErik Johnston2016-11-101-27/+31
| |
* | Handle sending events and device messages over federationErik Johnston2016-11-171-12/+1
|/
* Sample correctlyErik Johnston2016-11-081-1/+3
|
* Limit the number of prev_events of new eventsErik Johnston2016-11-081-0/+13
|
* Fix incredubly slow back pagination queryErik Johnston2016-10-241-2/+2
| | | | | | | If a client didn't specify a from token when paginating backwards synapse would attempt to query the (global) maximum topological token. This a) doesn't make much sense since they're room specific and b) there are no indices that lets postgres do this efficiently.
* CommentErik Johnston2016-10-191-0/+3
|
* Check whether to ratelimit sooner to avoid workErik Johnston2016-10-191-1/+13
|
* Support /initialSync in synchrotron workerErik Johnston2016-09-211-378/+3
|
* Use get_joined_users_from_context instead of manually looking up hostsErik Johnston2016-09-051-38/+6
|
* Correctly handle the difference between prev and current stateErik Johnston2016-08-311-5/+5
|
* Replace context.current_state with context.current_state_idsErik Johnston2016-08-251-22/+69
|
* Preserve some logcontextsErik Johnston2016-08-241-15/+20
|
* Add filter param to /messages APIErik Johnston2016-07-141-4/+12
|
* Add ReadWriteLock for pagination and history pruneErik Johnston2016-07-051-34/+36
|
* Add purge_history APIErik Johnston2016-07-051-0/+13
|
* Poke notifier on next reactor tickErik Johnston2016-06-031-4/+7
|
* Merge pull request #787 from matrix-org/markjh/liberate_presence_handlerMark Haines2016-05-171-2/+2
|\ | | | | Move the presence handler out of the Handlers object
| * Move the presence handler out of the Handlers objectMark Haines2016-05-161-2/+2
| |
* | Spell "domain" correctlyMark Haines2016-05-161-2/+2
|/ | | | s/domian/domain/g
* move filter_events_for_client out of base handlerMark Haines2016-05-111-8/+10
|
* Shuffle when we get the signing_key attribute.Mark Haines2016-05-111-2/+2
| | | | | | | | Wait until we sign a message to get the signing key from the homeserver config. This means that the message handler can be created without having a signing key in the config which means that separate processes like the pusher that don't send messages and don't need to sign them can still access the handlers.
* Move _create_new_client_event and handle_new_client_event out of base handlerMark Haines2016-05-111-2/+197
|
* Run filter_events_for_clientDavid Baker2016-04-271-4/+4
| | | | so we don't accidentally mail out events people shouldn't see
* Remove some unused functions (#711)Mark Haines2016-04-081-29/+0
| | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want
* Call profile handler get_displayname directly rather than using ↵Mark Haines2016-04-071-9/+1
| | | | collect_presencelike_data
* Use computed prev event idsErik Johnston2016-04-011-1/+5
|
* Add concurrently_execute functionErik Johnston2016-04-011-8/+2
|
* Merge pull request #618 from matrix-org/markjh/pushrule_streamMark Haines2016-03-041-2/+2
|\ | | | | Add a stream for push rule updates
| * Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-041-3/+5
| |\
| * | Hook up the push rules to the notifierMark Haines2016-03-031-2/+2
| | |
* | | SpellingErik Johnston2016-03-041-1/+1
| | |
* | | Add profile information to invitesErik Johnston2016-03-041-2/+15
| |/ |/|
* | Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-031-3/+5
|/ | | | This will enable more detailed decisions
* Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-191-11/+3
|\ | | | | Rewrite presence for performance.
| * Initial cutErik Johnston2016-02-171-11/+3
| |
* | Review commentsDaniel Wagner-Hall2016-02-181-1/+1
| |
* | Some cleanupDaniel Wagner-Hall2016-02-161-4/+10
| |
* | Branch off member and non member sendsDaniel Wagner-Hall2016-02-151-32/+34
| | | | | | | | Unclean, needs tidy-up, but works
* | Merge implementation of /join by alias or IDDaniel Wagner-Hall2016-02-151-7/+13
|/ | | | | This code is kind of rough (passing the remote servers down a long chain), but is a step towards improvement.
* Allow paginating backwards from stream tokenErik Johnston2016-01-281-6/+9
|
* Make it possible to paginate forwards from stream tokensRichard van der Hoff2016-01-271-22/+21
| | | | | In order that we can fill the gap after a /sync, make it possible to paginate forwards from a stream token.
* Allow non-guests to peek on rooms using /eventsDaniel Wagner-Hall2016-01-201-47/+46
|
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-12/+45
|
* Skip, rather than erroring, invalid guest requestsDaniel Wagner-Hall2016-01-051-2/+2
| | | | | | | | | | Erroring causes problems when people make illegal requests, because they don't know what limit parameter they should pass. This is definitely buggy. It leaks message counts for rooms people don't have permission to see, via tokens. But apparently we already consciously decided to allow that as a team, so this preserves that behaviour.
* Move the doc string to the public facing methodMark Haines2015-12-221-16/+17
|
* Add a cache for initialSync responses that expires after 5 minutesMark Haines2015-12-221-1/+23
|
* Make state updates in the C+S API idempotentMark Haines2015-12-021-0/+12
|
* Fix typo in collect_presencelike_dataMark Haines2015-12-021-1/+1
|
* Wrap calls to distributor.fire in appropriately named functions so that ↵Mark Haines2015-12-011-4/+6
| | | | static analysis can work out want is calling what
* Add API for setting account_data globaly or on a per room basisMark Haines2015-12-011-6/+34
|
* Merge pull request #375 from matrix-org/daniel/guestroominitialsyncDaniel Wagner-Hall2015-11-231-10/+15
|\ | | | | Clean up room initialSync for guest users
| * Clean up room initialSync for guest usersDaniel Wagner-Hall2015-11-131-10/+15
| |
* | s/private_user_data/account_data/Mark Haines2015-11-181-6/+6
|/
* Merge pull request #367 from matrix-org/daniel/readafterleaveDaniel Wagner-Hall2015-11-121-10/+11
|\ | | | | | | | | Merge pull request #367 from matrix-org/daniel/readafterleave Tweak guest access permissions
| * Tweak guest access permissionsDaniel Wagner-Hall2015-11-121-10/+11
| | | | | | | | | | | | * Allow world_readable rooms to be read by guests who have joined and left * Allow regular users to access world_readable rooms
* | Merge pull request #360 from matrix-org/daniel/guestroominitialsyncDaniel Wagner-Hall2015-11-121-23/+32
|\ \ | |/ |/| | | | | Merge pull request #360 from matrix-org/daniel/guestroominitialsync Allow guest access to room initialSync
| * Allow guest access to room initialSyncDaniel Wagner-Hall2015-11-111-23/+32
| |
* | Consider joined guest users as joined usersDaniel Wagner-Hall2015-11-121-12/+21
|/ | | | | Otherwise they're inconveniently allowed to write events to the room but not to read them from the room.
* Allow guest users to join and message roomsDaniel Wagner-Hall2015-11-101-2/+2
|
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-051-13/+34
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-041-21/+25
| | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* Store room tag content and return the content in the m.tag eventMark Haines2015-11-021-4/+2
|
* Include tags in v1 room initial syncMark Haines2015-10-301-0/+11
|
* Include room tags v1 /initialSyncMark Haines2015-10-301-0/+12
|
* Amalgamate _filter_events_for_clientErik Johnston2015-10-161-50/+4
|
* Remove unused room_id argErik Johnston2015-10-141-5/+5
|
* Add a flag to initial sync to indicate we want rooms that the user has leftMark Haines2015-10-081-5/+8
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/invite_stateErik Johnston2015-09-251-48/+158
|\
| * Clarify that room_initial_sync returns a python dictMark Haines2015-09-211-1/+1
| |
| * Fix doc string to point at the right classMark Haines2015-09-211-2/+3
| |
| * Add explicit "elif event.membership == Membership.LEAVE" for clarityMark Haines2015-09-211-1/+2
| |
| * Clamp the "to" token for /rooms/{roomId}/messages to when the user leftMark Haines2015-09-211-0/+4
| | | | | | | | | | | | | | | | the room. There isn't a way for the client to learn a valid "to" token for a room that they have left in the C-S API but that doesn't stop a client making one up.
| * Allow users to GET individual state events for rooms that they have leftMark Haines2015-09-101-7/+13
| |
| * Allow users that have left a room to get the messages that happend in the ↵Mark Haines2015-09-091-4/+27
| | | | | | | | room before they left
| * Remove undocumented and unimplemented 'feedback' parameter from the ↵Mark Haines2015-09-091-18/+3
| | | | | | | | Client-Server API
| * Allow rooms/{roomId}/state for a room that has been leftMark Haines2015-09-091-5/+13
| |
| * Allow room initialSync for users that have left the room, returning a ↵Mark Haines2015-09-091-9/+76
| | | | | | | | snapshot of how the room was when they left it
| * Include rooms that a user has left in an initialSync. Include the state and ↵Mark Haines2015-09-081-6/+21
| | | | | | | | messages at the point they left the room
* | Bundle in some room state in the unsigned bit of the invite when sending to ↵Erik Johnston2015-09-101-0/+4
|/ | | | invited servers
* Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-251-6/+3
| | | | | | | | | | Removes device_id and ClientInfo device_id is never actually written, and the matrix.org DB has no non-null entries for it. Right now, it's just cluttering up code. This doesn't remove the columns from the database, because that's fiddly.
* Implement a batched presence_handler.get_state and use itErik Johnston2015-08-171-12/+6
|
* Fix _filter_events_for_clientErik Johnston2015-08-121-3/+1
|
* Simplify staggered deferred listsErik Johnston2015-08-121-2/+2
|
* Use list comprehension instead of filterErik Johnston2015-08-121-10/+3
|
* Remove debug loggersErik Johnston2015-08-111-3/+0
|
* Fix application of ACLsErik Johnston2015-08-111-4/+12
|
* Don't be too enthusiatic with defer.gatherResultsErik Johnston2015-08-071-4/+8
|
* Speed up event filtering (for ACL) logicErik Johnston2015-08-041-1/+5
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receiptsErik Johnston2015-07-131-1/+65
|\
| * Rename key and values for m.room.history_visibility. Support 'invited' valueErik Johnston2015-07-061-4/+20
| |
| * Make v1 initial syncs respect room history ACLErik Johnston2015-07-021-17/+34
| |
| * Add basic impl for room history ACL on GET /messages client APIErik Johnston2015-07-021-1/+32
| |
* | Hook up receipts to v1 initialSyncErik Johnston2015-07-081-3/+13
|/
* Use another deferred listErik Johnston2015-06-161-18/+27
|
* Use DeferredListErik Johnston2015-06-161-9/+9
|
* Don't do unecessary db ops in presence.get_stateErik Johnston2015-06-161-0/+1
|
* Merge pull request #144 from matrix-org/erikj/logging_contextMark Haines2015-05-121-2/+3
|\ | | | | Preserving logging contexts
| * Unwrap defer.gatherResults failuresErik Johnston2015-05-121-2/+3
| |
* | Make get_current_token accept a direction parameter, which tells whether the ↵Erik Johnston2015-05-121-1/+3
| | | | | | | | source whether we want a token for going 'forwards' or 'backwards'
* | Initial hack at wiring together pagination and backfillErik Johnston2015-05-111-1/+9
|/
* Make simple query rather than long one and then throw away half the resultsErik Johnston2015-04-301-2/+1
|
* Do more parellelization for initialSyncErik Johnston2015-04-151-7/+11
|
* Parellelize initial syncErik Johnston2015-04-151-2/+8
|
* Reindent code to be less human-readable to keep pep8 from complainingPaul "LeoNerd" Evans2015-02-121-1/+1
|
* Appease pyflakesPaul "LeoNerd" Evans2015-02-121-1/+1
|
* Can now remove the FIXME tooPaul "LeoNerd" Evans2015-02-121-10/+3
|
* Only attempt to fetch presence state of JOINed members in room initialSync ↵Paul "LeoNerd" Evans2015-02-121-0/+1
| | | | (SYN-202)
* During room intial sync, only calculate current state once.Erik Johnston2015-02-091-10/+22
|
* SYN-202: Log as WARN the 404 'Presence information not visible' errors ↵Erik Johnston2015-02-051-5/+12
| | | | instead of as ERROR since they were spamming the logs
* Extract the id token of the token when authing users, include the token and ↵Mark Haines2015-01-281-1/+11
| | | | device_id in the internal meta data for the event along with the transaction id when sending events
* Pass the current time to serialize event, rather than passing anMark Haines2015-01-261-6/+15
| | | | | | HS and getting a clock from it and calling time_msec on the clock. Remove the serialize_event method from the HS since it is no longer needed.
* Replace hs.parse_userid with UserID.from_stringMark Haines2015-01-231-6/+7
|
* Add raw query param for scrollback.Kegan Dougal2015-01-081-2/+5
|
* Return the raw federation event rather than adding extra keys for federation ↵Kegan Dougal2015-01-081-2/+3
| | | | data.
* Add missing continuation indent.Erik Johnston2015-01-081-1/+2
|
* Add 'raw' query parameter to expose the event graph and signatures to savvy ↵Kegan Dougal2015-01-081-2/+4
| | | | clients.
* RoomsForUser now has sender instead of user_idErik Johnston2015-01-061-1/+1
|
* Update copyright noticesMark Haines2015-01-061-1/+1
|
* bump_presence_active_time when sending a message eventMark Haines2014-12-191-0/+6
|
* Don't ratelimit room create eventsMark Haines2014-12-191-2/+3
|
* Merge branch 'release-v0.6.0' into developMark Haines2014-12-161-0/+5
|\
| * Enable rate limiting for all eventsErik Johnston2014-12-161-0/+5
| |
* | Remove send_message since nothing was calling it. Remove Snapshot because ↵Mark Haines2014-12-161-38/+0
|/ | | | only send_message was using it
* Kill off synapse.api.events.*Erik Johnston2014-12-161-1/+0
|
* Rename MessageHandler.handle_event. Add a few comments.Erik Johnston2014-12-151-1/+13
|
* Validate message, topic and name event contentsErik Johnston2014-12-121-1/+1
|
* Add some basic event validationErik Johnston2014-12-101-2/+6
|
* Fix bug when uploading state with empty state_keyErik Johnston2014-12-101-15/+0
|
* Try and figure out how and why signatures are being changed.Erik Johnston2014-12-101-1/+0
|
* More bug fixesErik Johnston2014-12-081-0/+12
|
* Convert rest and handlers to use new event structureErik Johnston2014-12-041-1/+22
|
* Change DomainSpecificString so that it doesn't use a HomeServer objectErik Johnston2014-12-021-1/+1
|
* Fix bugs in invite/join dances.Erik Johnston2014-11-251-1/+1
| | | | | We now do more implement more of the auth on the events so that we don't reject valid events.
* SYN-58: Allow passing explicit limit=0 to initialSync to request no messages ↵Paul "LeoNerd" Evans2014-11-201-1/+1
| | | | at all; missing still implies default 10
* Fix pep8 codestyle warningsMark Haines2014-11-201-3/+3
|
* Add a few missing yields, Move deferred lists inside PreserveLoggingContext ↵Mark Haines2014-11-201-3/+5
| | | | because they don't interact well with the logging contexts
* Remove unused variableMark Haines2014-11-181-1/+1
|
* Rename message handler's new snapshot_room to room_initial_sync() as that ↵Paul "LeoNerd" Evans2014-11-181-1/+1
| | | | better suits its purpose
* Include room members' presence in room initialSyncPaul "LeoNerd" Evans2014-11-181-1/+22
|
* Include 'messages' snapshot in room initialSyncPaul "LeoNerd" Evans2014-11-181-1/+20
|
* Merge branch 'develop' into room-initial-syncPaul "LeoNerd" Evans2014-11-171-63/+26
|\ | | | | | | | | Conflicts: synapse/handlers/message.py
| * PEP8ifyErik Johnston2014-11-111-9/+12
| |
| * Only allow people in a room to look up room state.Erik Johnston2014-11-111-34/+4
| |
| * Implement new replace_state and changed prev_stateErik Johnston2014-11-061-8/+3
| | | | | | | | | | `prev_state` is now a list of previous state ids, similiar to prev_events. `replace_state` now points to what we think was replaced.
| * Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2014-10-301-3/+7
| |\ | | | | | | | | | federation_authorization
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2014-10-271-13/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | federation_authorization Conflicts: synapse/federation/transport.py synapse/handlers/message.py
| * | | Use state groups to get current state. Make join dance actually work.Erik Johnston2014-10-171-3/+3
| | | |
| * | | Begin making auth use event.old_state_eventsErik Johnston2014-10-151-10/+3
| | | |
* | | | Include room membership in room initialSyncPaul "LeoNerd" Evans2014-11-101-1/+7
| | | |
* | | | Put room state in room initialSync output - I guess this is right; I really ↵Paul "LeoNerd" Evans2014-11-101-2/+5
| | | | | | | | | | | | | | | | can't find any other tests similar...
* | | | Have room initialSync return the room's room_idPaul "LeoNerd" Evans2014-11-101-0/+11
| |_|/ |/| |
* | | Construct a source-specific 'SourcePaginationConfig' to pass into ↵Paul "LeoNerd" Evans2014-10-291-3/+7
| |/ |/| | | | | get_pagination_rows; meaning each source doesn't have to care about its own name any more
* | SPEC-7: Don't stamp event contents with 'hsob_ts'Mark Haines2014-10-171-13/+3
|/
* Implemented /rooms/$roomid/state API.Kegan Dougal2014-09-231-0/+16
|
* SYWEB-3 : Added 'visibility' key to rooms returned via /initialSyncKegan Dougal2014-09-171-0/+5
|
* Correctly handle the 'age' key in events and pdusErik Johnston2014-09-151-3/+3
|
* Generate m.room.aliases event when the HS creates a room aliasErik Johnston2014-09-051-2/+2
|
* 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.
* Snapshot prev_state for generic eventsErik Johnston2014-09-031-1/+6
|
* rate limiting for message sendingMark Haines2014-09-021-0/+2
|
* Add message to assertionErik Johnston2014-09-021-1/+1
|
* Bump a user's presence last_active time every time they send a message to a roomPaul "LeoNerd" Evans2014-09-011-0/+4
|
* Perform room unit tests with 'local' users actually in the right domain ;)Paul "LeoNerd" Evans2014-09-011-0/+4
|
* Rename 'events_key' to 'room_key' so it matches the name of the event sourcePaul "LeoNerd" Evans2014-08-291-3/+3
|
* Get the equalities right.Erik Johnston2014-08-291-2/+5
|
* Split out MessageHandlerErik Johnston2014-08-271-0/+301