| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
Implements MSC2290. This PR adds two new endpoints, /unstable/account/3pid/add and /unstable/account/3pid/bind. Depending on the progress of that MSC the unstable prefix may go away.
This PR also removes the blacklist on some 3PID tests which occurs in #6042, as the corresponding Sytest PR changes them to use the new endpoints.
Finally, it also modifies the account deactivation code such that it doesn't just try to deactivate 3PIDs that were bound to the user's account, but any 3PIDs that were bound through the homeserver on that user's account.
|
|
|
|
|
|
|
|
|
| |
Fixes #6066
This register endpoint should be disabled if registration is disabled, otherwise we're giving anyone the ability to check if a username exists on a server when we don't need to be.
Error code is 403 (Forbidden) as that's the same returned by /register when registration is disabled.
|
|
|
|
|
|
|
| |
In ancient times Synapse would only send emails when it was notifying a user about a message they received...
Now it can do all sorts of neat things!
Change the logging so it's not just about notifications.
|
| |
|
|\
| |
| | |
Fix exception when resetting retry timings
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes:
> TypeError: set_destination_retry_timings() missing 1 required positional
argument: 'retry_interval'
Introduced in #6016.
|
| | |
|
| | |
|
|/
|
|
|
| |
(#6074)
Remove trailing slash ability from the password reset submit_token endpoint. Since we provide the link in an email, and have never sent it with a trailing slash, there's no point for us to accept them on the endpoint.
|
|
|
| |
The validation links sent via email had their query parameters inserted without any URL-encoding. Surprisingly this didn't seem to cause any issues, but if a user were to put a `/` in their client_secret it could lead to problems.
|
|
|
| |
As per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290/files#diff-05cde9463e9209b701312b3baf2fb2ebR151), we're dropping the bind parameter from `/account/3pid`. This endpoint can now only be used for adding threepid's to the user's account on the homeserver.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a partial revert of #5893. The problem is that if we drop these tables
in the same release as removing the code that writes to them, it prevents users
users from being able to roll back to a previous release.
So let's leave the tables in place for now, and remember to drop them in a
subsequent release.
(Note that these tables haven't been *read* for *years*, so any missing rows
resulting from a temporary upgrade to vNext won't cause a problem.)
|
|
|
| |
Removes the POST method from `/password_reset/<medium>/submit_token/` as it's only used by phone number verification which Synapse does not support yet.
|
| |
|
|
|
|
|
|
|
| |
This checks whether the current platform supports thread resource usage tracking
before logging a warning to avoid log spam.
Fixes https://github.com/matrix-org/synapse/issues/6055
|
|
|
|
|
|
|
| |
3PID invites require making a request to an identity server to check that the invited 3PID has an Matrix ID linked, and if so, what it is.
These requests are being made on behalf of a user. The user will supply an identity server and an access token for that identity server. The homeserver will then forward this request with the access token (using an `Authorization` header) and, if the given identity server doesn't support v2 endpoints, will fall back to v1 (which doesn't require any access tokens).
Requires: ~~#5976~~
|
|
|
|
|
| |
Converting some of the rst documentation to markdown. Attempted to
preserve whitespace and line breaks to minimize cosmetic change.
|
|
|
|
|
| |
Broke in #5971
Basically the bug is that if get_current_state_deltas returns no new updates and we then take the max pos, its possible that we miss an update that happens in between the two calls. (e.g. get_current_state_deltas looks up to stream pos 5, then an event persists and so getting the max stream pos returns 6, meaning that next time we check for things with a stream pos bigger than 6)
|
|
|
|
| |
Track the time that a server started failing at, for general analysis purposes.
|
| |
|
| |
|
|
|
|
|
|
| |
Essentially the intention here is to end up blacklisting servers which never
respond to federation requests.
Fixes https://github.com/matrix-org/synapse/issues/5113.
|
|
|
|
| |
This was intended to introduce an element of jitter; instead it gave you a
30/60 chance of resetting to zero.
|
|
|
|
|
| |
Well, it worked, but forgot to remove the thing saying login was
unavailable.
|
|
|
| |
This PR adds the optional `report_stats_endpoint` to configure where stats are reported to, if enabled.
|
|
|
|
| |
* Blow up config if opentracing is missing
|
|
|
|
|
|
|
|
|
| |
This allows support users to be created even on MAU limits via
the admin API. Support users are excluded from MAU after creation,
so it makes sense to exclude them in creation - except if the
whole host is in disabled state.
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
|
|
|
|
|
|
| |
This is a redo of https://github.com/matrix-org/synapse/pull/5897 but with `id_access_token` accepted.
Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) plus Identity Service v2 authentication ala [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140).
Identity lookup-related functions were also moved from `RoomMemberHandler` to `IdentityHandler`.
|
|\
| |
| | |
Allow use of different ratelimits for admin redactions.
|
| |
| |
| | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
|
| | |
|
| |
| |
| |
| |
| | |
This is useful to allow room admins to quickly deal with a large number
of abusive messages.
|
| |
| |
| |
| | |
* remove some unused code
* make things which were constants into constants for efficiency and clarity
|
| |
| |
| |
| |
| |
| |
| |
| | |
remote_reject_invite (#6009)
Some small fixes to `room_member.py` found while doing other PRs.
1. Add requester to the base `_remote_reject_invite` method.
2. `send_membership_event`'s docstring was out of date and took in a `remote_room_hosts` arg that was not used and no calling function provided.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Two things I missed while implementing [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140/files#diff-c03a26de5ac40fb532de19cb7fc2aaf7R80).
1. Access tokens should be provided to the identity server as `access_token`, not `id_access_token`, even though the homeserver may accept the tokens as `id_access_token`.
2. Access tokens must be sent to the identity server in a query parameter, the JSON body is not allowed.
We now send the access token as part of an `Authorization: ...` header, which fixes both things.
The breaking code was added in https://github.com/matrix-org/synapse/pull/5892
Sytest PR: https://github.com/matrix-org/sytest/pull/697
|
|/
|
|
|
|
|
| |
params to docstring (#6010)
Another small fixup noticed during work on a larger PR. The `origin` field of `add_display_name_to_third_party_invite` is not used and likely was just carried over from the `on_PUT` method of `FederationThirdPartyInviteExchangeServlet` which, like all other servlets, provides an `origin` argument.
Since it's not used anywhere in the handler function though, we should remove it from the function arguments.
|
|\
| |
| | |
Use account_threepid_delegate for 3pid validation
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Only count real users when checking for auto-creation of auto-join room
|
| | |
| | |
| | |
| | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously if the first registered user was a "support" or "bot" user,
when the first real user registers, the auto-join rooms were not
created.
Fix to exclude non-real (ie users with a special user type) users
when counting how many users there are to determine whether we should
auto-create a room.
Signed-off-by: Jason Robinson <jasonr@matrix.org>
|
|\ \ \
| | | |
| | | | |
Censor redactions in DB after a month
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
erikj/censor_redactions
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |_|/ /
|/| | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
`sid` is required to be part of `three_pid_creds`. We were 500'ing if it wasn't provided instead of returning `M_MISSING_PARAM`.
|
|\ \ \ \
| |_|_|/
|/| | | |
Correctly handle non-bool m.federate flag
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Move get_threepid_validation_session and delete_threepid_session into RegistrationWorkerStore
|
| | | | | |
|
| |/ / / |
|
| | | |
| | | |
| | | | |
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Don't assume there is a 'self' arg in @trace decorator
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
server to handle 3pid validation (#5987)
This is a combination of a few different PRs, finally all being merged into `develop`:
* #5875
* #5876
* #5868 (This one added the `/versions` flag but the flag itself was actually [backed out](https://github.com/matrix-org/synapse/commit/891afb57cbdf9867f2848341b29c75d6f35eef5a#diff-e591d42d30690ffb79f63bb726200891) in #5969. What's left is just giving /versions access to the config file, which could be useful in the future)
* #5835
* #5969
* #5940
Clients should not actually use the new registration functionality until https://github.com/matrix-org/synapse/pull/5972 is merged.
UPGRADE.rst, changelog entries and config file changes should all be reviewed closely before this PR is merged.
|
| | |
| | |
| | |
| | | |
retrys (#5986)
|
| |/
|/|
| |
| | |
(#5988)
|
|\ \
| | |
| | |
| | |
| | | |
matrix-org/joriks/opentracing_link_send_to_edu_contexts
Link the send loop with the edus contexts
|
| | |
| | |
| | | |
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The contexts were being filtered too early so the send loop wasn't
being linked to them unless the destination
was whitelisted.
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| | |
Implements `POST /_matrix/client/r0/account/3pid/unbind` from [MSC2140](https://github.com/matrix-org/matrix-doc/blob/dbkr/tos_2/proposals/2140-terms-of-service-2.md#post-_matrixclientr0account3pidunbind).
|
| |
| |
| | |
Removes the `bind_email` and `bind_msisdn` parameters from the `/register` C/S API endpoint as per [MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140/files#diff-c03a26de5ac40fb532de19cb7fc2aaf7R107).
|
| |
| |
| | |
Very small code cleanup.
|
| |
| |
| | |
Previously the stats were not being correctly populated.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Ensure the list media admin API is always available
This API is required for some external media repo implementations to operate (mostly for doing quarantine operations on a room).
* changelog
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Ensure an auth instance is available to ListMediaInRoom
Fixes https://github.com/matrix-org/synapse/issues/5737
* Changelog
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove all the "double return" statements which were a result of us removing all the instances of
```
defer.returnValue(...)
return
```
statements when we switched to python3 fully.
|
| |
| |
| | |
Trace device list changes.
|
| |
| |
| | |
These methods were part of the v1 C/S API. Remove them as they are no longer used by any code paths.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix thumbnail storage location
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
* Add changelog file.
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
* Update Changelog
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
|
| |
| |
| | |
This reverts commit 4765f0cfd95f6160f32c75481651d125f343cd58.
|
| |
| |
| |
| |
| | |
Python will return a tuple whether there are parentheses around the returned values or not.
I'm just sick of my editor complaining about this all over the place :)
|
| |
| |
| |
| |
| | |
Adds a flag to `/versions`' `unstable_features` section indicating that this Synapse understands what an `id_access_token` is, as per https://github.com/matrix-org/synapse/issues/5927#issuecomment-523566043
Fixes #5927
|
|/
|
|
|
| |
This reverts commit 71fc04069a5770a204c3514e0237d7374df257a8.
This broke 3PID invites as #5892 was required for it to work correctly.
|
| |
|
|\
| |
| | |
Exempt support users from consent
|
| |
| |
| | |
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| | |
* Let synctl use a config directory.
|
| |
| |
| |
| |
| |
| |
| | |
Fixes https://github.com/matrix-org/synapse/issues/5861
Adds support for the v2 lookup API as defined in [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134). Currently this is only used for 3PID invites.
Sytest PR: https://github.com/matrix-org/sytest/pull/679
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Template config files
* Imagine a system composed entirely of x, y, z etc and the basic operations..
Wait George, why XOR? Why not just neq?
George: Eh, I didn't think of that..
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the caches on worker processes were not being correctly invalidated
when a room's state was changed in a way that did not affect the membership
list of the room.
We need to make sure we send out cache invalidations even when no memberships
are changing.
|
|\ \
| | |
| | | |
Add GET method to admin API /users/@user:dom/admin
|
| | |
| | |
| | |
| | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
|\ \ \
| | | |
| | | | |
MSC2197 Search Filters over Federation
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
|\ \ \ \
| | | | |
| | | | | |
Refactor MatrixFederationAgent to retry SRV.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
erikj/reliable_lookups
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Also document that we are using the algorithm described in RFC2782 and
ensure we handle zero weight correctly.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This refactors MatrixFederationAgent to move the SRV lookup into the
endpoint code, this has two benefits:
1. Its easier to retry different host/ports in the same way as
HostnameEndpoint.
2. We avoid SRV lookups if we have a free connection in the pool
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Allow schema deltas to be engine-specific
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Code style (Black)
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Increase profile display name limit
|
| |/ / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add config option to sign remote key query responses with a separate key.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This allows servers to separate keys that are used to sign remote keys
when acting as a notary server.
|
|\ \ \ \ \ \ \
| |_|_|_|_|_|/
|/| | | | | | |
public_base_url is actually public_baseurl
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
|/ / / / /
| | | | |
| | | | | |
Admin API: Set adminship of a user
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Propagate opentracing contexts through EDUs
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Awesome-Technologies/remove_shared_secret_registration
Remove shared secret registration
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This type of registration was probably never used. It only includes the
user name in the HMAC but not the password.
Shared secret registration is still available via
client/r0/admin/register.
Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Propagate opentracing contexts across workers
Also includes some Convenience modifications to opentracing for servlets, notably:
- Add boolean to skip the whitelisting check on inject
extract methods. - useful when injecting into carriers
locally. Otherwise we'd always have to include our
own servername and whitelist our servername
- start_active_span_from_request instead of header
- Add boolean to decide whether to extract context
from a request to a servlet
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 27a686e53b8ba3f2e2f102fae73e598c00ec0086.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit 3320aaab3a9bba3f5872371aba7053b41af9d0a0.
|
| | | | | | |
|
| |_|_|/ /
|/| | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Retry well known on fail
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If we have recently seen a valid well-known for a domain we want to
retry on (non-final) errors a few times, to handle temporary blips in
networking/etc.
|
| | | | | |
| | | | | |
| | | | | | |
Add opentracing tags and logs for e2e keys
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There's no point doing a raise_from here, because the exception is always
logged at warn with no stacktrace in the caller. Instead, let's try to give
better messages to reduce confusion.
In particular, this means that we won't log 'Failed to connect to remote
server' when we don't even attempt to connect to the remote server due to
blacklisting.
|
| |_|/ / /
|/| | | |
| | | | | |
These tables are never used, so we may as well drop them.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code
(it seemed to be previously inexplicably split between
`ApplicationServiceScheduler.start` and `_Recoverer.start`).
Add some docstrings too.
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Get rid of the labyrinthine `recoverer_fn` code, and clean up the startup code
(it seemed to be previously inexplicably split between
`ApplicationServiceScheduler.start` and `_Recoverer.start`).
Add some docstrings too.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Hopefully, this will fix a stack overflow when recovering an appservice.
The recursion here leads to a huge chain of deferred callbacks, which then
overflows the stack when the chain completes. `inlineCallbacks` makes a better
job of this if we use iteration instead.
Clean up the code a bit too, while we're there.
|
|/ / / /
| | | |
| | | | |
Update opentracing docs to use the unified 'trace' method
|
|\ \ \ \
| | | | |
| | | | | |
Remove logging for #5407 and update comments
|
| |/ / / |
|
|\ \ \ \ |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
... to save OSes which don't use it from having to maintain a port.
Fixes #5865.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Chris Moos <chris@chrismoos.com>
|
|\ \ \ \ \
| | | | | |
| | | | | | |
add the version field to the index for e2e_room_keys
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add authenticated_entity and servlet_names tags.
Functionally:
- Add a tag for authenticated_entity
- Add a tag for servlet_names
Stylistically:
Moved to importing methods directly from opentracing.
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | | |
Fixes #5833
The emailconfig code was attempting to pull incorrect config file names. This corrects that, while also marking a difference between a config file variable that's a filepath versus a str containing HTML.
|
|\ \ \ \ \
| | |/ / /
| |/| | | |
|
| | | | | |
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
is cached and so does not always return a `Deferred`.
`await` does not silently pass-through non-Deferreds like `yield` used to.
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| |_|/
|/| |
| | |
| | | |
contain creator_id. (#5633)
|
|\ \ \
| |/ /
|/| | |
Retry well-known lookup before expiry.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This gives a bit of a grace period where we can attempt to refetch a
remote `well-known`, while still using the cached result if that fails.
Hopefully this will make the well-known resolution a bit more torelant
of failures, rather than it immediately treating failures as "no result"
and caching that for an hour.
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Handle pusher being deleted during processing.
|
| | | |
|
| | |
| | |
| | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | | |
Instead of throwing a StoreError lets break out of processing loop and
mark the pusher as stopped.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add a lower bound to well-known TTL.
|
| | | | |
|
| | | | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
It costs both us and the remote server for us to fetch the well known
for every single request we send, so we add a minimum cache period. This
is set to 5m so that we still honour the basic premise of "refetch
frequently".
|
|\ \ \
| | | |
| | | | |
Don't unnecessarily block notifying of new events.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When persisting events we calculate new stream orderings up front.
Before we notify about an event all events with lower stream orderings
must have finished being persisted.
This PR moves the assignment of stream ordering till *after* calculated
the new current state and split the batch of events into separate chunks
for persistence. This means that if it takes a long time to calculate
new current state then it will not block events in other rooms being
notified about.
This should help reduce some global pauses in the events stream which
can last for tens of seconds (if not longer), caused by some
particularly expensive state resolutions.
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix handling of redactions of redactions
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Handle TimelineBatch being limited and empty.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
This hopefully addresses #5407 by gracefully handling an empty but
limited TimelineBatch. We also add some logging to figure out how this
is happening.
|
|/ / /
| | |
| | |
| | |
| | | |
Part of fixing matrix-org/sytest#652
Sytest PR: matrix-org/sytest#667
|
|\ \ \
| | | |
| | | | |
Account validity: allow defining HTML templates to serve the user on account renewal attempt
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Return 502 not 500 when failing to reach any remote server.
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Fixes #5803
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Handle incorrectly encoded query params correctly
|
| | |_|/
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Validate well known state events are state events.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Lets disallow sending things like memberships, topics etc as non-state
events.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Don't allow clients to send tombstones that reference the same room
|
| |/ / /
| | | |
| | | |
| | | | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Deny redaction of events in a different room.
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
We already correctly filter out such redactions, but we should also deny
them over the CS API.
|
|\ \ \ \
| | | | |
| | | | | |
Handle RequestSendFailed exception correctly in more places.
|
| | | | | |
|
| | | | | |
|
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is intended as an amendment to #5674 as using M_UNKNOWN as the errcode makes it hard for clients to differentiate between an invalid password and a deactivated user (the problem we were trying to solve in the first place).
M_UNKNOWN was originally chosen as it was presumed than an MSC would have to be carried out to add a new code, but as Synapse often is the testing bed for new MSC implementations, it makes sense to try it out first in the wild and then add it into the spec if it is successful. Thus this PR return a new M_USER_DEACTIVATED code when a deactivated user attempts to login.
|
| | | | |
|
| | | | |
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Turns out not all rooms are in `rooms`, so lets fetch the room list from
`current_state_events`. We move the delta file to force it to be run
again.
|
| | | |
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
The `expire_access_token` didn't do what it sounded like it should do. What it
actually did was make Synapse enforce the 'time' caveat on macaroons used as
access tokens, but since our access token macaroons never contained such a
caveat, it was always a no-op.
(The code to add 'time' caveats was removed back in v0.18.5, in #1656)
|
|/ |
|
|\
| |
| | |
Fix room summary when rejected events are in state
|
| |
| |
| |
| |
| |
| | |
Annoyingly, `current_state_events` table can include rejected events,
in which case the membership column will be null. To work around this
lets just always filter out null membership for now.
|
|\ \
| | |
| | | |
Remove some more joins on room_memberships
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This will allow us to efficiently filter out rooms that have been
forgotten in other queries without having to join against the
`room_memberships` table.
|
|\ \
| | |
| | | |
Fix current_state bg update to work on old SQLite
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that synapse doesn't explode when a redaction redacts itself, or
there is a larger cycle.
|
|\ \ \ \
| | |/ /
| |/| | |
Log when we receive a /make_* request from a different origin
|
| | | | |
|
|\ \ \ \
| | |/ /
| |/| | |
log when a redaction attempts to redact an event in a different room
|
| | | | |
|