summary refs log tree commit diff
path: root/synapse/util (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2017-04-26Fix get_jsonDavid Baker1-5/+4
2017-04-25Use CodeMessageException subclass insteadDavid Baker4-61/+51
Parse json errors from get_json client methods and throw special errors.