summary refs log tree commit diff
path: root/synapse/push/mailer.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-07-06Fix bug where pusherpool didn't start and broke some roomsErik Johnston3-10/+11
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.
2017-07-06Bump version and changelog github/release-v0.22.0 release-v0.22.0Erik Johnston2-1/+7
2017-07-04Bump version and changelog v0.22.0-rc2Erik Johnston2-1/+17
2017-07-04Update testErik Johnston1-1/+1
2017-07-04Update READMEErik Johnston1-7/+4
2017-07-04Increase default cache factor size.Erik Johnston1-1/+1
2017-07-04Define CACHE_SIZE_FACTOR onceErik Johnston5-21/+6
2017-06-30Improve the error handling for bad invites received over federationMark Haines1-2/+17
2017-06-29Make into listErik Johnston1-1/+1
2017-06-29Prefill forward extrems and event to state groupsErik Johnston2-2/+13
2017-06-29Cache macaroon parse and validationErik Johnston1-13/+60
Turns out this can be quite expensive for requests, and is easily cachable. We don't cache the lookup to the DB so invalidation still works.
2017-06-29Use an ExpiringCache for storing registration sessionsErik Johnston2-11/+13
This is because pruning them was a significant performance drain on matrix.org
2017-06-27Make workers report to master for user ip updatesErik Johnston9-8/+111
2017-06-27Fix up client ips to read from pending dataErik Johnston4-27/+62
2017-06-27Batch upsert user ipsErik Johnston2-21/+39
2017-06-26Update version and changelog v0.22.0-rc1Erik Johnston2-1/+35
2017-06-26Remove unused variablesErik Johnston1-1/+1
2017-06-26Fix up indices for users_who_share_roomsErik Johnston1-1/+2
2017-06-24Change the config file generator to more descriptive explanation of ↵Caleb James DeLisle1-3/+11
push.redact_content
2017-06-23Fix TravisCI tests for PR #2301 - Fat finger mistakeCaleb James DeLisle1-0/+0
2017-06-23Fix TravisCI tests for PR #2301Caleb James DeLisle3-5/+2
2017-06-23Add configuration parameter to allow redaction of content from push messages ↵Caleb James DeLisle3-2/+43
for google/apple devices
2017-06-23Store URL cache preview downloads seperatelyErik Johnston7-20/+94
This makes it easier to clear old media out at a later date
2017-06-22Make some more params configurableErik Johnston1-5/+8
2017-06-22Typo. ARGH.Erik Johnston1-1/+1
2017-06-22Fix thinko in unhandled user spamErik Johnston1-2/+2
2017-06-22Add descErik Johnston1-0/+1
2017-06-21Initialise exclusive_user_regexErik Johnston2-15/+22
2017-06-21Fix for workersErik Johnston2-1/+4
2017-06-21replaced json.dumps with encode_canonical_jsonKrombel1-1/+2
2017-06-21Don't work out users who share room with appservice usersErik Johnston1-2/+11
2017-06-19Handle thumbnail urlsErik Johnston1-12/+14
2017-06-19Add API to quarantine mediaErik Johnston7-5/+119
2017-06-19Handle all cases of sending membership eventsErik Johnston1-0/+5
2017-06-19Remove unused importErik Johnston1-1/+1
2017-06-19Change to create new room and join other usersErik Johnston2-10/+70
2017-06-19Forget roomErik Johnston1-0/+2
2017-06-19Add shutdown room APIErik Johnston6-1/+134
2017-06-19Reject local events that don't round trip the DBErik Johnston1-0/+9
2017-06-16add missing boolean to synapse_port_dbMatthew1-0/+1
2017-06-16fix synapse_port scriptMatthew1-1/+1
2017-06-16Initial worker implErik Johnston6-7/+328
2017-06-16allow Authorization header which handling got implemented in #1098Krombel1-1/+1
Signed-off-by: Matthias Kesler <krombel@krombel.de>
2017-06-15Bump version and changelogErik Johnston2-1/+9
2017-06-15TypoErik Johnston1-1/+3
2017-06-15Include users who share room with requester in user directoryErik Johnston3-26/+47
2017-06-15Implement updating users who share rooms on the flyErik Johnston2-24/+235
2017-06-15Implement initial population of users who share rooms tableErik Johnston2-9/+193
2017-06-15Add DB schema for tracking users who share roomsErik Johnston2-1/+33
2017-06-15Add some more statsErik Johnston3-0/+35
2017-06-15Remove unhelpful testErik Johnston1-115/+0
2017-06-14Fix phone home statsErik Johnston3-107/+56
2017-06-14add notes on running out of FDsMatthew Hodgson1-0/+24
2017-06-13Fix user directory insertion due to missing room_idErik Johnston2-4/+9
2017-06-13Fix up sqlErik Johnston1-10/+12
2017-06-13Fix user dir to not assume existence of userErik Johnston1-22/+37
2017-06-13Throw exception when not retrying when downloading mediaErik Johnston1-0/+1
2017-06-13Don't assume existance of events when updating user directoryErik Johnston1-3/+6
2017-06-13Tweak the ranking of PG user dir searchErik Johnston1-13/+40
2017-06-13Add cache for is_host_joinedErik Johnston3-2/+7
2017-06-09Fix replicationErik Johnston2-2/+2
2017-06-09CommentsErik Johnston1-0/+3
2017-06-09Cache state deltasErik Johnston1-3/+12
2017-06-09Rewrite conditionalErik Johnston1-1/+1
2017-06-09CommentErik Johnston1-0/+2
2017-06-09Tweak SQLErik Johnston1-3/+6
2017-06-09Fix has_any_entity_changedErik Johnston1-4/+4
Occaisonally has_any_entity_changed would throw the error: "Set changed size during iteration" when taking the max of the `sorteddict`. While its uncertain how that happens, its quite inefficient to iterate over the entire dict anyway so we change to using the more traditional `bisect_*` functions.
2017-06-09Add missing notifierErik Johnston1-1/+2
2017-06-09Fix replicationErik Johnston1-1/+0
2017-06-09Change is_host_joined to use current_state tableErik Johnston4-54/+28
This bypasses a bug where using the state groups to figure out if a host is in a room sometimes errors if the servers isn't in the room. (For example when the server rejected an invite to a remote room)
2017-06-09Mark remote invite rejections as outliersErik Johnston1-0/+1
2017-06-08Ensure we don't use unpersisted state group as prev groupErik Johnston2-7/+19
2017-06-07Fix bug where state_group tables got corruptedErik Johnston3-10/+24
This is due to the fact that we prefilled caches using txn.call_after, which always gets called including on error. We fix this by making txn.call_after only fire when a transaction completes successfully, which is what we want most of the time anyway.
2017-06-07Don't start user_directory handling on workersErik Johnston2-3/+3
2017-06-07Add some logging to user directoryErik Johnston1-0/+7
2017-06-07When pruning, delete from device_lists_outbound_last_successErik Johnston1-0/+8
2017-06-07Keep pruning background taskErik Johnston1-0/+45
2017-06-07CommentsErik Johnston2-0/+15
2017-06-07Remove spurious log linesErik Johnston3-4/+0
2017-06-07Split up device_lists_outbound_pokes table for faster updates.Erik Johnston2-58/+57
2017-06-07Increase size of IP cacheErik Johnston1-1/+6
2017-06-06Fix typo when getting app nameErik Johnston1-1/+1
2017-06-06Fix wrong number of argumentsErik Johnston1-1/+1
2017-06-01Handle profile updates in user directoryErik Johnston2-0/+74
2017-06-01Fix sqliteErik Johnston1-1/+1
2017-06-01Split the table in twoErik Johnston4-31/+138
2017-06-01Tweak search queryErik Johnston1-1/+1
2017-06-01Tweak search queryErik Johnston1-2/+2
2017-06-01CommentsErik Johnston1-3/+3
2017-06-01Check if host is still in roomErik Johnston1-0/+11
2017-06-01Remove spurious inlineCallbacksErik Johnston1-1/+0
2017-06-01Fix removing usersErik Johnston1-0/+5
2017-06-01Bug fixes and loggingErik Johnston2-2/+22
- Check if room is public when a user joins before adding to user dir - Fix typo of field name "content.join_rules" -> "content.join_rule"
2017-06-01Order by if they have profile infoErik Johnston1-2/+11
2017-06-01Use prefix matchingErik Johnston1-5/+29
2017-05-31Comment on why arbitrary commentsErik Johnston1-2/+6
2017-05-31Use unique indicesErik Johnston1-2/+2
2017-05-31Comment briefly on how we keep user_directory up to dateErik Johnston1-0/+10
2017-05-31Convert to intErik Johnston1-0/+1
2017-05-31Lifts things into separate functionErik Johnston1-56/+54
2017-05-31TyposErik Johnston1-8/+8
2017-05-31Fix testsErik Johnston2-2/+3
2017-05-31Fix typoErik Johnston1-1/+1
2017-05-31Limit number of things we fetch out of the dbErik Johnston1-9/+30
2017-05-31Add stream change cacheErik Johnston4-1/+34
2017-05-31Split out directory and search tablesErik Johnston2-29/+56
2017-05-31Pull max id from correct tableErik Johnston2-4/+10
2017-05-31Handle the server leaving a public roomErik Johnston4-3/+46
2017-05-31Add commentsErik Johnston4-45/+173
2017-05-31Weight differentlyErik Johnston2-10/+31
2017-05-31Use POSTErik Johnston1-1/+1
2017-05-31Add REST APIErik Johnston2-0/+61
2017-05-31Add searchErik Johnston2-0/+38
2017-05-31Update room column when room becomes unpublicErik Johnston2-2/+31
2017-05-31Add call laterErik Johnston1-0/+2
2017-05-31Start laterErik Johnston1-1/+4
2017-05-31Don't go round in circlesErik Johnston1-4/+2
2017-05-31Add user_directory to databaseErik Johnston6-1/+444
2017-05-30Add commentErik Johnston1-1/+1
2017-05-30Add clobbered event_idErik Johnston2-1/+3
2017-05-30Add current_state_delta_stream tableErik Johnston2-8/+48
2017-05-26Handle None state group correctlyErik Johnston2-4/+7
2017-05-26Fix typing testsErik Johnston2-7/+7
2017-05-25Faster cache for get_joined_hostsErik Johnston5-29/+117
2017-05-25Don't return weird prev_groupErik Johnston1-8/+13
2017-05-25Remove unused optionsErik Johnston1-11/+4
2017-05-24Add background task to clear out old event_authErik Johnston3-1/+74
2017-05-24Only store event_auth for state eventsErik Johnston3-12/+44
2017-05-23Remove redundant invalidationErik Johnston1-3/+0
2017-05-23Missed an invalidationErik Johnston1-0/+3
2017-05-22actually trim oversize og:description metaMatthew Hodgson1-0/+2
2017-05-22Only load jinja2 templates onceErik Johnston5-60/+106
Instead of every time a new email pusher is created, as loading jinja2 templates is slow.
2017-05-22Add missing storage function to slave storeErik Johnston1-0/+2
2017-05-22CommentErik Johnston1-0/+2
2017-05-22Remove spurious log level guardsErik Johnston1-6/+3
2017-05-22Stream count_e2e_one_time_keys cache invalidationErik Johnston1-13/+18
2017-05-22Pull out if statement from for loopErik Johnston1-6/+14
2017-05-22Update list cache to handle one arg caseErik Johnston1-17/+33
We update the normal cache descriptors to handle caches with a single argument specially so that the key wasn't a 1-tuple. We need to update the cache list to be aware of this.
2017-05-22Check if current event is a membership eventErik Johnston1-4/+9
2017-05-22Add debug loggingErik Johnston1-0/+24
2017-05-22CommentErik Johnston1-1/+4
2017-05-22Use tuple unpackingErik Johnston1-2/+2
2017-05-19Speed up calculating push rulesErik Johnston1-8/+19
2017-05-19Add count of one time keys to sync streamErik Johnston2-0/+12
2017-05-19Fix invalidation of get_users_with_read_receipts_in_roomErik Johnston1-1/+3
2017-05-19Move invalidation cb to its own structureErik Johnston1-6/+15
2017-05-19Store ActionGenerator in HomeServerErik Johnston5-7/+10
2017-05-18Don't push users who have leftErik Johnston1-1/+4
2017-05-18Increase size of push rule cachesErik Johnston1-2/+2
2017-05-18Make get_if_app_services_interested_in_user fasterErik Johnston4-13/+34
2017-05-18Remove size of push get_rules cacheErik Johnston1-1/+1
2017-05-18Bump changelog and version github/release-v0.21.0 release-v0.21.0Erik Johnston2-1/+7
2017-05-18Add commentErik Johnston1-0/+3
2017-05-17Correct a typo in UPGRADE.rstAaron Raimist1-1/+1
2017-05-17Faster push rule calculation via push specific cacheErik Johnston3-47/+249
We add a push rule specific cache that ensures that we can reuse calculated push rules appropriately when a user join/leaves.
2017-05-17Make get_state_groups_from_groups faster.Erik Johnston3-41/+58
Most of the time was spent copying a dict to filter out sentinel values that indicated that keys did not exist in the dict. The sentinel values were added to ensure that we cached the non-existence of keys. By updating DictionaryCache to keep track of which keys were known to not exist itself we can remove a dictionary copy.
2017-05-17Update changelog v0.21.0-rc3Erik Johnston1-1/+2
2017-05-17SpellingErik Johnston1-2/+2
2017-05-17Bump changelog and versionErik Johnston2-1/+25
2017-05-17CommentErik Johnston1-0/+5
2017-05-17Short circuit when we have delta idsErik Johnston1-3/+19
2017-05-16Speed up get_joined_hostsErik Johnston2-2/+4
2017-05-16Make presence use cached users/hosts in roomErik Johnston2-4/+4
2017-05-16Speed up get_domain_from_idErik Johnston1-3/+3
2017-05-16Remove spurious merge artifactsErik Johnston1-13/+0
2017-05-16Take a copy before prefilling, as it may be a frozendictErik Johnston1-1/+1
2017-05-15avoid access-error if no filter_id matchesKrombel1-3/+3
2017-05-15Don't log exceptions for NotRetryingDestinationErik Johnston1-1/+3
2017-05-15Fixed syntax nitsPablo Saavedra2-5/+6
2017-05-15Update commentErik Johnston1-1/+2
2017-05-15CommentsErik Johnston2-3/+6
2017-05-15Add more granular event send metricsErik Johnston1-0/+12
2017-05-15Prefill state cachesErik Johnston3-6/+20
2017-05-15Fixed implementation errorsPablo Saavedra2-3/+7
* Added HS as property in SyncRestServlet * Fixed set_timeline_upper_limit function implementat¡ion
2017-05-13Configurable maximum number of events requested by /sync and /messages (#2220)Pablo Saavedra4-0/+21
Set the limit on the returned events in the timeline in the get and sync operations. The default value is -1, means no upper limit. For example, using `filter_timeline_limit: 5000`: POST /_matrix/client/r0/user/user:id/filter { room: { timeline: { limit: 1000000000000000000 } } } GET /_matrix/client/r0/user/user:id/filter/filter:id { room: { timeline: { limit: 5000 } } } The server cuts down the room.timeline.limit.
2017-05-12insert whitespace to fix travis buildKrombel1-1/+1
2017-05-11add check to only add a new filter if the same filter does not exist previouslyKrombel1-0/+9
Signed-off-by: Matthias Kesler <krombel@krombel.de>
2017-05-11Add a comment to old deltaRichard van der Hoff1-0/+4
2017-05-11Don't create event_search index on sqliteRichard van der Hoff2-3/+11
... because the table is virtual
2017-05-11Add more logging for purgingRichard van der Hoff1-7/+14
Log the number of events we will be deleting at info.
2017-05-11Add an index to event_searchRichard van der Hoff3-3/+35
- to make the purge API quicker
2017-05-11Tidy purge code and add some commentsRichard van der Hoff1-12/+19
Try to make this clearer with more comments and some variable renames
2017-05-11Fix users claimed non-exclusively by an app service don't get notifications ↵Slipeer2-3/+6
#2211
2017-05-10Don't de-delta state groups we're about to deleteRichard van der Hoff1-11/+9
2017-05-10add some logging to purge_historyRichard van der Hoff1-4/+21
2017-05-10Modify condition on empty localpartLuke Barnard1-1/+1
2017-05-10Modify register/available to be GET with query paramLuke Barnard2-5/+11
- GET is now the method for register/available - a query parameter "username" is now used Also, empty usernames are now handled with an error message on registration or via register/available: `User ID cannot be empty`
2017-05-10Documantation to chek synapse versionhamber-dick1-0/+9
I've added some Documentation, how to get the running Version of a Synapse homeserver. This should help the HS-Owners to check whether the Upgrade was successful.
2017-05-10Change register/available to POST (from GET)Luke Barnard1-1/+1
2017-05-10Add per user ratelimiting overridesErik Johnston6-19/+93
2017-05-09Replace some instances of preserve_context_over_deferredRichard van der Hoff1-3/+3
2017-05-09Do some logging when one-time-keys get claimedRichard van der Hoff3-0/+54
might help us figure out if https://github.com/vector-im/riot-web/issues/3868 has happened.
2017-05-09Allow clients to upload one-time-keys with new sigsRichard van der Hoff3-33/+182
When a client retries a key upload, don't give an error if the signature has changed (but the key is the same). Fixes https://github.com/vector-im/riot-android/issues/1208, hopefully.
2017-05-08Expand docstring a bitErik Johnston1-1/+7
2017-05-08Add missing yieldsErik Johnston1-2/+4
2017-05-08Don't update event cache hit ratio from get_joined_usersErik Johnston3-5/+21
Otherwise the hit ration of plain get_events gets completely skewed by calls to get_joined_users* functions.
2017-05-08Invalidate cache on device deletionErik Johnston1-2/+6
2017-05-08Cache one time key countsErik Johnston1-0/+9
2017-05-08CommentErik Johnston1-0/+2
2017-05-08Cache check to see if device existsErik Johnston1-1/+12
2017-05-08Increase client_ip cache sizeErik Johnston1-0/+1
2017-05-08Bump version and changelog v0.21.0-rc2Erik Johnston2-1/+14
2017-05-08Revert "Remove unused import"Erik Johnston1-0/+1
This reverts commit ab37bef83bebd7cdaeb7cfd98553d18883d09103.
2017-05-08Revert "We don't care about forgotten rooms"Erik Johnston1-0/+12
This reverts commit ad8b316939d59230526e60660caf9094cff62c8f.
2017-05-08Revert "Speed up filtering of a single event in push"Erik Johnston4-24/+40
This reverts commit 421fdf74609439edaaffce117436e6a6df147841.
2017-05-08Bump version and changelog v0.21.0-rc1Erik Johnston2-1/+50
2017-05-05CommentErik Johnston1-0/+6
2017-05-05Use preserve_fn and add logsErik Johnston1-1/+3
2017-05-05Remove redundant reset of destination timersErik Johnston1-7/+0
2017-05-05Remember how twisted worksKegan Dougal1-2/+2
2017-05-05Add comment and TODOErik Johnston1-0/+6
2017-05-05Include the clockKegan Dougal1-0/+1
2017-05-05Rewrite SimpleHttpClient.request to include timeoutsKegan Dougal1-13/+19
Fixes #2191
2017-05-05Always mark remotes as up if we receive a signed request from themErik Johnston1-0/+7
2017-05-05Handle exceptions thrown in handling remote device list updatesErik Johnston1-1/+16
2017-05-05FixesErik Johnston1-3/+4
2017-05-04Revert "Prefill state caches"Erik Johnston3-27/+9
2017-05-04Add commentErik Johnston1-0/+3
2017-05-04Intern host stringsErik Johnston1-1/+2
2017-05-04Make caches biggerErik Johnston1-1/+1
2017-05-04Fix comment and num argsErik Johnston2-2/+2
2017-05-04Add new storage functions to slave storeErik Johnston1-0/+3
2017-05-04Optimise caches with single keyErik Johnston1-9/+33
2017-05-04Reduce size of get_users_in_roomErik Johnston1-2/+2
2017-05-03Appease the flake8 godsLuke Barnard1-5/+10
2017-05-03Make get_joined_users fasterErik Johnston1-16/+38
2017-05-03Implement username availability checkerLuke Barnard1-0/+36
Outlined here: https://github.com/vector-im/riot-web/issues/3605#issuecomment-298679388 ```HTTP GET /_matrix/.../register/available { "username": "desiredlocalpart123" } ``` If available, the response looks like ```HTTP HTTP/1.1 200 OK { "available": true } ``` Otherwise, ```HTTP HTTP/1.1 429 { "errcode": "M_LIMIT_EXCEEDED", "error": "Too Many Requests", "retry_after_ms": 2000 } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_USER_IN_USE", "error": "User ID already taken." } ``` or ```HTTP HTTP/1.1 400 { "errcode": "M_INVALID_USERNAME", "error": "Some reason for username being invalid" } ```
2017-05-03No need for the exception variableDavid Baker1-1/+1
2017-05-03List caught expection typesDavid Baker1-1/+1
2017-05-03Merge together redundant calculations/loggingErik Johnston1-9/+2
2017-05-03Update commentErik Johnston1-1/+2
2017-05-03CommentsErik Johnston2-3/+6
2017-05-02Add more granular event send metricsErik Johnston7-5/+32
2017-05-02Instantiate DeferredTimedOutError correctlyRichard van der Hoff1-1/+1
Call `super` correctly, so that we correctly initialise the `errcode` field. Fixes https://github.com/matrix-org/synapse/issues/2179.
2017-05-02Prefill state cachesErik Johnston3-6/+18
2017-05-02Add cache for get_current_hosts_in_roomErik Johnston3-5/+50
2017-04-28FixupErik Johnston1-10/+4
2017-04-28Remove unncessary call in _get_missing_events_for_pduErik Johnston1-13/+11
2017-04-28Don't fetch state for missing events that we fetchedErik Johnston1-0/+6
2017-04-28Remove unused importErik Johnston1-1/+0
2017-04-28We don't care about forgotten roomsErik Johnston1-12/+0
2017-04-28Speed up filtering of a single event in pushErik Johnston4-40/+37
2017-04-27Comment and remove spurious loggingErik Johnston2-1/+3
2017-04-27Fix bgupdate error if index already exists (#2167)Richard van der Hoff1-30/+53
When creating a new table index in the background, guard against it existing already. Fixes https://github.com/matrix-org/synapse/issues/2135. Also, make sure we restore the autocommit flag when we're done, otherwise we get more failures from other operations later on. Fixes https://github.com/matrix-org/synapse/issues/1890 (hopefully).
2017-04-27TypoErik Johnston1-1/+1
2017-04-27Add some extra logging for edge cases of federationErik Johnston1-2/+22
2017-04-26Fix testsErik Johnston1-3/+3
2017-04-26Fix invite state to always include all eventsErik Johnston3-7/+24
2017-04-26Remove debuggingDavid Baker1-2/+1
2017-04-26Revert accidental commitDavid Baker1-4/+4