summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Refactor get_recent_events_for_room return typeErik Johnston2018-05-093-7/+21
| | | | | | There is no reason to return a tuple of tokens when the last token is always the token passed as an argument. Changing it makes it consistent with other storage APIs
* Refactor pagination DB API to return concrete typeErik Johnston2018-05-091-28/+48
| | | | | This makes it easier to document what is being returned by the storage functions and what some functions expect as arguments.
* Remove unused from_token paramErik Johnston2018-05-091-7/+4
|
* Refactor recent events func to use pagination funcErik Johnston2018-05-091-48/+27
| | | | This also removes a cache that is unlikely to ever get hit.
* Fix up comments and make function privateErik Johnston2018-05-091-7/+7
|
* Reuse existing pagination code for context APIErik Johnston2018-05-081-75/+15
|
* Parse tokens before calling DB functionErik Johnston2018-05-081-14/+18
|
* Only fetch required fields from databaseErik Johnston2018-05-081-1/+2
|
* Split paginate_room_events storage functionErik Johnston2018-05-081-28/+72
|
* Merge pull request #3007 from matrix-org/rav/warn_on_logcontext_failRichard van der Hoff2018-05-031-2/+2
|\ | | | | Make 'unexpected logging context' into warnings
| * Merge remote-tracking branch 'origin/develop' into rav/warn_on_logcontext_failRichard van der Hoff2018-05-03173-1459/+3290
| |\ | |/ |/|
* | Merge pull request #3183 from matrix-org/rav/moar_logcontext_leaksRichard van der Hoff2018-05-031-3/+14
|\ \ | | | | | | Fix logcontext leaks in rate limiter
| * | Fix logcontext leaks in rate limiterRichard van der Hoff2018-05-031-3/+14
| | |
* | | Merge pull request #3182 from Half-Shot/hs/fix-twisted-shutdownRichard van der Hoff2018-05-031-3/+8
|\ \ \ | | | | | | | | Fix 'Unhandled Error' logs with Twisted 18.4
| * | | Don't abortConnection() if the transport connection has already closed.Will Hunt2018-05-031-3/+8
| | | |
* | | | Merge pull request #3178 from matrix-org/rav/fix_request_timeoutsRichard van der Hoff2018-05-031-1/+1
|\ \ \ \ | |_|/ / |/| | | fix http request timeout code
| * | | add missing param to cancelled_to_request_timed_out_errorRichard van der Hoff2018-05-021-1/+1
| | | | | | | | | | | | | | | | This gets two arguments, not one.
* | | | Fix changes warningRichard van der Hoff2018-05-031-2/+2
| | | |
* | | | Warn of potential client incompatibility from #3161Richard van der Hoff2018-05-031-0/+15
| | | |
* | | | Merge pull request #3141 from matrix-org/erikj/fixup_stateErik Johnston2018-05-031-37/+67
|\ \ \ \ | | | | | | | | | | Refactor event storage to prepare for changes in state calculations
| * | | | Fix up grammarErik Johnston2018-05-031-3/+3
| | | | |
| * | | | Refactor event storage to not require stateErik Johnston2018-04-271-37/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for using contexts that may or may not have the current_state_ids set. This will allow us to avoid unnecessarily pulling out state for an event on the master process when using workers. We also add a check to see if the state groups of the old extremities are the same as the new ones.
* | | | | Merge pull request #3161 from NotAFile/remove-v1authRichard van der Hoff2018-05-037-25/+24
|\ \ \ \ \ | | | | | | | | | | | | Make Client-Server API return 403 for invalid token
| * | | | | Burminate v1authAdrian Tschira2018-04-307-25/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This closes #2602 v1auth was created to account for the differences in status code between the v1 and v2_alpha revisions of the protocol (401 vs 403 for invalid tokens). However since those protocols were merged, this makes the r0 version/endpoint internally inconsistent, and violates the specification for the r0 endpoint. This might break clients that rely on this inconsistency with the specification. This is said to affect the legacy angular reference client. However, I feel that restoring parity with the spec is more important. Either way, it is critical to inform developers about this change, in case they rely on the illegal behaviour. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3175 from matrix-org/erikj/escape_metric_valuesErik Johnston2018-05-032-3/+48
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Escape label values in prometheus metrics
| * | | | | Make _escape_character take MatchObjectErik Johnston2018-05-021-2/+10
| | | | | |
| * | | | | Escape label values in prometheus metricsErik Johnston2018-05-022-3/+40
| | | | | |
* | | | | | Merge pull request #3170 from matrix-org/rav/more_logcontext_leaksRichard van der Hoff2018-05-022-33/+93
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix a class of logcontext leaks
| * \ \ \ \ \ Merge branch 'develop' into rav/more_logcontext_leaksRichard van der Hoff2018-05-026-6/+71
| |\ \ \ \ \ \
| * | | | | | | Remove spurious unittest.DEBUGRichard van der Hoff2018-05-021-1/+0
| | | | | | | |
| * | | | | | | Fix a class of logcontext leaksRichard van der Hoff2018-05-022-33/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So, it turns out that if you have a first `Deferred` `D1`, you can add a callback which returns another `Deferred` `D2`, and `D2` must then complete before any further callbacks on `D1` will execute (and later callbacks on `D1` get the *result* of `D2` rather than `D2` itself). So, `D1` might have `called=True` (as in, it has started running its callbacks), but any new callbacks added to `D1` won't get run until `D2` completes - so if you `yield D1` in an `inlineCallbacks` function, your `yield` will 'block'. In conclusion: some of our assumptions in `logcontext` were invalid. We need to make sure that we don't optimise out the logcontext juggling when this situation happens. Fortunately, it is easy to detect by checking `D1.paused`.
* | | | | | | | Merge pull request #3174 from matrix-org/rav/media_repo_logcontext_leaksRichard van der Hoff2018-05-022-1/+4
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Fix logcontext leak in media repo
| * | | | | | | Fix logcontext leak in media repoRichard van der Hoff2018-05-022-1/+4
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | Make FileResponder.write_to_consumer uphold the logcontext contract
* | | | | | | Merge pull request #3172 from matrix-org/rav/fix_test_logcontext_leaksRichard van der Hoff2018-05-022-3/+9
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix a couple of logcontext leaks in unit tests
| * | | | | | Fix a couple of logcontext leaks in unit testsRichard van der Hoff2018-05-022-3/+9
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... which were making other, innocent, tests, fail. Plus remove a spurious unittest.DEBUG which was making the output noisy.
* | | | | | Merge pull request #3168 from matrix-org/rav/fix_logformatterRichard van der Hoff2018-05-022-1/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix incorrect reference to StringIO
| * | | | | | Fix incorrect reference to StringIORichard van der Hoff2018-05-022-1/+39
| |/ / / / / | | | | | | | | | | | | | | | | | | This was introduced in 4f2f5171
* | | | | | missing word :|Matthew Hodgson2018-05-011-1/+1
| | | | | |
* | | | | | Merge branch 'release-v0.28.1' into developMatthew Hodgson2018-05-011-3/+3
|\ \ \ \ \ \
| * | | | | | fix markdownMatthew Hodgson2018-05-011-3/+3
| | | | | | |
* | | | | | | Merge branch 'master' into developNeil Johnson2018-05-012-2/+23
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | fix conflict in changelog from previous releaseNeil Johnson2018-05-016-7/+68
| |\| | | | |
| | * | | | | changelog for 0.28.1 v0.28.1Matthew Hodgson2018-05-011-2/+23
| | | | | | |
| | * | | | | Update __init__.pyNeil Johnson2018-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | bump version
* | | | | | | Merge branch 'release-v0.28.1' into developRichard van der Hoff2018-05-013-4/+26
|\ \ \ \ \ \ \ | | |/ / / / / | |/| / / / / | |_|/ / / / |/| | | | |
| * | | | | Merge commit '33f469b' into release-v0.28.1Richard van der Hoff2018-05-013-4/+26
| |\ \ \ \ \
| | * | | | | Apply some limits to depth to counter abuseRichard van der Hoff2018-05-013-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * When creating a new event, cap its depth to 2^63 - 1 * When receiving events, reject any without a sensible depth As per https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI
| * | | | | | Miscellaneous fixes to python_dependenciesRichard van der Hoff2018-05-011-1/+19
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some doc about wtf this thing does * pin Twisted to < 18.4 * add explicit dep on six (fixes #3089)
* | | | | | Fixes #3135 - Replace _OpenSSLECCurve with crypto.get_elliptic_curve (#3157)Will Hunt2018-04-302-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #3135 Signed-off-by: Will Hunt will@half-shot.uk
* | | | | | Merge pull request #3160 from krombel/fix_3076Richard van der Hoff2018-04-301-1/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | add guard for None on purge_history api
| * | | | | | add guard for None on purge_history apiKrombel2018-04-301-1/+14
|/ / / / / /
* | | | | | Merge pull request #3129 from matrix-org/matthew/fix_group_dupsMatthew Hodgson2018-04-301-0/+57
|\ \ \ \ \ \ | | | | | | | | | | | | | | remove duplicates from groups tables
| * | | | | | fix missing importMatthew Hodgson2018-04-281-0/+1
| | | | | | |
| * | | | | | pep8Matthew Hodgson2018-04-281-3/+5
| | | | | | |
| * | | | | | make it work with sqliteMatthew Hodgson2018-04-282-34/+54
| | | | | | |
| * | | | | | remove duplicates from groups tablesMatthew Hodgson2018-04-251-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and rename inconsistently named indexes. Based on https://github.com/matrix-org/synapse/pull/3128 - thanks @vurpo\!
* | | | | | | Merge pull request #3143 from matrix-org/rav/remove_redundant_preserve_fnRichard van der Hoff2018-04-301-4/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove redundant call to preserve_fn
| * | | | | | | Remove redundant call to preserve_fnRichard van der Hoff2018-04-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | submit_event_for_as doesn't return a deferred anyway, so this is pointless.
* | | | | | | | Merge pull request #3144 from ↵Richard van der Hoff2018-04-301-1/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matrix-org/rav/run_in_background_exception_handling Trap exceptions thrown within run_in_background
| * | | | | | | | Trap exceptions thrown within run_in_backgroundRichard van der Hoff2018-04-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn any exceptions that get thrown synchronously within run_in_background into Failures instead.
* | | | | | | | | Merge pull request #3159 from NotAFile/py3-tests-configRichard van der Hoff2018-04-301-1/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | run config tests on py3
| * | | | | | | | | run config tests on py3Adrian Tschira2018-04-301-1/+2
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | Merge pull request #3102 from NotAFile/py3-attributeerrorRichard van der Hoff2018-04-301-3/+15
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Make event properties raise AttributeError instead
| * | | | | | | | | add comment explaining attributeerrorAdrian Tschira2018-04-301-0/+3
| | | | | | | | | |
| * | | | | | | | | Make event properties raise AttributeError insteadAdrian Tschira2018-04-151-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They raised KeyError before. I'm changing this because the code uses hasattr() to check for the presence of a key. This worked accidentally before, because hasattr() silences all exceptions in python 2. However, in python3, this isn't the case anymore. I had a look around to see if anything depended on this raising a KeyError and I couldn't find anything. Of course, I could have simply missed it. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | Merge pull request #3152 from NotAFile/py3-local-importsRichard van der Hoff2018-04-304-7/+7
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | make imports local
| * | | | | | | | | | make imports localAdrian Tschira2018-04-284-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | Merge pull request #3153 from NotAFile/py3-httplibRichard van der Hoff2018-04-301-3/+3
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | move httplib import to six
| * | | | | | | | | | | move httplib import to sixAdrian Tschira2018-04-281-3/+3
| |/ / / / / / / / / /
* | | | | | | | | | | Merge pull request #3151 from NotAFile/py3-xrange-1Richard van der Hoff2018-04-309-11/+28
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Move more xrange to six
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'develop' into py3-xrange-1Richard van der Hoff2018-04-3042-121/+161
| |\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Move more xrange to sixAdrian Tschira2018-04-289-11/+28
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plus a bonus next() Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | Merge branch 'rav/test_36' into developRichard van der Hoff2018-04-301-5/+13
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | add py36 to build matrixRichard van der Hoff2018-04-301-5/+13
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #3150 from NotAFile/py3-listcomp-yieldRichard van der Hoff2018-04-301-5/+9
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / |/| | | | | | | | | | | | Don't yield in list comprehensions
| * | | | | | | | | | | | Don't yield in list comprehensionsAdrian Tschira2018-04-281-5/+9
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've tried to grep for more of this with no success. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | Merge pull request #3085 from NotAFile/py3-config-text-modeRichard van der Hoff2018-04-302-4/+4
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Open config file in non-bytes mode
| * | | | | | | | | | | | open log_config in text mode tooAdrian Tschira2018-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
| * | | | | | | | | | | | Open config file in non-bytes modeAdrian Tschira2018-04-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nothing written into it is encoded, so it makes little sense, but it does break in python3 the way it was before. The variable names were adjusted to be less misleading. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | | Merge pull request #3084 from NotAFile/py3-certs-byte-modeRichard van der Hoff2018-04-301-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Open certificate files as bytes
| * | | | | | | | | | | | | Open certificate files as bytesAdrian Tschira2018-04-101-2/+2
| |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's what pyOpenSSL expects on python3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | | Merge pull request #3154 from NotAFile/py3-stringioRichard van der Hoff2018-04-302-3/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / / |/| | | | | | | | | | | | Replace stringIO imports with six
| * | | | | | | | | | | | replace stringIO importsAdrian Tschira2018-04-282-3/+3
| | |/ / / / / / / / / / | |/| | | | | | | | | |
* | | | | | | | | | | | Merge pull request #3145 from NotAFile/py3-testsRichard van der Hoff2018-04-301-1/+9
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / |/| | | | | | | | | | | Add py3 tests to tox with folders that work
| * | | | | | | | | | | Update tox.iniRichard van der Hoff2018-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add missing comma
| * | | | | | | | | | | Add py3 tests to tox with folders that workAdrian Tschira2018-04-271-1/+9
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's just a few tests, but it will at least prevent a few files from regressing. Also, it makes it easiert to check your code against py36 while writing it. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | Merge pull request #3155 from NotAFile/py3-bytes-1Richard van der Hoff2018-04-304-7/+10
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | more bytes strings
| * | | | | | | | | | | more bytes stringsAdrian Tschira2018-04-294-7/+10
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | Merge pull request #3140 from matrix-org/rav/use_run_in_backgroundRichard van der Hoff2018-04-3022-72/+98
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Use run_in_background in preference to preserve_fn
| * | | | | | | | | | | pep8; remove spurious importRichard van der Hoff2018-04-271-1/+1
| | | | | | | | | | | |
| * | | | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/use_run_in_backgroundRichard van der Hoff2018-04-2728-261/+416
| |\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Use run_in_background in preference to preserve_fnRichard van der Hoff2018-04-2722-71/+97
| | |_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | | | Merge pull request #3156 from NotAFile/py3-hmac-bytesRichard van der Hoff2018-04-302-11/+15
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Construct HMAC as bytes on py3
| * | | | | | | | | | | | Construct HMAC as bytes on py3Adrian Tschira2018-04-292-11/+15
| | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | Merge pull request #3108 from NotAFile/py3-six-urlparseRichard van der Hoff2018-04-308-21/+20
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | Use six.moves.urlparse
| * | | | | | | | | | | Use six.moves.urlparseAdrian Tschira2018-04-158-21/+20
| | |_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | Merge pull request #3127 from matrix-org/rav/deferred_timeoutRichard van der Hoff2018-04-277-130/+135
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / |/| | | | | | | | | | Use deferred.addTimeout instead of time_bound_deferred
| * | | | | | | | | | Merge remote-tracking branch 'origin/develop' into rav/deferred_timeoutRichard van der Hoff2018-04-2728-261/+416
| |\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | |
* | | | | | | | | | | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2018-04-270-0/+0
|\ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / / | |/| | | | | | | | |
| * | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-271-1/+1
| | |_|_|_|_|_|/ / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #3142 from matrix-org/rav/reraiseRichard van der Hoff2018-04-272-13/+24
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | reraise exceptions more carefully
| * | | | | | | | | | reraise exceptions more carefullyRichard van der Hoff2018-04-272-13/+24
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to be careful (under python 2, at least) that when we reraise an exception after doing some error handling, we actually reraise the original exception rather than anything that might have been raised (and handled) during the error handling.
* | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-271-1/+1
| | | | | | | | | |
* | | | | | | | | | Merge pull request #3136 from matrix-org/rav/fix_dependenciesRichard van der Hoff2018-04-272-2/+35
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Miscellaneous fixes to python_dependencies
| * | | | | | | | | | also upgrade pip when installingRichard van der Hoff2018-04-271-0/+4
| | | | | | | | | | |
| * | | | | | | | | | jenkins build: make sure we have a recent setuptoolsRichard van der Hoff2018-04-261-1/+12
| | | | | | | | | | |
| * | | | | | | | | | Miscellaneous fixes to python_dependenciesRichard van der Hoff2018-04-261-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add some doc about wtf this thing does * pin Twisted to < 18.4 * add explicit dep on six (fixes #3089)
* | | | | | | | | | | Merge pull request #3138 from matrix-org/rav/catch_unhandled_exceptionsRichard van der Hoff2018-04-2720-237/+335
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Improve exception handling for background processes
| * | | | | | | | | | | Improve exception handling for background processesRichard van der Hoff2018-04-2720-237/+335
| | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | | | | Merge pull request #3139 from matrix-org/rav/consume_errorsRichard van der Hoff2018-04-273-5/+9
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / |/| | | | | | | | | | Add missing consumeErrors to improve exception handling
| * | | | | | | | | | Add missing consumeErrorsRichard van der Hoff2018-04-273-5/+9
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In general we want defer.gatherResults to consumeErrors, rather than having exceptions hanging around and getting logged as CRITICAL unhandled errors.
* | | | | | | | | | Merge tag 'v0.28.0'Neil Johnson2018-04-274-7/+15
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in synapse v0.28.0-rc1 (2018-04-26) =========================================== Bug Fixes: * Fix quarantine media admin API and search reindex (PR #3130) * Fix media admin APIs (PR #3134) Changes in synapse v0.28.0-rc1 (2018-04-24) =========================================== Minor performance improvement to federation sending and bug fixes. (Note: This release does not include state resolutions discussed in matrix live) Features: * Add metrics for event processing lag (PR #3090) * Add metrics for ResponseCache (PR #3092) Changes: * Synapse on PyPy (PR #2760) Thanks to @Valodim! * move handling of auto_join_rooms to RegisterHandler (PR #2996) Thanks to @krombel! * Improve handling of SRV records for federation connections (PR #3016) Thanks to @silkeh! * Document the behaviour of ResponseCache (PR #3059) * Preparation for py3 (PR #3061, #3073, #3074, #3075, #3103, #3104, #3106, #3107, #3109, #3110) Thanks to @NotAFile! * update prometheus dashboard to use new metric names (PR #3069) Thanks to @krombel! * use python3-compatible prints (PR #3074) Thanks to @NotAFile! * Send federation events concurrently (PR #3078) * Limit concurrent event sends for a room (PR #3079) * Improve R30 stat definition (PR #3086) * Send events to ASes concurrently (PR #3088) * Refactor ResponseCache usage (PR #3093) * Clarify that SRV may not point to a CNAME (PR #3100) Thanks to @silkeh! * Use str(e) instead of e.message (PR #3103) Thanks to @NotAFile! * Use six.itervalues in some places (PR #3106) Thanks to @NotAFile! * Refactor store.have_events (PR #3117) Bug Fixes: * Return 401 for invalid access_token on logout (PR #2938) Thanks to @dklug! * Return a 404 rather than a 500 on rejoining empty rooms (PR #3080) * fix federation_domain_whitelist (PR #3099) * Avoid creating events with huge numbers of prev_events (PR #3113) * Reject events which have lots of prev_events (PR #3118)
| * | | | | | | | | update changelog and bump version to 0.28.0 v0.28.0 github/release-v0.28.0-rc1 release-v0.28.0-rc1Neil Johnson2018-04-262-1/+10
| | | | | | | | | |
| * | | | | | | | | Merge branch 'develop' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-04-262-4/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-v0.28.0-rc1
| * | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix formatting on line break
* | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-241-1/+2
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | Rephrase v0.28.0-rc1 summary
| | | * | | | | | Merge branch 'develop' into rav/deferred_timeoutRichard van der Hoff2018-04-2711-21/+148
| | | |\ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #3134 from matrix-org/erikj/fix_admin_media_apiErik Johnston2018-04-261-2/+2
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix media admin APIs
| | * | | | | | | | Fix media admin APIsErik Johnston2018-04-261-2/+2
| |/ / / / / / / /
| * | | | | | | | Merge pull request #3130 from matrix-org/erikj/fix_quarantine_roomErik Johnston2018-04-252-2/+2
| |\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / / | |/| | | | | | | Fix quarantine media admin API
| | * | | | | | | Also fix reindexing of searchErik Johnston2018-04-251-1/+1
| | | | | | | | |
| | * | | | | | | Fix quarantine media admin APIErik Johnston2018-04-251-1/+1
| |/ / / / / / /
| * | | | | | | Merge branch 'master' into developNeil Johnson2018-04-242-3/+44
| |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
* | | | | | | | Bump version and update changelog v0.28.0-rc1Neil Johnson2018-04-242-3/+44
| | | | | | | |
| * | | | | | | Revert "Bump version and update changelog"Neil Johnson2018-04-242-41/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 08b29d45749d1944965e8d203155a4ea45a15423.
| * | | | | | | Bump version and update changelogNeil Johnson2018-04-242-3/+41
|/ / / / / / /
* | | | | | | Merge pull request #3118 from matrix-org/rav/reject_prev_eventsRichard van der Hoff2018-04-232-9/+94
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Reject events which have lots of prev_events
| * | | | | | | Remove spurious paramRichard van der Hoff2018-04-231-1/+0
| | | | | | | |
| * | | | | | | accept stupid events over backfillRichard van der Hoff2018-04-201-4/+9
| | | | | | | |
| * | | | | | | Add some commentsRichard van der Hoff2018-04-182-5/+35
| | | | | | | |
| * | | | | | | Check events on backfill tooRichard van der Hoff2018-04-181-15/+42
| | | | | | | |
| * | | | | | | Reject events which have too many auth_events or prev_eventsRichard van der Hoff2018-04-181-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... this should protect us from being dossed by people making silly events (deliberately or otherwise)
* | | | | | | | Merge pull request #3109 from NotAFile/py3-tests-fixRichard van der Hoff2018-04-235-5/+6
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Make tests py3 compatible
| * | | | | | | Make tests py3 compatibleAdrian Tschira2018-04-165-5/+6
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mixed commit that fixes various small issues * print parentheses * 01 is invalid syntax (it was octal in py2) * [x for i in 1, 2] is invalid syntax * six moves Signed-off-by: Adrian Tschira <nota@notafile.com>
| | | * | | | Backport deferred.addTimeoutRichard van der Hoff2018-04-275-14/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Twisted 16.0 doesn't have addTimeout, so let's backport it.
| | | * | | | Use deferred.addTimeout instead of time_bound_deferredRichard van der Hoff2018-04-236-130/+59
| |_|/ / / / |/| | | | | | | | | | | | | | | | | This doesn't feel like a wheel we need to reinvent.
* | | | | | Merge pull request #3106 from NotAFile/py3-six-itervalues-1Richard van der Hoff2018-04-204-11/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use six.itervalues in some places
| * | | | | | Use six.itervalues in some placesAdrian Tschira2018-04-154-11/+18
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's more where that came from Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3107 from NotAFile/py3-bool-nonzeroRichard van der Hoff2018-04-203-0/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | add __bool__ alias to __nonzero__ methods
| * | | | | | add __bool__ alias to __nonzero__ methodsAdrian Tschira2018-04-153-0/+9
| |/ / / / / | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3104 from NotAFile/py3-unittest-configRichard van der Hoff2018-04-201-0/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add some more variables to the unittest config
| * | | | | | Add some more variables to the unittest configAdrian Tschira2018-04-151-0/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These worked accidentally before (python2 doesn't complain if you compare incompatible types) but under py3 this blows up spectacularly Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3110 from NotAFile/py3-six-queueRichard van der Hoff2018-04-202-4/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | Replace Queue with six.moves.queue
| * | | | | | Replace Queue with six.moves.queueAdrian Tschira2018-04-162-4/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and a six.range change which I missed the last time Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3103 from NotAFile/py3-baseexcepton-messageRichard van der Hoff2018-04-202-10/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Use str(e) instead of e.message
| * | | | | | Use str(e) instead of e.messageAdrian Tschira2018-04-152-10/+10
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing this I learned e.message was pretty shortlived, added in 2.6, they realized it was a bad idea and deprecated it in 2.7 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | Merge pull request #3100 from silkeh/readme-srv-cnameErik Johnston2018-04-201-0/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Clarify that SRV may not point to a CNAME
| * | | | | | Clarify that SRV may not point to a CNAMESilke2018-04-141-0/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | Signed-off-by: Silke Hofstra <silke@slxh.eu>
* | | | | | Merge pull request #3125 from matrix-org/erikj/add_contrib_docsErik Johnston2018-04-202-0/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | Document contrib directory
| * | | | | | Document contrib directoryErik Johnston2018-04-202-0/+14
|/ / / / / /
* | | | | | Merge pull request #3093 from matrix-org/rav/response_cache_wrapRichard van der Hoff2018-04-206-79/+111
|\ \ \ \ \ \ | | | | | | | | | | | | | | Refactor ResponseCache usage
| * | | | | | Reinstate linearizer for federation_server.on_context_state_requestRichard van der Hoff2018-04-201-5/+11
| | | | | | |
| * | | | | | ResponseCache: fix handling of completed resultsRichard van der Hoff2018-04-131-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that ObservableDeferred.observe doesn't return a deferred if the result is already completed. Fix handling and improve documentation.
| * | | | | | Refactor ResponseCache usageRichard van der Hoff2018-04-126-67/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a `.wrap` method to ResponseCache which wraps up the boilerplate of a (get, set) pair, and then use it throughout the codebase. This will be largely non-functional, but does include the following functional changes: * federation_server.on_context_state_request: drops use of _server_linearizer which looked redundant and could cause incorrect cache misses by yielding between the get and the set. * RoomListHandler.get_remote_public_room_list(): fixes logcontext leaks * the wrap function includes some logging. I'm hoping this won't be too noisy on production.
* | | | | | | Merge pull request #3117 from matrix-org/rav/refactor_have_eventsRichard van der Hoff2018-04-203-27/+55
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Refactor store.have_events
| * | | | | | | Refactor store.have_eventsRichard van der Hoff2018-04-203-27/+55
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that most of the time we were calling have_events, we were only using half of the result. Replace have_events with have_seen_events and get_rejection_reasons, so that we can see what's going on a bit more clearly.
* | | | | | | Merge pull request #3113 from matrix-org/rav/fix_huge_prev_eventsRichard van der Hoff2018-04-184-54/+162
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Avoid creating events with huge numbers of prev_events
| * | | | | | Avoid creating events with huge numbers of prev_eventsRichard van der Hoff2018-04-164-54/+162
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most cases, we limit the number of prev_events for a given event to 10 events. This fixes a particular code path which created events with huge numbers of prev_events.
* | / / / / fix spurious changelog dupMatthew Hodgson2018-04-151-1/+0
| |/ / / / |/| | | |
* | | | | Merge branch 'master' of https://github.com/matrix-org/synapse into developNeil Johnson2018-04-133-2/+10
|\ \ \ \ \
| * \ \ \ \ Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapseNeil Johnson2018-04-133-2/+10
| |\ \ \ \ \
| | * | | | | Bump version and Change log v0.27.4 github/release-v0.27.0 release-v0.27.0Neil Johnson2018-04-132-1/+9
| | | | | | |
| | * | | | | Merge pull request #3095 from matrix-org/rav/bump_canonical_jsonNeil Johnson2018-04-131-1/+1
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | Update canonicaljson dependency
| | | * | | | | Bump canonicaljson to 1.1.3Richard van der Hoff2018-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.1.2 was a bit broken too :/
| | | * | | | | Update canonicaljson dependencyRichard van der Hoff2018-04-121-1/+1
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1.1.0 and 1.1.1 were broken, so we're updating this to help people make sure they don't end up on a broken version. Also, 1.1.0 is speedier...
* | | | | | | Merge pull request #3099 from matrix-org/matthew/fix-federation-domain-whitelistMatthew Hodgson2018-04-131-6/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | fix federation_domain_whitelist
| * | | | | | | fix federation_domain_whitelistMatthew Hodgson2018-04-131-6/+6
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | we were checking the wrong server_name on inbound requests
* | | | | | | revert last to PR properlyMatthew Hodgson2018-04-131-6/+6
| | | | | | |
* | | | | | | correctly auth inbound federation_domain_whitelist reqsMatthew Hodgson2018-04-131-6/+6
| | | | | | |
* | | | | | | Merge branch 'master' of https://github.com/matrix-org/synapse into developNeil Johnson2018-04-133-3/+11
|\| | | | | |
| * | | | | | Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapse v0.27.3Neil Johnson2018-04-1151-278/+956
| |\| | | | |
| | * | | | | bump version/changelogNeil Johnson2018-04-112-1/+9
| | | | | | |
| | * | | | | Merge commit '11d2609da70af797405241cdf7d9df19db5628f2' of ↵Neil Johnson2018-04-111-48/+80
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/matrix-org/synapse into release-v0.27.0
| * | | | | | | Update README.rstNeil Johnson2018-03-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | update docker hub url
* | | | | | | | Revert "Use sortedcontainers instead of blist"Richard van der Hoff2018-04-133-10/+10
| |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9fbe70a7dc3afabfdac176ba1f4be32dd44602aa. It turns out that sortedcontainers.SortedDict is not an exact match for blist.sorteddict; in particular, `popitem()` removes things from the opposite end of the dict. This is trivial to fix, but I want to add some unit tests, and potentially some more thought about it, before we do so.
* | | | | | | Merge pull request #3092 from matrix-org/rav/response_cache_metricsRichard van der Hoff2018-04-126-7/+21
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add metrics for ResponseCache
| * | | | | | | Add metrics for ResponseCacheRichard van der Hoff2018-04-106-7/+21
| | | | | | | |
* | | | | | | | Merge pull request #3090 from matrix-org/erikj/processed_event_lagErik Johnston2018-04-127-5/+121
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add metrics for event processing lag
| * | | | | | | | Format docstringErik Johnston2018-04-121-2/+3
| | | | | | | | |
| * | | | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2018-04-122-2/+51
| |\ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | erikj/processed_event_lag
* | | | | | | | | Merge pull request #3059 from matrix-org/rav/doc_response_cacheRichard van der Hoff2018-04-121-0/+32
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Document the behaviour of ResponseCache
| * | | | | | | | | Document the behaviour of ResponseCacheRichard van der Hoff2018-04-041-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it looks like everything that uses ResponseCache expects to have to `make_deferred_yieldable` its results. It's debatable whether that is the best approach, but let's document it for now to avoid further confusion.
* | | | | | | | | | Merge pull request #3088 from matrix-org/erikj/as_parallelErik Johnston2018-04-121-2/+19
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Send events to ASes concurrently
| * | | | | | | | | | Send events to ASes concurrentlyErik Johnston2018-04-111-2/+19
| | | | | | | | | | |
| | | * | | | | | | | Doc we raise on unknown eventErik Johnston2018-04-121-2/+3
| | | | | | | | | | |
| | | * | | | | | | | s/list/tupleErik Johnston2018-04-121-2/+2
| | | | | | | | | | |
| | | * | | | | | | | Set all metrics at the same timeErik Johnston2018-04-122-10/+10
| | | | | | | | | | |
| | | * | | | | | | | Fix testsErik Johnston2018-04-111-0/+1
| | | | | | | | | | |
| | | * | | | | | | | Track last processed event received_tsErik Johnston2018-04-114-0/+52
| | | | | | | | | | |
| | | * | | | | | | | Track where event stream processing have gotten up toErik Johnston2018-04-114-0/+24
| | | | | | | | | | |
| | | * | | | | | | | Add GaugeMetricErik Johnston2018-04-112-1/+38
| |_|/ / / / / / / / |/| | | | | | | | |
* | | | | | | | | | Merge pull request #2760 from Valodim/pypyRichard van der Hoff2018-04-117-13/+24
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Synapse on PyPy
| * | | | | | | | | | Don't disable GC when running on PyPyVincent Breitmoser2018-04-101-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PyPy's incminimark GC can't be triggered manually. From what I observed there are no obvious issues with just letting it run normally. And unlike CPython, it actually returns unused RAM to the system. Signed-off-by: Vincent Breitmoser <look@my.amazin.horse>
| * | | | | | | | | | In DomainSpecificString, override __repr__ in addition to __str__Vincent Breitmoser2018-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, string interpolation on a DomainSpecificString object like "%r" % (domainSpecificStringObj) fails under PyPy, because the default __repr__ implementation wants to iterate over the object. I'm not sure why that happens, but overriding __repr__ instead of __str__ fixes this problem, and is arguably the more appropriate thing to do anyways.
| * | | | | | | | | | Fix pep8 error on psycopg2cffi hackRichard van der Hoff2018-04-101-6/+5
| | | | | | | | | | |
| * | | | | | | | | | Use psycopg2cffi module instead of psycopg2 if running on pypyVincent Breitmoser2018-04-102-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The psycopg2 package isn't available for PyPy. This commit adds a check if the runtime is PyPy, and if it is uses psycopg2cffi module in favor of psycopg2. This is almost a drop-in replacement, except for one place where an additional cast to string is required.
| * | | | | | | | | | Use sortedcontainers instead of blistVincent Breitmoser2018-04-103-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit drop-in replaces blist with SortedContainers. They are written in pure python so work with pypy, but perform as good as native implementations, at least in a couple benchmarks: http://www.grantjenks.com/docs/sortedcontainers/performance.html
* | | | | | | | | | | Merge pull request #3086 from matrix-org/r30_statsMatthew Hodgson2018-04-101-2/+2
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fix typo
| * | | | | | | | | | | fix typoNeil Johnson2018-04-101-2/+2
|/ / / / / / / / / / /
* | | | | | | | | | | Merge pull request #3079 from matrix-org/erikj/limit_concurrent_sendsErik Johnston2018-04-102-55/+56
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Limit concurrent event sends for a room
| * | | | | | | | | | | Note why we're limiting concurrent event sendsErik Johnston2018-04-101-0/+5
| | | | | | | | | | | |
| * | | | | | | | | | | Limit concurrent event sends for a roomErik Johnston2018-04-091-49/+50
| | | | | | | | | | | |
| * | | | | | | | | | | Use create_and_send_nonmember_event everywhereErik Johnston2018-04-091-6/+1
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #3078 from matrix-org/erikj/federation_senderErik Johnston2018-04-101-15/+41
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ / / |/| | | | | | | | | | | Send federation events concurrently
| * | | | | | | | | | | Use run_in_background insteadErik Johnston2018-04-101-1/+1
| | | | | | | | | | | |
| * | | | | | | | | | | Preserve log contexts correctlyErik Johnston2018-04-101-1/+4
| | | | | | | | | | | |
| * | | | | | | | | | | Log event ID on exceptionErik Johnston2018-04-101-1/+4
| | | | | | | | | | | |
| * | | | | | | | | | | Handle all events in a room correctlyErik Johnston2018-04-091-1/+2
| | | | | | | | | | | |
| * | | | | | | | | | | Send federation events concurrentlyErik Johnston2018-04-091-4/+18
| | | | | | | | | | | |
| * | | | | | | | | | | Handle exceptions in get_hosts_for_room when sending events over federationErik Johnston2018-04-091-11/+16
| |/ / / / / / / / / /
* | | | | | | | | | | Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-04-103-7/+62
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / |/| | | | | | / / / / | | |_|_|_|_|/ / / / | |/| | | | | | | | develop
| * | | | | | | | | remove errant print v0.27.3-rc2Neil Johnson2018-04-091-1/+1
| | | | | | | | | |
| * | | | | | | | | Fix msec to sec, againNeil Johnson2018-04-091-3/+3
| | | | | | | | | |
| * | | | | | | | | Fix msec to secNeil Johnson2018-04-091-1/+1
| | | | | | | | | |
| * | | | | | | | | v0.27.3-rc2Neil Johnson2018-04-091-0/+5
| | | | | | | | | |
| * | | | | | | | | Fix psycopg2 interpolationNeil Johnson2018-04-091-5/+5
| | | | | | | | | |
| * | | | | | | | | version bump v0.27.3-rc2Neil Johnson2018-04-091-1/+1
| | | | | | | | | |
| * | | | | | | | | Merge branch 'develop' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-04-0935-186/+728
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-v0.27.0
| * \ \ \ \ \ \ \ \ \ Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-04-091-1/+1
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-v0.27.0
| | * | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-091-1/+1
| | | | | | | | | | | |
| * | | | | | | | | | | Merge branch 'release-v0.27.0' of https://github.com/matrix-org/synapse into ↵Neil Johnson2018-04-091-4/+8
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-v0.27.0
| | * | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-091-1/+2
| | | | | | | | | | | |
| | * | | | | | | | | | Update CHANGES.rstNeil Johnson2018-04-091-3/+6
| | | | | | | | | | | |
| * | | | | | | | | | | bump version to release candidateNeil Johnson2018-04-091-1/+1
| |/ / / / / / / / / /
| * | | | | | | | | | bump version v0.27.3-rc1Neil Johnson2018-04-091-1/+1
| | | | | | | | | | |
| * | | | | | | | | | Merge branch 'develop' into release-v0.27.0Neil Johnson2018-04-0920-47/+88
| |\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | 0.27.3Neil Johnson2018-04-091-0/+46
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #3082 from matrix-org/erikj/urlencode_pathsErik Johnston2018-04-101-48/+80
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / |/| | | | | | | | / / / | | |_|_|_|_|_|_|/ / / | |/| | | | | | | | | URL quote path segments over federation
| * | | | | | | | | | Ensure slashes are escapedErik Johnston2018-04-101-1/+1
| | | | | | | | | | |
| * | | | | | | | | | URL quote path segments over federationErik Johnston2018-04-101-48/+80
| | |_|/ / / / / / / | |/| | | | | | | |
* | | | | | | | | | Merge pull request #2996 from krombel/allow_auto_join_roomsRichard van der Hoff2018-04-103-34/+35
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / |/| | | | | | | | | move handling of auto_join_rooms to RegisterHandler
| * | | | | | | | | Merge branch 'develop' of into allow_auto_join_roomsKrombel2018-03-2853-111/+264
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | move handling of auto_join_rooms to RegisterHandlerKrombel2018-03-143-34/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the handling of auto_join_rooms only works when a user registers itself via public register api. Registrations via registration_shared_secret and ModuleApi do not work This auto_joins the users in the registration handler which enables the auto join feature for all 3 registration paths. This is related to issue #2725 Signed-Off-by: Matthias Kesler <krombel@krombel.de>
* | | | | | | | | | | Merge pull request #3061 from NotAFile/add-some-byte-stringsRichard van der Hoff2018-04-096-14/+14
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Add b prefixes to some strings that are bytes in py3
| * | | | | | | | | | | Add b prefixes to some strings that are bytes in py3Adrian Tschira2018-04-046-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | Merge pull request #3073 from NotAFile/use-six-reraiseRichard van der Hoff2018-04-091-1/+3
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Replace old-style raise with six.reraise
| * | | | | | | | | | | | Replace old-style raise with six.reraiseAdrian Tschira2018-04-061-1/+3
| | |_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old style raise is invalid syntax in python3. As noted in the docs, this adds one more frame in the traceback, but I think this is acceptable: <ipython-input-7-bcc5cba3de3f> in <module>() 16 except: 17 pass ---> 18 six.reraise(*x) /usr/lib/python3.6/site-packages/six.py in reraise(tp, value, tb) 691 if value.__traceback__ is not tb: 692 raise value.with_traceback(tb) --> 693 raise value 694 finally: 695 value = None <ipython-input-7-bcc5cba3de3f> in <module>() 9 10 try: ---> 11 x() 12 except: 13 x = sys.exc_info() Also note that this uses six, which is not formally a dependency yet, but is included indirectly since most packages depend on it. Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | Merge pull request #2938 from dklug/developRichard van der Hoff2018-04-091-1/+4
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Return 401 for invalid access_token on logout
| * | | | | | | | | | | | Return 401 for invalid access_token on logoutdklug2018-03-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Duncan Klug <dklug@ucmerced.edu>
* | | | | | | | | | | | | Merge pull request #3074 from NotAFile/fix-py3-printsRichard van der Hoff2018-04-091-5/+5
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | use python3-compatible prints
| * | | | | | | | | | | | | use python3-compatible printsAdrian Tschira2018-04-061-5/+5
| | |/ / / / / / / / / / / | |/| | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #3075 from NotAFile/six-type-checksRichard van der Hoff2018-04-095-8/+18
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace some type checks with six type checks
| * | | | | | | | | | | | | Replace some type checks with six type checksAdrian Tschira2018-04-075-8/+18
| |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com>
* | | | | | | | | | | | | Merge pull request #3016 from silkeh/improve-service-lookupsRichard van der Hoff2018-04-092-122/+10
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve handling of SRV records for federation connections
| * | | | | | | | | | | | | Remove address resolution of hosts in SRV recordsSilke2018-04-042-122/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Silke Hofstra <silke@slxh.eu>
* | | | | | | | | | | | | | Merge pull request #3069 from krombel/update_prometheus_configRichard van der Hoff2018-04-093-19/+19
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update prometheus dashboard to use new metric names
| * | | | | | | | | | | | | | make prometheus config compliant to v0.28Krombel2018-04-053-19/+19
| | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | Merge pull request #3080 from matrix-org/rav/fix_500_on_rejoinRichard van der Hoff2018-04-091-0/+8
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ / / / / / / |/| | | | | | | | | | | | | | Return a 404 rather than a 500 on rejoining empty rooms
| * | | | | | | | | | | | | | Return a 404 rather than a 500 on rejoining empty roomsRichard van der Hoff2018-04-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Filter ourselves out of the server list before checking for an empty remote host list, to fix 500 error Fixes #2141
* | | | | | | | | | | | | | | Revert "Merge pull request #3066 from matrix-org/rav/remove_redundant_metrics"Richard van der Hoff2018-04-095-28/+52
| |_|_|/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We aren't ready to release this yet, so I'm reverting it for now. This reverts commit d1679a4ed7947b0814e0f2af9b888a16c588f1a1, reversing changes made to e089100c6231541c446e37e157dec8feed02d283.