| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
* commit '5dd73d029':
Add type hints to handlers.message and events.builder (#8067)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '394be6a0e':
Newsfile
Add ratelimiting on joins
Add docs for undoing room shutdowns (#7998)
|
| |\
| | |
| | |
| | | |
erikj/add_rate_limiting_to_joins
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | | |
* commit '0a7fb2471':
Fix invite rejection when we have no forward-extremeties (#7980)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Thanks to some slightly overzealous cleanup in the
`delete_old_current_state_events`, it's possible to end up with no
`event_forward_extremities` in a room where we have outstanding local
invites. The user would then get a "no create event in auth events" when trying
to reject the invite.
We can hack around it by using the dangling invite as the prev event.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit '3950ae51e':
Ensure that remove_pusher is always async (#7981)
Ensure the msg property of HttpResponseException is a string. (#7979)
Remove from the event_relations table when purging historical events. (#7978)
Add additional logging for SAML sessions. (#7971)
Add MSC reference to changelog for #7736
Re-implement unread counts (#7736)
Various improvements to the docs (#7899)
Convert storage layer to async/await. (#7963)
Add an option to disable purge in delete room admin API (#7964)
Move some log lines from default logger to sql/transaction loggers (#7952)
Use the JSON module from the std library instead of simplejson. (#7936)
Fix exit code for `check_line_terminators.sh` (#7970)
Option to allow server admins to join complex rooms (#7902)
Fix typo in metrics docs (#7966)
Add script for finding files with unix line terminators (#7965)
Convert the remaining media repo code to async / await. (#7947)
Convert a synapse.events to async/await. (#7949)
Convert groups and visibility code to async / await. (#7951)
Convert push to async/await. (#7948)
|
| |/
| |
| |
| |
| | |
Fixes #7901.
Signed-off-by: Niklas Tittjung <nik_t.01@web.de>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '43726783e': (22 commits)
1.17.0rc1
Fix some spelling mistakes / typos. (#7811)
`update_membership` declaration: now always returns an event id. (#7809)
Improve stacktraces from exceptions in background processes (#7808)
Fix `can only concatenate list (not "tuple") to list` exception (#7810)
Pass original request headers from workers to the main process. (#7797)
Generate real events when we reject invites (#7804)
Add `HomeServer.signing_key` property (#7805)
Revert "Update the installation docs on apt-transport-https (#7801)"
Do not use simplejson in Synapse. (#7800)
Stop passing bytes when dumping JSON (#7799)
Update the installation docs on apt-transport-https (#7801)
shuffle changelog slightly
Change Caddy links (old is deprecated) (#7789)
Stop populating unused table `local_invites`. (#7793)
Refactor getting replication updates from database v2. (#7740)
Add libwebp dependency to Dockerfile (#7791)
Add documentation for JWT login type and improve sample config. (#7776)
Convert the appservice handler to async/await. (#7775)
Don't ignore `set_tweak` actions with no explicit `value`. (#7766)
...
|
| | |
|
| |
| |
| | |
It seems auth_events can be either a list or a tuple, depending on Things.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #2181.
The basic premise is that, when we
fail to reject an invite via the remote server, we can generate our own
out-of-band leave event and persist it as an outlier, so that we have something
to send to the client.
|
|\|
| |
| |
| |
| | |
* commit 'a3f11567d':
Replace all remaining six usage with native Python 3 equivalents (#7704)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dinsic-release-v1.14.x
* 'release-v1.14.0' of github.com:matrix-org/synapse: (108 commits)
Fix typo in PR link
Update debian changelog
1.14.0
Improve changelog wording
1.14.0rc2
Fix sample config docs error (#7581)
Fix up comments
Fix specifying cache factors via env vars with * in name. (#7580)
Don't apply cache factor to event cache. (#7578)
Ensure ReplicationStreamer is always started when replication enabled. (#7579)
Remove the changes to the debian changelog
Not full release yet, this is rc1
Merge event persistence move changelog entries
More changelog fix
Changelog fixes
1.14.0
Replace device_27_unique_idx bg update with a fg one (#7562)
Fix incorrect exception handling in KeyUploadServlet.on_POST (#7563)
Fix recording of federation stream token (#7564)
Simplify reap_monthly_active_users (#7558)
...
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The idea here is that if an instance persists an event via the replication HTTP API it can return before we receive that event over replication, which can lead to races where code assumes that persisting an event immediately updates various caches (e.g. current state of the room).
Most of Synapse doesn't hit such races, so we don't do the waiting automagically, instead we do so where necessary to avoid unnecessary delays. We may decide to change our minds here if it turns out there are a lot of subtle races going on.
People probably want to look at this commit by commit.
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
dinsic-release-v1.14.x
* 'release-v1.13.0' of github.com:matrix-org/synapse: (257 commits)
Update changelog based on feedback.
Move warnings in the changelog and re-iterate changes to branches.
1.13.0
update dh-virtualenv (#7526)
1.13.0rc3
Hash passwords earlier in the registration process (#7523)
1.13.0rc2
1.13.0rc2
Stop `get_joined_users` corruption from custom statuses (#7376)
Do not validate that the client dict is stable during UI Auth. (#7483)
Fix new flake8 errors (#7489)
Don't UPGRADE database rows
RST indenting
Put rollback instructions in upgrade notes
Fix changelog typo
Oh yeah, RST
Absolute URL it is then
Fix upgrade notes link
Provide summary of upgrade issues in changelog. Fix )
Move next version notes from changelog to upgrade notes
...
|
| | |
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'c7d6d5c69': (27 commits)
make FederationHandler.send_invite async
make FederationHandler.on_get_missing_events async
changelog
make FederationHandler.user_joined_room async
make FederationHandler._clean_room_for_join async
make FederationHandler._notify_persisted_event async
make FederationHandler.persist_events_and_notify async
make FederationHandler._make_and_verify_event async
make FederationHandler.do_remotely_reject_invite async
make FederationHandler._check_for_soft_fail async
make FederationHandler._persist_auth_tree async
make FederationHandler.do_invite_join async
make FederationHandler.on_event_auth async
make FederationHandler.on_exchange_third_party_invite_request async
make FederationHandler.construct_auth_difference async
make FederationHandler._update_context_for_auth_events async
make FederationHandler._update_auth_events_and_context_for_auth async
make FederationHandler.do_auth async
make FederationHandler._prep_event async
make FederationHandler._handle_new_event async
...
|
| | |
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '28c98e51f':
Add `local_current_membership` table (#6655)
|
| |
| |
| |
| |
| |
| |
| | |
Currently we rely on `current_state_events` to figure out what rooms a
user was in and their last membership event in there. However, if the
server leaves the room then the table may be cleaned up and that
information is lost. So lets add a table that separately holds that
information.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '1807db5e7':
changelog
Remove unused get_latest_event_ids_and_hashes_in_room
Remove unused get_prev_events_and_hashes_for_room
Remove unused hashes and depths from _update_membership params
Remove unused hashes and depths from create_event params
Remove unused hashes and depths from create_new_client_event params
replace get_prev_events_and_hashes_for_room with get_prev_events_for_room in create_new_client_event
rename get_prev_events_for_room to get_prev_events_and_hashes_for_room
|
| |\
| | |
| | | |
Remove a bunch of unused code from event creation
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
... to make way for a new method which just returns the event ids
|
|\| |
| | |
| | |
| | |
| | | |
* commit 'ba897a759':
Fix some test failures when frozen_dicts are enabled (#6642)
|
| |/
| |
| |
| | |
Fixes #4026
|
|\|
| |
| |
| |
| | |
* commit 'fa780e972':
Change EventContext to use the Storage class (#6564)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '81731c6e7':
Fix: Pillow error when uploading RGBA image (#3325) (#6241)
Add User-Interactive Auth to /account/3pid/add (#6119)
Lint
Changelog
Discard retention policies when retrieving state
blacklist more tests
Newsfile
Add tests
Propagate reason in remotely rejected invites
MSC2367 Allow reason field on all member events
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e914cf12f':
tweak changelog
Re-add docstring, with caveats detailed
Transfer upgraded rooms on groups
|
| | |
|
| | |
|
|\|
| |
| |
| |
| | |
* commit 'ace947e8d':
Depublish a room from the public rooms list when it is upgraded (#6232)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '020add509':
Update black to 19.10b0 (#6304)
|
| |
| |
| | |
* update version of black and also fix the mypy config being overridden
|
|\| |
|
| |
| |
| |
| |
| | |
It turns out that _local_membership_update doesn't run when you join a new, remote room. It only runs if you're joining a room that your server already knows about. This would explain #4703 and #5295 and why the transfer would work in testing and some rooms, but not others. This would especially hit single-user homeservers.
The check has been moved to right after the room has been joined, and works much more reliably. (Though it may still be a bit awkward of a place).
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
Copy push rules during a room upgrade from the old room to the new room, instead of deleting them from the old room.
For instance, we've defined upgrading of a room multiple times to be possible, and push rules won't be transferred on the second upgrade if they're deleted during the first.
Also fix some missing yields that probably broke things quite a bit.
|
|\| |
|
| |
| |
| | |
Just to have all the methods that make calls to identity services in one place.
|
|\| |
|
| |
| |
| |
| |
| | |
Uses a SimpleHttpClient instance equipped with the federation_ip_range_blacklist list for requests to identity servers provided by user input. Does not use a blacklist when contacting identity servers specified by account_threepid_delegates. The homeserver trusts the latter and we don't want to prevent homeserver admins from specifying delegates that are on internal IP addresses.
Fixes #5935
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
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~~
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
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`.
|
|\|
| |
| |
| | |
remote_reject_invite (#6009)
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| | |
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 :)
|
| |
| |
| |
| |
| | |
This reverts commit 71fc04069a5770a204c3514e0237d7374df257a8.
This broke 3PID invites as #5892 was required for it to work correctly.
|
| |
| |
| |
| |
| | |
This reverts commit 978f263e7c5d1eb440efaf07abc5009408ade25d, reversing
changes made to 4f6ee99818d9c338944a10585d0aea4c7349d456.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
|\| |
|
| | |
|
|\| |
|
| | |
|
|\| |
|
| |\ |
|
| | | |
|
| | | |
|
|\ \ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This has never been documented, and I'm not sure it's ever been used outside
sytest.
It's quite a lot of poorly-maintained code, so I'd like to get rid of it.
For now I haven't removed the database table; I suggest we leave that for a
future clearout.
|
| | |
| | |
| | |
| | | |
If we do the opposite, an event can arrive after or while sending the email and the 3PID invite event will get ratelimited.
|
| |/
| |
| |
| | |
This would cause emails being sent, but Synapse responding with a 429 when creating the event. The client would then retry, and with bad timing the same scenario would happen again. Some testing I did ended up sending me 10 emails for one single invite because of this.
|
| | |
|
| | |
|
| | |
|
|\| |
|
| | |
|
| | |
|
| |
| |
| |
| | |
If we do the opposite, an event can arrive after or while sending the email and the 3PID invite event will get ratelimited.
|
| |
| |
| |
| | |
This would cause emails being sent, but Synapse responding with a 429 when creating the event. The client would then retry, and with bad timing the same scenario would happen again. Some testing I did ended up sending me 10 emails for one single invite because of this.
|
| | |
|
|\| |
|
| |
| |
| | |
* fix mapping of return values for get_or_register_3pid_guest
|
|\| |
|
| | |
|
|\| |
|
| | |
|
| |\
| | |
| | |
| | | |
erikj/ratelimit_3pid_invite
|
| | |
| | |
| | |
| | |
| | | |
We do ratelimit sending the 3PID invite events, but that happens after
spamming the identity server.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
(#5061)
Co-Authored-By: babolivier <contact@brendanabolivier.com>
|
|\ \ \
| | |/
| |/| |
|
| |/ |
|
| |
| |
| | |
Prevent kick events from succeeding if the user is not currently in the room.
|
| | |
|
| |
| |
| | |
* Rewrite more internal IS urls.
|
| | |
|
|\| |
|
| | |
|
| |
| |
| | |
Transfer push rules (notifications) on room upgrade
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
* Move RegistrationHandler init to HomeServer
* Move post registration actions to RegistrationHandler
* Add post regisration replication endpoint
* Newsfile
|
|
|
|
|
| |
The event ID is changing, so we can no longer get the domain from it. On
the other hand, the check is unnecessary.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
When we do a join, always try the server we used for the alias lookup first.
Fixes #2418
|
|\
| |
| |
| | |
erikj/refactor_state_handler
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| | |
t3chguy/default_inviter_display_name_3pid
|
| | |
|
| | |
|
| |
| |
| |
| | |
They still can't reject invites, but we let them leave it.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Server Notices use a special room which the user can't dismiss. They are
created on demand when some other bit of the code calls send_notice.
(This doesn't actually do much yet becuse we don't call send_notice anywhere)
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
Filter ourselves out of the server list before checking for an empty remote
host list, to fix 500 error
Fixes #2141
|
| | |
|
| |\
| | |
| | | |
Split RoomMemberHandler into base and master class
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
I added yields when calling user_left_room, but they shouldn't matter on
the master process as they always return None anyway.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The intention here is to split the class into the bits that can be done
on workers and the bits that have to be done on the master.
In future there will also be a class that can be run on the worker,
which will delegate work to the master when necessary.
|
| |\|
| | |
| | | |
Factor out _remote_reject_invite in RoomMember
|
| | |\
| | | |
| | | |
| | | | |
erikj/factor_remote_leave
|
| | | | |
|
| | | | |
|
| |\ \ \
| | |_|/
| |/| | |
Don't build handlers on workers unnecessarily
|
| | |/ |
|
| |\ \
| | | |
| | | | |
Make RoomMemberHandler functions private that can be
|
| | |/ |
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| | |
| | | |
Initial Group Implementation
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
so pass string everywhere
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
| |/| |
|
| |/
| |
| |
| |
| | |
- allows sysadmins the ability to lock down their servers so that people can't
send their users room invites.
|
|/
|
|
| |
to prevent email invite from "None"
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The logic for marking invites as locally rejected was all well and good, but
didn't happen when the remote server returned a 500, or wasn't reachable, or
had no DNS, or whatever.
Just expand the except clause to catch everything.
Fixes https://github.com/matrix-org/synapse/issues/761.
|
|
|
|
|
| |
inline `reject_remote_invite`, which only existed to make tracing the callflow
more difficult.
|
| |
|
| |
|
|\
| |
| | |
Linearize updates to membership via PUT /state/
|
| | |
|
|/ |
|
|
|
|
| |
Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
It was always intended to allow custom keys on the join event, but this has
at some point been lost. Restore it.
If the user specifies keys like "avatar_url" then they will be clobbered.
|
| |
|
|
|
|
|
| |
Wrap the `Requester` constructor with a function which provides sensible
defaults, and use it throughout
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Remove some unused functions
* get_room_events_stream is only used in tests
* is_exclusive_room might actually be something we want
|
|
|
|
|
|
|
| |
Move the functions inside the distributor and import them
where needed. This reduces duplication and makes it possible
for flake8 to detect when the functions aren't used in a
given file.
|
|\
| |
| | |
Deduplicate membership changes
|
| | |
|
|/ |
|
|\
| |
| | |
Fix stuck invites
|
| |
| |
| |
| |
| |
| |
| |
| | |
If rejecting a remote invite fails with an error response don't fail
the entire request; instead mark the invite as locally rejected.
This fixes the bug where users can get stuck invites which they can
neither accept nor reject.
|
|\|
| |
| | |
Store invites in a separate table.
|
| | |
|
| | |
|
|\|
| |
| | |
Do checks for memberships before creating events
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
pycharm supports them so there is no need to use the other format.
Might as well convert the existing strings to reduce the risk of
people accidentally cargo culting the wrong doc string format.
|
|
|