| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
We're better off hashing just the event_id than the whole ((type, state_key),
event_id) tuple - so use a dict instead of a set.
Also, iteritems > items.
|
| |\
| | |
| | | |
Fix bug in forward_extremity update logic
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
An event does not stop being a forward_extremity just because an outlier or
rejected event refers to it.
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | |/ |
|
| |\ \
| | | |
| | | | |
Fix handling of rejected threepid invites
|
| | | | |
|
| | |/ |
|
| |\ \
| | | |
| | | | |
Fix exception in background metrics collection
|
| | |/
| | |
| | |
| | |
| | | |
We attempted to iterate through a list on a separate thread without
doing the necessary copying.
|
| |/ |
|
| | |
|
| |\
| | |
| | | |
Fix error handling for missing auth_event
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When we were authorizing an event, if there was no `m.room.create` in its
auth_events, we would raise a SynapseError with a cryptic message, which then
meant that we would bail out of processing any incoming events, rather than
storing a rejection for the faulty event and moving on.
We should treat the absent event the same as any other auth failure, by
raising an AuthError, so that the event is marked as rejected.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a connection is lost before a request is read from Request, Twisted
sets `method` (and `uri`) attributes to dummy values. These dummy values
have incorrect types (i.e. they're not bytes), and so things like
`__repr__` would raise an exception.
To fix this we had a helper method to return the method with a
consistent type.
|
| |\ \ \
| | | | |
| | | | | |
Avoid reraise, to improve stacktraces
|
| | | |/
| | |/| |
|
| |\ \ \
| | |/ /
| |/| | |
Fix lazy loaded sync with rejected state events
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In particular, we assume that the name and canonical alias events in
the state have not been rejected. In practice this may not be the case
(though we should probably think about fixing that) so lets ensure that
we gracefully handle that case, rather than 404'ing the sync request
like we do now.
|
| |\ \ \
| | | | |
| | | | | |
Fix exceptions when handling incoming transactions
|
| | |\ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If we have a forward extremity for a room as `E`, and you receive `A`, `B`,
s.t. `A -> B -> E`, and `B` also points to an unknown event `X`, then we need
to do state res between `X` and `E`.
When that happens, we need to make sure we include `X` in the state that goes
into the state res alg.
Fixes #3934.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If we've fetched state events from remote servers in order to resolve the state
for a new event, we need to actually pass those events into
resolve_events_with_factory (so that it can do the state res) and then persist
the ones we need - otherwise other bits of the codebase get confused about why
we have state groups pointing to non-existent events.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
get_state_groups returns a map from state_group_id to a list of FrozenEvents,
so was very much the wrong thing to be putting as one of the entries in the
list passed to resolve_events_with_factory (which expects maps from
(event_type, state_key) to event id).
We actually want get_state_groups_ids().values() rather than
get_state_groups().
This fixes the main problem in #3923, but there are other problems with this
bit of code which get discovered once you do so.
|
| | |_|/ /
| |/| | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Add a five minute cache to get_destination_retry_timings
|
| | | | | | |
|
| | | | | | |
|
| | |\ \ \ \
| | | | |/ /
| | | |/| | |
|
| | |\ \ \ \ |
|
| | |\ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
It used to try and produce an estimate, which was sometimes negative.
This caused metrics to be sad, so lets always just calculate it from
scratch.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Hopefully helps with #3931
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
remove spurious federation checks on localhost
|
| | | | | | | | | |
|
| | | |_|_|_|_|/
| | |/| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
There's really no point in checking for destinations called "localhost" because
there is nothing stopping people creating other DNS entries which point to
127.0.0.1. The right fix for this is
https://github.com/matrix-org/synapse/issues/3953.
Blocking localhost, on the other hand, means that you get a surprise when
trying to connect a test server on localhost to an existing server (with a
'normal' server_name).
|
| | |_|_|_|/ /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
I think this got forgotten in #3932. We were getting away with it because it
was the last call in this function.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Improve performance of getting typing updates for replication
|
| | |\ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Fetching the list of all new typing notifications involved iterating
over all rooms and comparing their serial. Lets move to using a stream
change cache, like we do for other streams.
|
| |\ \ \ \ \ \ \ \
| | | |_|_|_|_|_|/
| | |/| | | | | | |
Clarifications in FederationHandler
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* add some comments on things that look a bit bogus
* rename this `state` variable to avoid confusion with the `state` used
elsewhere in this function. (There was no actual conflict, but it was
a confusing bit of spaghetti.)
|
| |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Run notify_app_services as a bg process
|
| | | |_|_|/ / / /
| | |/| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This ensures that its resource usage metrics get recorded somewhere rather than
getting lost.
(It also fixes an error when called from a nested logging context which
completes before the bg process)
|
| |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Replaced all occurences of e.message with str(e)
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Signed-off-by: Schnuffle <schnuffle@github.com>
|
| | | | | | | | | | |
|
| |\ \ \ \ \ \ \ \ \
| | |_|_|/ / / / / /
| |/| | | | | | | | |
fix #3854 MAU transaction errors
|
| | | |/ / / / / /
| | |/| | | | | | |
|
| |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Logging improvements
|
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Some logging tweaks to help with debugging incoming federation transactions
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
transactions (#3959)
when processing incoming transactions, it can be hard to see what's going on,
because we process a bunch of stuff in parallel, and because we may end up
recursively working our way through a chain of three or four events.
This commit creates a way to use logcontexts to add the relevant event ids to
the log lines.
|
| | |/ / / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | | |
I spent ages trying to figure out how I was going mad...
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
trivial fixes for docstring
|
| |\ \ \ \ \ \
| | | |_|_|_|/
| | |/| | | | |
Fix ExpiringCache.__len__ to be accurate
|
| | | | | | | |
|
| | | |_|_|/
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It used to try and produce an estimate, which was sometimes negative.
This caused metrics to be sad, so lets always just calculate it from
scratch.
(This appears to have been a longstanding bug, but one which has been made more
of a problem by #3932 and #3933).
(This was originally done by Erik as part of #3933. I'm cherry-picking it
because really it's a fix in its own right)
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Move synctl into top dir to avoid a symlink
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
symlinks apparently break setuptools on python3 and alpine
(https://bugs.python.org/issue31940), so let's stop using a symlink and just
use the file directly.
|
| |\ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
Comments and interface cleanup for on_receive_pdu
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add some informative comments about what's going on here.
Also, `sent_to_us_directly` and `get_missing` were doing the same thing (apart
from in `_handle_queued_pdus`, which looks like a bug), so let's get rid of
`get_missing` and use `sent_to_us_directly` consistently.
|
| |\ \ \ \ \ \
| | | |_|_|_|/
| | |/| | | | |
Fix some instances of ExpiringCache not expiring cache items
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
ExpiringCache required that `start()` be called before it would actually
start expiring entries. A number of places didn't do that.
This PR removes `start` from ExpiringCache, and automatically starts
backround reaping process on creation instead.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Synapse doesn’t allow for media resources to be played directly from
Chrome. It is a problem for users on other networks (e.g. IRC)
communicating with Matrix users through a gateway. The gateway sends
them the raw URL for the resource when a Matrix user uploads a video
and the video cannot be played directly in Chrome using that URL.
Chrome argues it is not authorized to play the video because of the
Content Security Policy. Chrome checks for the "media-src" policy which
is missing, and defauts to the "default-src" policy which is "none".
As Synapse already sends "object-src: 'self'" I thought it wouldn’t be
a problem to add "media-src: 'self'" to the CSP to fix this problem.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix spurious exceptions when client closes conncetion
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
If a HTTP handler throws an exception while processing a request we
automatically write a JSON error response. If the handler had already
started writing a response twisted throws an exception.
We should check for this case and simple abort the connection if there
was an error after the response had started being written.
|
| | |_|_|/ / /
| |/| | | | |
| | | | | | |
| | | | | | | |
Ref: https://github.com/matrix-org/synapse/issues/3945
|
| | | | | | |
| | | | | | |
| | | | | | | |
Given we have disabled lazy loading for incr syncs in #3840, we can make self-LL more efficient by only doing it on initial sync. Also adds a bounds check for if/when we change our mind, so that we don't try to include LL members on sync responses with no timeline.
|
| |\ \ \ \ \ \ |
|
| | | | | | | | |
|
| |\| | | | | |
| | |_|/ / / /
| |/| | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Handle exceptions thrown by background tasks
|
| | | | | | | | |
|
| | | |/ / / /
| | |/| | | |
| | | | | | |
| | | | | | | |
Fixes #3921
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Should fix https://github.com/vector-im/riot-web/issues/7209
|
| |\ \ \ \ \ \
| | |_|_|/ / /
| |/| | | | | |
Neilj/fix room invite mail links
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
neilj/fix_room_invite_mail_links
|
| | | | | | | | |
|
| | |_|/ / / /
| |/| | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Remove get_destination_retry_timings cache
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Currently we rely on the master to invalidate this cache promptly.
However, after having moved most federation endpoints off of master this
no longer happens, causing outbound fedeariont to get blackholed.
Fixes #3798
|
| | | | | | | | |
|
| | |_|_|_|_|/
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Let's try to rationalise the logging that happens when we are processing an
incoming transaction, to make it easier to figure out what is going wrong when
they take ages. In particular:
- make everything start with a [room_id event_id] prefix
- make sure we log a warning when catching exceptions rather than just turning
them into other, more cryptic, exceptions.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The existing deferred timeout helper function (and the one into twisted)
suffer from a bug when a deferred's canceller throws an exception, #3842.
The new helper function doesn't suffer from this problem.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Fix matrixfederationclient.py logging: Destination is a string
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Set SNI to the server_name, not whatever was in the SRV record
|
| | | |_|/ / /
| | |/| | | |
| | | | | | |
| | | | | | | |
Fixes #3843
|
| |\ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
Bump timeout on get_missing_events request
|
| | |/ / / / |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When we do a join, always try the server we used for the alias lookup first.
Fixes #2418
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We want to wait until we have read the response body before we log the request
as complete, otherwise a confusing thing happens where the request appears to
have completed, but we later fail it.
To do this, we factor the salient details of a request out to a separate
object, which can then keep track of the txn_id, so that it can be logged.
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
Add python_version phone home stat
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | |/ /
| | |/| | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
don't ratelimit autojoins
|
| | |/ / / |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Return a 404 when deleting unknown room alias
|
| | | | | | |
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As per https://github.com/matrix-org/matrix-doc/issues/1675
Fixes https://github.com/matrix-org/synapse/issues/2782
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Python 3 compatibility: make sure that we decode some byte sequences before we
use them to create log lines and metrics labels.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Turns out deferred.cancel sometimes throws, so we do that last to ensure
that we always do resolve the new deferred.
|
| | | |
| | | |
| | | |
| | | | |
This is an attempt to mitigate #3842 by adding yet-another-timeout
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
don't filter membership events based on history visibility
as we will already have filtered the messages in the timeline, and state events
are always visible.
and because @erikjohnston said so.
|
| |\ \ \
| | | | |
| | | | | |
timeouts 2: electric boogaloo
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |\| | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |/ /
| |/| | |
|
| |/ / |
|
| |\ \
| | | |
| | | | |
Make purge history slightly faster
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\ \
| | | | |
| | | | |
| | | | | |
erikj/speed_up_purge
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Don't pull out events that are outliers and won't be deleted, as nothing
should happen to them.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If we receive an event that doesn't pass their content hash check (e.g.
due to already being redacted) then we hit a bug which causes an
exception to be raised, which then promplty stops the event (and
request) from being processed.
This effects all sorts of federation APIs, including joining rooms with
a redacted state event.
|
| | |/ /
| |/| | |
|
| |/ / |
|
| |\ \
| | | |
| | | | |
expose number of real reserved users
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Log outbound requests when we retry
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Change the manhole SSH key to have more bits
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Newer versions of openssh client refuse to connect to the old key due to
its length.
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
fix VOIP crashes under Python 3
|
| | |/ / / / |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
add some logging for the keyring queue
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
why is it so damn slow?
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix jwt import check
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This handy code attempted to check that we could import jwt, but utterly failed
to check it was the right jwt.
Fixes https://github.com/matrix-org/synapse/issues/3793
|
| | |_|_|/ / /
| |/| | | | | |
|
| | | | | | | |
|
| | |_|_|/ /
| |/| | | | |
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | | |
* speed up room summaries by pulling their data from room_memberships rather than room state
* disable LL for incr syncs, and log incr sync stats (#3840)
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Send existing room tags down sync on join
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When a user joined a room any existing tags were not sent down the sync
stream. Ordinarily this isn't a problem because the user needs to be in
the room to have set tags in it, however synapse will sometimes add tags
for a user to a room, e.g. for server notices, which need to come down
sync.
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Synapse 0.33.3.1 (2018-09-06)
=============================
SECURITY FIXES
--------------
- Fix an issue where event signatures were not always correctly validated ([\#3796](https://github.com/matrix-org/synapse/issues/3796))
- Fix an issue where server_acls could be circumvented for incoming events ([\#3796](https://github.com/matrix-org/synapse/issues/3796))
Internal Changes
----------------
- Unignore synctl in .dockerignore to fix docker builds ([\#3802](https://github.com/matrix-org/synapse/issues/3802))
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | |_|_|/ / /
| |/| | | | | |
guest users should not be part of mau total
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Limit the number of PDUs/EDUs per fedreation transaction
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Remove conn_id from repl prometheus metrics
|
| | | | | | | | | |
|
| | | |_|/ / / /
| | |/| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
`conn_id` gets set to a random string, and so we end up filling up
prometheus with tonnes of data series, which is bad.
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
User iter* during sync state calculations
|
| | | |_|_|_|_|/
| | |/| | | | | |
|
| |\ \ \ \ \ \ \
| | |_|_|/ / / /
| |/| | | | | | |
bump dep on pyopenssl to 16.x
|
| | | |_|/ / /
| | |/| | | | |
|
| | |_|_|_|/
| |/| | | | |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | /
| | | |_|/
| | |/| | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use the actual origin for push transactions, rather than whatever the remote
server claimed.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We should check that both the sender's server, and the server which created the
event_id (which may be different from whatever the remote server has told us
the origin is), have signed the event.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Implement 'event_format' filter param in /sync
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | | |
This has been specced and part-implemented; let's implement it for /sync (but
no other endpoints yet :/).
|
| | |_|/
| |/| | |
|
| |\ \ \
| | |/ /
| |/| | |
improve human readable error messages
|
| | | | |
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| | |
Remove unnecessary resolve_events_with_state_map
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We only ever used the synchronous resolve_events_with_state_map in one
place, which is trivial to replace with the async version.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Make sure that we close db connections opened during init
|
| | | | |
| | | | |
| | | | |
| | | | | |
This gives clearer messages when someone gets it wrong
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We should explicitly close any db connections we open, because failing to do so
can block other transactions as per
https://github.com/matrix-org/synapse/issues/3682.
Let's also try to factor out some of the boilerplate by having server classes
define their datastore class rather than duplicating the whole of `setup`.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
itervalues(d) calls d.itervalues() [PY2] and d.values() [PY3]
but SortedDict only implements d.values()
|
| |/ / /
| | | |
| | | | |
don't return non-LL-member state in incremental sync state blocks
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
This manifested in synapse repeatedly setting the tag for the room
|
| |/ / / |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since we don't actually delete the keys, just mark the versions
as deleted in the db rather than actually deleting them, then we
won't reuse versions.
Fixes https://github.com/vector-im/riot-web/issues/7448
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Continues from uhoreg's branch
This just fixed the errcode on /room_keys/version if no backup and
updates the schema delta to be on the latest so it gets run
|
| | | | |
|
| | | | |
|
|\| | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
Allow federation_domain_whitelist to be emtpy list
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Outbound federation were incorrectly allowed when the config option was
set to an empty list
|
| |\ \ \ \
| | | | | |
| | | | | | |
Fix bug where we broke sync when using limit_usage_by_mau
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | | |
We assumed that we always had service notices configured, but that is
not always true
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Pin to twisted 17.1 or later
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes https://github.com/matrix-org/synapse/issues/3741.
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
This was due to a bug where we mutated a cached event's contents
|
| | | | |
|
| |\| |
| | | |
| | | |
| | | | |
neilj/server_notices_on_blocking
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was originally done in commit c75b71a397d91c013a65a7f57d2c13199cf4c204,
but got reverted on this branch due to the PR (#3677) being based on the wrong
branch.
We're ready to merge this to master now, so let's make it match
release-v0.33.3.
|
| | | |\|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Features
--------
- Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! ([\#3439](https://github.com/matrix-org/synapse/issues/3439))
- Add /_media/r0/config ([\#3184](https://github.com/matrix-org/synapse/issues/3184))
- speed up /members API and add `at` and `membership` params as per MSC1227 ([\#3568](https://github.com/matrix-org/synapse/issues/3568))
- implement `summary` block in /sync response as per MSC688 ([\#3574](https://github.com/matrix-org/synapse/issues/3574))
- Add lazy-loading support to /messages as per MSC1227 ([\#3589](https://github.com/matrix-org/synapse/issues/3589))
- Add ability to limit number of monthly active users on the server ([\#3633](https://github.com/matrix-org/synapse/issues/3633))
- Support more federation endpoints on workers ([\#3653](https://github.com/matrix-org/synapse/issues/3653))
- Basic support for room versioning ([\#3654](https://github.com/matrix-org/synapse/issues/3654))
- Ability to disable client/server Synapse via conf toggle ([\#3655](https://github.com/matrix-org/synapse/issues/3655))
- Ability to whitelist specific threepids against monthly active user limiting ([\#3662](https://github.com/matrix-org/synapse/issues/3662))
- Add some metrics for the appservice and federation event sending loops ([\#3664](https://github.com/matrix-org/synapse/issues/3664))
- Where server is disabled, block ability for locked out users to read new messages ([\#3670](https://github.com/matrix-org/synapse/issues/3670))
- set admin uri via config, to be used in error messages where the user should contact the administrator ([\#3687](https://github.com/matrix-org/synapse/issues/3687))
- Synapse's presence functionality can now be disabled with the "use_presence" configuration option. ([\#3694](https://github.com/matrix-org/synapse/issues/3694))
- For resource limit blocked users, prevent writing into rooms ([\#3708](https://github.com/matrix-org/synapse/issues/3708))
Bugfixes
--------
- Fix occasional glitches in the synapse_event_persisted_position metric ([\#3658](https://github.com/matrix-org/synapse/issues/3658))
- Fix bug on deleting 3pid when using identity servers that don't support unbind API ([\#3661](https://github.com/matrix-org/synapse/issues/3661))
- Make the tests pass on Twisted < 18.7.0 ([\#3676](https://github.com/matrix-org/synapse/issues/3676))
- Don’t ship recaptcha_ajax.js, use it directly from Google ([\#3677](https://github.com/matrix-org/synapse/issues/3677))
- Fixes test_reap_monthly_active_users so it passes under postgres ([\#3681](https://github.com/matrix-org/synapse/issues/3681))
- Fix mau blocking calulation bug on login ([\#3689](https://github.com/matrix-org/synapse/issues/3689))
- Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users ([\#3692](https://github.com/matrix-org/synapse/issues/3692))
- Improve HTTP request logging to include all requests ([\#3700](https://github.com/matrix-org/synapse/issues/3700))
- Avoid timing out requests while we are streaming back the response ([\#3701](https://github.com/matrix-org/synapse/issues/3701))
- Support more federation endpoints on workers ([\#3705](https://github.com/matrix-org/synapse/issues/3705), [\#3713](https://github.com/matrix-org/synapse/issues/3713))
- Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning ([\#3710](https://github.com/matrix-org/synapse/issues/3710))
- Fix bug where `state_cache` cache factor ignored environment variables ([\#3719](https://github.com/matrix-org/synapse/issues/3719))
- Fix bug in v0.33.3rc1 which caused infinite loops and OOMs ([\#3723](https://github.com/matrix-org/synapse/issues/3723))
- Fix bug introduced in v0.33.3rc1 which made the ToS give a 500 error ([\#3732](https://github.com/matrix-org/synapse/issues/3732))
Deprecations and Removals
-------------------------
- The Shared-Secret registration method of the legacy v1/register REST endpoint has been removed. For a replacement, please see [the admin/register API documentation](https://github.com/matrix-org/synapse/blob/master/docs/admin_api/register_api.rst). ([\#3703](https://github.com/matrix-org/synapse/issues/3703))
Internal Changes
----------------
- The test suite now can run under PostgreSQL. ([\#3423](https://github.com/matrix-org/synapse/issues/3423))
- Refactor HTTP replication endpoints to reduce code duplication ([\#3632](https://github.com/matrix-org/synapse/issues/3632))
- Tests now correctly execute on Python 3. ([\#3647](https://github.com/matrix-org/synapse/issues/3647))
- Sytests can now be run inside a Docker container. ([\#3660](https://github.com/matrix-org/synapse/issues/3660))
- Port over enough to Python 3 to allow the sytests to start. ([\#3668](https://github.com/matrix-org/synapse/issues/3668))
- Update docker base image from alpine 3.7 to 3.8. ([\#3669](https://github.com/matrix-org/synapse/issues/3669))
- Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. ([\#3678](https://github.com/matrix-org/synapse/issues/3678))
- Synapse's tests are now formatted with the black autoformatter. ([\#3679](https://github.com/matrix-org/synapse/issues/3679))
- Implemented a new testing base class to reduce test boilerplate. ([\#3684](https://github.com/matrix-org/synapse/issues/3684))
- Rename MAU prometheus metrics ([\#3690](https://github.com/matrix-org/synapse/issues/3690))
- add new error type ResourceLimit ([\#3707](https://github.com/matrix-org/synapse/issues/3707))
- Logcontexts for replication command handlers ([\#3709](https://github.com/matrix-org/synapse/issues/3709))
- Update admin register API documentation to reference a real user ID. ([\#3712](https://github.com/matrix-org/synapse/issues/3712))
|
| | | | | |
|
| | | | | |
|
| | |\ \ \
| | | | | |
| | | | | | |
Allow guests to use /rooms/:roomId/event/:eventId
|
| | | | | | |
|
| | |\ \ \ \
| | | | | | |
| | | | | | | |
Allow profile updates to happen on workers
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Turns out that the user directory handling is fairly racey as a bunch
of stuff assumes that the processing happens on master, which it doesn't
when there is a synapse.app.user_dir worker. So lets just call the
function directly until we actually get round to fixing it, since it
doesn't make the situation any worse.
|
| | | |\ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
erikj/split_profiles
|