| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Make it return the state *after* the requested event, rather than the one
before it. This is a bit easier and requires fewer calls to
get_events_from_store_or_dest.
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit '894d2adda':
changelog
convert to async: FederationHandler._process_received_pdu
convert to async: FederationHandler._get_state_for_room
convert to async: FederationHandler.on_receive_pdu
Convert federation backfill to async
|
| |\ \ \
| | | | |
| | | | | |
Port some of FederationHandler to async/await
|
| | | | |
| | | | |
| | | | |
| | | | | |
also fix user_joined_room to consistently return deferreds
|
| | | | |
| | | | |
| | | | |
| | | | | |
... and _get_events_from_store_or_dest
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
and associated functions:
* on_receive_pdu
* handle_queued_pdus
* get_missing_events_for_pdu
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
PaginationHandler.get_messages is only called by RoomMessageListRestServlet,
which is async.
Chase the code path down from there:
- FederationHandler.maybe_backfill (and nested try_backfill)
- FederationHandler.backfill
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '31905a518':
Newsfile
Port handlers.account_validity to async/await.
Port handlers.account_data to async/await.
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Port handlers.account_validity to async/await.
|
| | | | | |
|
| | | |/
| | |/| |
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit '7c429f92d':
Clean up some logging (#6515)
|
| | | |
| | | |
| | | |
| | | | |
This just makes some of the logging easier to follow when things start going
wrong.
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'fc316a489':
Prevent redacted events from appearing in message search (#6377)
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'ea0f0ad41':
Prevent message search in upgraded rooms we're not in (#6385)
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'f8bc2ae88':
Move get_state methods into FederationHandler (#6503)
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a non-functional refactor as a precursor to some other work.
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit '4947de5a1':
Allow SAML username provider plugins (#6411)
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit 'e3f528c54':
Newsfile
Remove SnapshotCache in favour of ResponseCache
|
| |\ \ \
| | |/ /
| |/| /
| | |/ |
Remove SnapshotCache in favour of ResponseCache
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'adfdd82b2':
Back out perf regression from get_cross_signing_keys_from_cache. (#6494)
Fix comment
Fix port db script
Newsfile
Fixup tests
Move start up DB checks to main data store.
Pass Database into the data store
Move are_all_users_on_domain checks to main data store.
Change DataStores to accept 'database' param.
|
| |/
| |
| | |
Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression.
|
|\|
| |
| |
| |
| |
| | |
* commit 'e1544b0af':
Newsfile
Pull out room_invite_state_types config option once.
|
| |\
| | |
| | | |
Pull out room_invite_state_types config option once.
|
| | |
| | |
| | |
| | | |
Pulling things out of config is currently surprisingly expensive.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'a9b393340':
Fixup functions to consistently return deferreds
Newsfile
Port SyncHandler to async/await
|
| |\ \
| | |/
| |/| |
Port SyncHandler to async/await
|
| | | |
|
| | | |
|
|\| |
| | |
| | |
| | |
| | | |
* commit '649b6bc08':
Replace /admin/v1/users_paginate endpoint with /admin/v2/users (#5925)
|
| |/ |
|
|\|
| |
| |
| |
| | |
* commit '63d6ad106':
Stronger typing in the federation handler (#6480)
|
| |
| |
| |
| |
| | |
replace the event_info dict with an attrs thing
|
|\|
| |
| |
| |
| | |
* commit 'e1f4c83f4':
Sanity-check the rooms of auth events before pulling them in. (#6472)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
_update_auth_events_and_context_for_auth (#6468)
* commit 'e203874ca':
get rid of (most of) have_events from _update_auth_events_and_context_for_auth (#6468)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
_update_auth_events_and_context_for_auth (#6468)
have_events was a map from event_id to rejection reason (or None) for events
which are in our local database. It was used as filter on the list of
event_ids being passed into get_events_as_list. However, since
get_events_as_list will ignore any event_ids that are unknown or rejected, we
can equivalently just leave it to get_events_as_list to do the filtering.
That means that we don't have to keep `have_events` up-to-date, and can use
`have_seen_events` instead of `get_seen_events_with_rejection` in the one place
we do need it.
|
|\|
| |
| |
| |
| |
| | |
* commit 'b9449012d':
Add changelog file
Issue #6406 Fix parameter mismatch
|
| |\
| | |
| | | |
Fix issue #6406 parameter mismatch
|
| | |
| | |
| | |
| | | |
Signed-off-by: Syam G Krishnan <syamgk01@gmail.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'c530f9af4':
Un-remove room purge test
Incorporate review
Format changelog
Update changelog since this isn't going to be featured in 1.6.0
Also filter state events
Only filter if a filter was provided
Update copyright
Lint
Update copyrights
Changelog
Add tests for /search
Merge labels tests for /context and /messages
Add test case
Filter events_before and events_after in /context requests
|
| |\ \
| | | |
| | | | |
Filter state, events_before and events_after in /context requests
|
| | |\ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
While the current version of the spec doesn't say much about how this endpoint uses filters (see https://github.com/matrix-org/matrix-doc/issues/2338), the current implementation is that some fields of an EventFilter apply (the ones that are used when running the SQL query) and others don't (the ones that are used by the filter itself) because we don't call event_filter.filter(...). This seems counter-intuitive and probably not what we want so this commit fixes it.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '54dd5dc12':
Add ephemeral messages support (MSC2228) (#6409)
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implement part [MSC2228](https://github.com/matrix-org/matrix-doc/pull/2228). The parts that differ are:
* the feature is hidden behind a configuration flag (`enable_ephemeral_messages`)
* self-destruction doesn't happen for state events
* only implement support for the `m.self_destruct_after` field (not the `m.self_destruct` one)
* doesn't send synthetic redactions to clients because for this specific case we consider the clients to be able to destroy an event themselves, instead we just censor it (by pruning its JSON) in the database
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit '72078e4be':
Transfer power level state events on room upgrade (#6237)
|
| | |/
| |/| |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
| |\ \
| | | |
| | | | |
Implement MSC 2367 - Membership Reasons
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Purge jobs don't delete the latest event in a room in order to keep the forward extremity and not break the room. On the other hand, get_state_events, when given an at_token argument calls filter_events_for_client to know if the user can see the event that matches that (sync) token. That function uses the retention policies of the events it's given to filter out those that are too old from a client's view.
Some clients, such as Riot, when loading a room, request the list of members for the latest sync token it knows about, and get confused to the point of refusing to send any message if the server tells it that it can't get that information. This can happen very easily with the message retention feature turned on and a room with low activity so that the last event sent becomes too old according to the room's retention policy.
An easy and clean fix for that issue is to discard the room's retention policies when retrieving state.
|
|\| |
| | |
| | |
| | |
| | | |
* commit 'a9c44d400':
Remove local threepids on account deactivation (#6426)
|
| | | |
|
|\| |
| | |
| | |
| | |
| | | |
* commit '0d27aba90':
add etag and count to key backup endpoints (#5858)
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'd31f69afa':
clean up buildkite output
Don't restrict the tests to v1 rooms
Fix worker mode
Fix 3PID invite exchange
Lint again
Lint again
Lint
Don't apply retention policy based filtering on state events
Implement per-room message retention policies
|
| |\ \
| | | |
| | | | |
Implement message retention policies (MSC1763)
|
| | |\ \ |
|
| | | | | |
|
| | | | | |
|
| | | |/
| | |/| |
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit '651d930f1':
remove confusing fixme
newsfile
Use get_events_as_list rather than lots of calls to get_event
Update some docstrings and comments
Simplify _update_auth_events_and_context_for_auth
|
| |\ \ \
| | |_|/
| |/| | |
Refactor _update_auth_events_and_context_for_auth
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
It's more efficient and clearer.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
move event_key calculation into _update_context_for_auth_events, since it's
only used there.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'f9f1c8acb':
Fixup docs
Newsfile
Fix caching devices for remote servers in worker.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Fix caching devices for remote servers in worker.
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the `/keys/query` API is hit on client_reader worker Synapse may
decide that it needs to resync some remote deivces. Usually this happens
on master, and then gets cached. However, that fails on workers and so
it falls back to fetching devices from remotes directly, which may in
turn fail if the remote is down.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '3916e1b97':
Clean up newline quote marks around the codebase (#6362)
update macOS installation instructions
|
| | | | | |
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '83446a18f':
Lint
Apply suggestions from code review
Newsfile
Add failed auth ratelimiting to UIA
Only do `rc_login` ratelimiting on succesful login.
|
| |\ \ \ \
| | |_|_|/
| |/| | | |
Only do `rc_login` ratelimiting on succesful login.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
|
| | | | | |
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We were doing this in a number of places which meant that some login
code paths incremented the counter multiple times.
It was also applying ratelimiting to UIA endpoints, which was probably
not intentional.
In particular, some custom auth modules were calling
`check_user_exists`, which incremented the counters, meaning that people
would fail to login sometimes.
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit '6e1b40dc2':
sample config
Add changelog
A couple more instances
Replace instance variations of homeserver with correct case/spacing
|
| | |/
| |/| |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit 'f713c01e2':
Move type annotation into docstring
Fix deleting state groups during room purge.
Use correct type annotation
Change to not require a state_groups.room_id index.
Fix up comment
Update log line to lie a little less
Add state_groups.room_id index
Docstrings
Fix purge room API
Newsfile
Split purge API into events vs state
|
| |\ \
| | | |
| | | | |
Split purge API into events vs state and add PurgeEventsStorage
|
| | |\|
| | | |
| | | |
| | | | |
erikj/split_purge_history
|
| | |\ \
| | | | |
| | | | |
| | | | | |
erikj/split_purge_history
|
| | | | | |
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit 'e914cf12f':
tweak changelog
Re-add docstring, with caveats detailed
Transfer upgraded rooms on groups
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | |_|/
| | |/| | |
|
|\| | | |
| | | | |
| | | | |
| | | | | |
(#6338)
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(#6320)
* commit '807ec3bd9':
Fix bug which caused rejected events to be stored with the wrong room state (#6320)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(#6320)
Fixes a bug where rejected events were persisted with the wrong state group.
Also fixes an occasional internal-server-error when receiving events over
federation which are rejected and (possibly because they are
backwards-extremities) have no prev_group.
Fixes #6289.
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '0e3ab8afd':
Add some checks that we aren't using state from rejected events (#6330)
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Raise an exception if accessing state for rejected events
Add some sanity checks on accessing state_group etc for
rejected events.
* Skip calculating push actions for rejected events
It didn't actually cause any bugs, because rejected events get filtered out at
various later points, but there's not point in trying to calculate the push
actions for a rejected event.
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit 'f496d2587':
Incorporate review
Factor out an _AsyncEventContextImpl (#6298)
Update synapse/storage/data_stores/main/schema/delta/56/event_labels.sql
Add more data to the event_labels table and fix the indexes
Add unstable feature flag
Lint
Incorporate review
Lint
Changelog
Add integration tests for /messages
Add more integration testing
Add integration tests for sync
Add unit tests
Add index on label
Implement filtering
Store labels for new events
Add database table for keeping track of labels on events
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The intention here is to make it clearer which fields we can expect to be
populated when: notably, that the _event_type etc aren't used for the
synchronous impl of EventContext.
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit '1cb84c648':
Support for routing outbound HTTP requests via a proxy (#6239)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy.
The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`.
The proxy will then be used for
* push
* url previews
* phone-home stats
* recaptcha validation
* CAS auth validation
It will *not* be used for:
* Application Services
* Identity servers
* Outbound federation
* In worker configurations, connections from workers to masters
Fixes #4198.
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'fe1f2b452':
Remove last usages of deprecated logging.warn method (#6314)
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | | |
* commit 'ace947e8d':
Depublish a room from the public rooms list when it is upgraded (#6232)
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* commit '53d7680e3':
Update synapse/storage/data_stores/main/devices.py
rename get_devices_by_remote to get_device_updates_by_remote
black
apply changes as a result of PR review
don't error if federation query doesn't have cross-signing keys
move get_e2e_cross_signing_key to EndToEndKeyWorkerStore so it works with workers
black
vendor-prefix the EDU name until MSC1756 is merged into the spec
fix unit test
add news file
update to work with newer code, and fix formatting
add missing param
make black happy
don't crash if the user doesn't have cross-signing keys
implement federation parts of cross-signing
|
| |\ \ \ |
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | | |
* commit '020add509':
Update black to 19.10b0 (#6304)
|
| | |_|/
| |/| |
| | | | |
* update version of black and also fix the mypy config being overridden
|
|\| | | |
|
| |\ \ \
| | | | |
| | | | | |
Add StateGroupStorage interface
|
| | | |/
| | |/| |
|
|\| | | |
|
| |/ /
| | |
| | | |
Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
|
|\| | |
|
| |\ \
| | | |
| | | |
| | | | |
erikj/split_out_persistence_store
|
| | |/
| |/| |
|
|\ \ \
| | |/
| |/|
| | | |
* commit 'a2276d4d3':
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | | |
* commit '770d1ef67':
Newsfile
Port receipt and read markers to async/wait
|
| | | |
|
|\| |
| | |
| | |
| | |
| | | |
* commit '172f264ed':
Improve signature checking on some federation APIs (#6262)
|
| | |
| | |
| | |
| | |
| | | |
Make sure that we check that events sent over /send_join, /send_leave, and
/invite, are correctly signed and come from the expected servers.
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit '87259b3a3':
Fix tests
Newsfile
Remove repeated calls to config.stats_enabled.
|
| |/
| |
| |
| |
| | |
Turns out that fetching variables from the config object is expensive,
so doing it once at startup avoids unnecessary work.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '276173163':
Add changelog entry
fix doc strings
make isort happy
add some comments
drop some logger lines to debug
make changes based on PR feedback
add function docs
use something that's the right type for user_id
run black
split out signature processing into separate functions
avoid modifying input parameter
fix test
update with newer coding style
add test
make isort happy
make black happy
allow uploading signatures of master key signed by devices
implement device signature uploading/fetching
|
| |\
| | |
| | | |
Cross-signing [3/4] -- uploading signatures edition
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* commit '93eaeec75':
Remove Auth.check method (#6217)
add note about database upgrade
use the right function for when we're already in runInteraction
add user signature stream change cache to slaved device store
black
use stream ID generator instead of timestamp
make isort happy
apply PR review suggestions
fix formatting
add changelog
make changes from PR review
don't need to return the hidden column any more
really fix queries to work with Postgres
PostgreSQL, Y U no like?
remove extra SQL query param
add changelog file
apply changes from PR review
allow uploading keys for cross-signing
allow devices to be marked as "hidden"
|
| | |_|/
| |/| |
| | | | |
This method was somewhat redundant, and confusing.
|
| |\ \ \ |
|
| | |\ \ \ |
|
| | |\ \ \ \
| | | |_|/ /
| | |/| | /
| | | | |/
| | | |/| |
|
| | |\ \ \ |
|
| | |\ \ \ \ |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
|\| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* commit '47ada4dff':
changelog
rip out some unreachable code
Remove dead check_auth script
|
| |\ \ \ \ \ \ \
| | | |_|_|_|_|/
| | |/| | | | | |
|
| |\ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The only possible rejection reason is AUTH_ERROR, so all of this is unreachable.
|
|\ \ \ \ \ \ \ \ \
| | |_|/ / / / / /
| |/| | | | | | | |
|
| | |/ / / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* Fix presence timeouts when synchrotron restarts.
Handling timeouts would fail if there was an external process that had
timed out, e.g. a synchrotron restarting. This was due to a couple of
variable name typoes.
Fixes #3715.
|
|\| | | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
make storage layer in charge of interpreting the device key data
|
| | | | | | | | | |
|
| | | | | | | | | |
|
|\| | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | |_|/ / / / / /
| |/| | | | | | | |
make version optional in body of e2e backup version update
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | | |
to agree with latest version of the MSC
|
|\| | | | | | | |
|
| | | | | | | | |
|
|\| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Hopefully this will fix the occasional failures we were seeing in the room directory.
The problem was that events are not necessarily persisted (and `current_state_delta_stream` updated) in the same order as their stream_id. So for instance current_state_delta 9 might be persisted *before* current_state_delta 8. Then, when the room stats saw stream_id 9, it assumed it had done everything up to 9, and never came back to do stream_id 8.
We can solve this easily by only processing up to the stream_id where we know all events have been persisted.
|
|\| | | | | | | |
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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).
|
|\| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Remove unused public room list timeout param
* Add changelog
|
|\| | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Don't regenerate numeric user ID if registration fails.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This causes huge amounts of DB IO if registrations start to fail e.g.
because the DB is struggling with IO.
|
|\| | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
test (#6167)
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
test (#6167)
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| |/| | | | | | |
Don't 500 when trying to exchange a revoked 3PID invite
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
While this is not documented in the spec (but should be), Riot (and other clients) revoke 3PID invites by sending a m.room.third_party_invite event with an empty ({}) content to the room's state.
When the invited 3PID gets associated with a MXID, the identity server (which doesn't know about revocations) sends down to the MXID's homeserver all of the undelivered invites it has for this 3PID. The homeserver then tries to talk to the inviting homeserver in order to exchange these invite for m.room.member events.
When one of the invite is revoked, the inviting homeserver responds with a 500 error because it tries to extract a 'display_name' property from the content, which is empty. This might cause the invited server to consider that the server is down and not try to exchange other, valid invites (or at least delay it).
This fix handles the case of revoked invites by avoiding trying to fetch a 'display_name' from the original invite's content, and letting the m.room.member event fail the auth rules (because, since the original invite's content is empty, it doesn't have public keys), which results in sending a 403 with the correct error message to the invited server.
|
|\| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We incorrectly used `room_id` as to bound the result set, even though we
order by `joined_members, room_id`, leading to incorrect results after
pagination.
|
|\| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Use room_stats and room_state for room directory search
|
|\| | | | | | | |
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
|\| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | | |
Just to have all the methods that make calls to identity services in one place.
|
|\| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes #5905
|
|\| | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
build up of forward extremities. (#5884)
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
'threepid_behaviour_email'. (#6104)
Fixes #6103
|
|\| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
If email or msisdn verification aren't supported, let's stop advertising them
for registration.
Fixes #6100.
|
|\| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Pull the checkers out to their own classes, rather than having them lost in a
massive 1000-line class which does everything.
This is also preparation for some more intelligent advertising of flows, as per #6100
|
|\| | | | | | |
|
| |\ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ \ |
|
| | | | | | | | | | |
|
| |\ \ \ \ \ \ \ \ \
| | |/ / / / / / / /
| |/| | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
We want to assign unique mxids to saml users based on an incrementing
suffix. For that to work, we need to record the allocated mxid in a separate
table.
|
|\ \ \ \ \ \ \ \ \ \
| | |_|_|/ / / / / /
| |/| | | | | | | | |
|
| | |_|/ / / / / /
| |/| | | | | | | |
|
|\| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Second part of solving #6076
Fixes #6076
We return a submit_url parameter on calls to POST */msisdn/requestToken so that clients know where to submit token information to.
|
|\| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
|\| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
First part of solving #6076
|
|\| | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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.
|