summary refs log tree commit diff
path: root/synapse (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-04-26update changelog and bump version to 0.28.0 v0.28.0 release-v0.28.0-rc1Neil Johnson1-1/+1
2018-04-26Fix media admin APIsErik Johnston1-2/+2
2018-04-25Also fix reindexing of searchErik Johnston1-1/+1
2018-04-25Fix quarantine media admin APIErik Johnston1-1/+1
2018-04-24Update CHANGES.rstNeil Johnson1-2/+1
fix formatting on line break
2018-04-24Bump version and update changelog v0.28.0-rc1Neil Johnson2-3/+44
2018-04-24Revert "Bump version and update changelog"Neil Johnson2-41/+3
This reverts commit 08b29d45749d1944965e8d203155a4ea45a15423.
2018-04-24Bump version and update changelogNeil Johnson2-3/+41
2018-04-23Remove spurious paramRichard van der Hoff1-1/+0
2018-04-20Document contrib directoryErik Johnston2-0/+14
2018-04-20accept stupid events over backfillRichard van der Hoff1-4/+9
2018-04-20Reinstate linearizer for federation_server.on_context_state_requestRichard van der Hoff1-5/+11
2018-04-20Refactor store.have_eventsRichard van der Hoff3-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.
2018-04-18Add some commentsRichard van der Hoff2-5/+35
2018-04-18Check events on backfill tooRichard van der Hoff1-15/+42
2018-04-18Reject events which have too many auth_events or prev_eventsRichard van der Hoff1-4/+28
... this should protect us from being dossed by people making silly events (deliberately or otherwise)
2018-04-16Avoid creating events with huge numbers of prev_eventsRichard van der Hoff4-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.
2018-04-16Replace Queue with six.moves.queueAdrian Tschira2-4/+6
and a six.range change which I missed the last time Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-04-16Make tests py3 compatibleAdrian Tschira5-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>
2018-04-15fix spurious changelog dupMatthew Hodgson1-1/+0
2018-04-15add __bool__ alias to __nonzero__ methodsAdrian Tschira3-0/+9
Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-04-15Use six.itervalues in some placesAdrian Tschira4-11/+18
There's more where that came from Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-04-15Add some more variables to the unittest configAdrian Tschira1-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>
2018-04-15Use str(e) instead of e.messageAdrian Tschira2-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>
2018-04-14Clarify that SRV may not point to a CNAMESilke1-0/+3
Signed-off-by: Silke Hofstra <silke@slxh.eu>
2018-04-13fix federation_domain_whitelistMatthew Hodgson1-6/+6
we were checking the wrong server_name on inbound requests
2018-04-13revert last to PR properlyMatthew Hodgson1-6/+6
2018-04-13correctly auth inbound federation_domain_whitelist reqsMatthew Hodgson1-6/+6
2018-04-13Bump version and Change log v0.27.4 release-v0.27.0Neil Johnson2-1/+9
2018-04-13Revert "Use sortedcontainers instead of blist"Richard van der Hoff3-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.
2018-04-13Bump canonicaljson to 1.1.3Richard van der Hoff1-1/+1
1.1.2 was a bit broken too :/
2018-04-13ResponseCache: fix handling of completed resultsRichard van der Hoff1-13/+19
Turns out that ObservableDeferred.observe doesn't return a deferred if the result is already completed. Fix handling and improve documentation.
2018-04-12Update canonicaljson dependencyRichard van der Hoff1-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...
2018-04-12Refactor ResponseCache usageRichard van der Hoff6-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.
2018-04-12Format docstringErik Johnston1-2/+3
2018-04-12Doc we raise on unknown eventErik Johnston1-2/+3
2018-04-12s/list/tupleErik Johnston1-2/+2
2018-04-12Set all metrics at the same timeErik Johnston2-10/+10
2018-04-11Fix testsErik Johnston1-0/+1
2018-04-11Track last processed event received_tsErik Johnston4-0/+52
2018-04-11Track where event stream processing have gotten up toErik Johnston4-0/+24
2018-04-11Add GaugeMetricErik Johnston2-1/+38
2018-04-11bump version/changelogNeil Johnson2-1/+9
2018-04-11Send events to ASes concurrentlyErik Johnston1-2/+19
2018-04-10Add metrics for ResponseCacheRichard van der Hoff6-7/+21
2018-04-10fix typoNeil Johnson1-2/+2
2018-04-10Use run_in_background insteadErik Johnston1-1/+1
2018-04-10Note why we're limiting concurrent event sendsErik Johnston1-0/+5
2018-04-10Preserve log contexts correctlyErik Johnston1-1/+4
2018-04-10Log event ID on exceptionErik Johnston1-1/+4
2018-04-10Ensure slashes are escapedErik Johnston1-1/+1
2018-04-10URL quote path segments over federationErik Johnston1-48/+80
2018-04-10Don't disable GC when running on PyPyVincent Breitmoser1-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>
2018-04-10In DomainSpecificString, override __repr__ in addition to __str__Vincent Breitmoser1-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.
2018-04-10Fix pep8 error on psycopg2cffi hackRichard van der Hoff1-6/+5
2018-04-10Use psycopg2cffi module instead of psycopg2 if running on pypyVincent Breitmoser2-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.
2018-04-10Use sortedcontainers instead of blistVincent Breitmoser3-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
2018-04-09remove errant print v0.27.3-rc2Neil Johnson1-1/+1
2018-04-09Fix msec to sec, againNeil Johnson1-3/+3
2018-04-09Fix msec to secNeil Johnson1-1/+1
2018-04-09v0.27.3-rc2Neil Johnson1-0/+5
2018-04-09Fix psycopg2 interpolationNeil Johnson1-5/+5
2018-04-09version bump v0.27.3-rc2Neil Johnson1-1/+1
2018-04-09Handle all events in a room correctlyErik Johnston1-1/+2
2018-04-09Update CHANGES.rstNeil Johnson1-1/+1
2018-04-09bump version to release candidateNeil Johnson1-1/+1
2018-04-09Update CHANGES.rstNeil Johnson1-1/+2
2018-04-09Update CHANGES.rstNeil Johnson1-3/+6
2018-04-09bump version v0.27.3-rc1Neil Johnson1-1/+1
2018-04-090.27.3Neil Johnson1-0/+46
2018-04-09Revert "Merge pull request #3066 from matrix-org/rav/remove_redundant_metrics"Richard van der Hoff5-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.
2018-04-09Return a 404 rather than a 500 on rejoining empty roomsRichard van der Hoff1-0/+8
Filter ourselves out of the server list before checking for an empty remote host list, to fix 500 error Fixes #2141
2018-04-09Limit concurrent event sends for a roomErik Johnston1-49/+50
2018-04-09Use create_and_send_nonmember_event everywhereErik Johnston1-6/+1
2018-04-09Send federation events concurrentlyErik Johnston1-4/+18
2018-04-09Handle exceptions in get_hosts_for_room when sending events over federationErik Johnston1-11/+16
2018-04-07Replace some type checks with six type checksAdrian Tschira5-8/+18
Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-04-06use python3-compatible printsAdrian Tschira1-5/+5
2018-04-06Replace old-style raise with six.reraiseAdrian Tschira1-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>
2018-04-06de-lint, quote consistencyLuke Barnard1-2/+2
2018-04-06Explicitly grab individual columns from group objectLuke Barnard1-6/+8
2018-04-06When exposing group state, return is_openly_joinableLuke Barnard1-0/+5
as opposed to join_policy, which is really only pertinent to the synapse implementation of the group server. By doing this we keep the group server concept extensible by allowing arbitrarily complex rules for deciding whether a group is openly joinable.
2018-04-06By default, join policy is "invite"Luke Barnard1-1/+1
2018-04-06add_user -> _add_userLuke Barnard1-3/+3
2018-04-06pep8Luke Barnard2-2/+4
2018-04-06Get group_info from existing call to check_group_is_oursLuke Barnard1-5/+1
2018-04-06Don't use redundant inlineCallbacksLuke Barnard1-4/+1
2018-04-06join_rule -> join_policyLuke Barnard1-1/+1
2018-04-06is_joinable -> join_ruleLuke Barnard2-5/+2
2018-04-06Fix federation client `set_group_joinable` typoLuke Barnard1-1/+1
2018-04-06Factor out add_user from accept_invite and join_groupLuke Barnard1-41/+29
2018-04-06pep8David Baker1-1/+2
2018-04-06Implement group join APIDavid Baker5-4/+124
2018-04-06Port script: Set up state_group_id_seqRichard van der Hoff1-0/+13
Fixes https://github.com/matrix-org/synapse/issues/3050.
2018-04-06Port script: clean up a bitRichard van der Hoff1-25/+29
Improve logging and comments. Group all the stuff to do with inspecting tables together rather than creating the port tables in the middle.
2018-04-06Port script: avoid nasty errors when setting upRichard van der Hoff1-8/+6
We really shouldn't spit out "Failed to create port table", it looks scary.
2018-04-06Add response size metricsErik Johnston1-0/+7
2018-04-06use PUT instead of POST for federating groups/m.join_policyKrombel3-3/+7
2018-04-06more verbosity in synctlRichard van der Hoff1-0/+1
2018-04-05make prometheus config compliant to v0.28Krombel3-19/+19
2018-04-05Fix overzealous cache invalidationRichard van der Hoff2-26/+84
Fixes an issue where a cache invalidation would invalidate *all* pending entries, rather than just the entry that we intended to invalidate.
2018-04-05NON NULL -> NOT NULLLuke Barnard1-1/+1
2018-04-05Use "/settings/" (plural)Luke Barnard3-3/+3
2018-04-05Use DEFAULT join_policy of "invite" in dbLuke Barnard1-1/+1
2018-04-05Document set_group_join_policyLuke Barnard1-0/+6
2018-04-05Review commentsNeil Johnson2-5/+6
Use iteritems over item to loop over dict formatting
2018-04-04Remove redundant metrics which were deprecated in 0.27.0.Richard van der Hoff5-52/+28
2018-04-04phone home cache size configurationsJan Christian Grünhage1-0/+3
2018-04-04Document the additional routes for the event_creator workerTravis Ralston1-1/+3
Fixes https://github.com/matrix-org/synapse/issues/3018 Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-04-04Move the mention of the main synapse worker higher upTravis Ralston1-13/+6
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-04-04Add b prefixes to some strings that are bytes in py3Adrian Tschira6-14/+14
This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-04-04Revert "improve mxid check performance"Richard van der Hoff1-4/+3
2018-04-04Remove address resolution of hosts in SRV recordsSilke2-122/+10
Signed-off-by: Silke Hofstra <silke@slxh.eu>
2018-04-04Document the behaviour of ResponseCacheRichard van der Hoff1-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.
2018-04-03Use join_policy API instead of joinableLuke Barnard7-23/+58
The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open".
2018-04-03Fix json encoding bug in replicationRichard van der Hoff1-1/+1
json encoders have an encode method, not a dumps method.
2018-03-31improve mxid check performance ~4xAdrian Tschira1-3/+4
Signed-off-by: Adrian Tschira <nota@notafile.com>
2018-03-29Remove uses of events.contentRichard van der Hoff3-7/+12
2018-03-29Use static JSONEncodersRichard van der Hoff4-20/+34
using json.dumps with custom options requires us to create a new JSONEncoder on each call. It's more efficient to create one upfront and reuse it.
2018-03-29Use simplejson throughoutRichard van der Hoff3-5/+9
Let's use simplejson rather than json, for consistency.
2018-03-29pep8Neil Johnson1-2/+4
2018-03-29Remove need for sqlite specific queryNeil Johnson1-30/+57
2018-03-28 fix pep8 errorsNeil Johnson1-3/+0
2018-03-28Update README.rstNeil Johnson1-2/+2
update docker hub url
2018-03-28This should probably be a PUTDavid Baker1-1/+1
2018-03-28remove twisted deferral cruftNeil Johnson1-6/+3
2018-03-28OK, smallint it is thenDavid Baker1-1/+1
2018-03-28Grr. Copy the definition from is_adminDavid Baker1-1/+1
2018-03-28bump schema versionNeil Johnson1-1/+1
2018-03-28Support multi client R30 for psqlNeil Johnson2-9/+31
2018-03-28pep8David Baker1-2/+1
2018-03-28Handle review commentsMichael Kaye1-6/+9