| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
this is always the same as requester.access_token_id.
|
| | |
|
| |
| |
| | |
All handlers now available via get_*_handler() methods on the HomeServer.
|
| |
| |
| |
| | |
This is now redundant, and we can just call `handle_new_client_event` directly.
|
| | |
|
| |
| |
| |
| |
| | |
This PR allows `ThirdPartyEventRules` modules to view, manipulate and block changes to the state of whether a room is published in the public rooms directory.
While the idea of whether a room is in the public rooms list is not kept within an event in the room, `ThirdPartyEventRules` generally deal with controlling which modifications can happen to a room. Public rooms fits within that idea, even if its toggle state isn't controlled through a state event.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'cc40a59b4':
1.21.0
Add prometheus metrics to track federation delays (#8430)
Make token serializing/deserializing async (#8427)
Allow additional SSO properties to be passed to the client (#8413)
changelog
Add an improved "forward extremities" metric
Rewrite BucketCollector
Fix _exposition.py to stop stripping samples
Drop support for ancient prometheus_client (#8426)
Various clean ups to room stream tokens. (#8423)
changelog
Report state res metrics to Prometheus and log
Move Measure calls into `resolve_events_with_store`
Expose a `get_resource_usage` method in `Measure`
Move `resolve_events_with_store` into StateResolutionHandler
|
| |
| |
| | |
The idea is that in future tokens will encode a mapping of instance to position. However, we don't want to include the full instance name in the string representation, so instead we'll have a mapping between instance name and an immutable integer ID in the DB that we can use instead. We'll then do the lookup when we serialize/deserialize the token (we could alternatively pass around an `Instance` type that includes both the name and ID, but that turns out to be a lot more invasive).
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '4325be1a5':
Fix missing null character check on guest_access room state
Fixed a bug with reactivating users with the admin API (#8362)
Admin API for reported events (#8217)
Fix wording of deprecation notice in changelog
Deprecation warning for synapse admin api being accessible under /_matrix
Create function to check for long names in devices (#8364)
Add a comment re #1691
Fix a bad merge from release-v1.20.0. (#8354)
Admin API for querying rooms where a user is a member (#8306)
Catch-up after Federation Outage (bonus): Catch-up on Synapse Startup (#8322)
Simplify super() calls to Python 3 syntax. (#8344)
Allow appservice users to /login (#8320)
Update test logging to be able to accept braces (#8335)
Move lint dependencies to extras_require (#8330)
|
| |
| |
| |
| |
| |
| |
| | |
This converts calls like super(Foo, self) -> super().
Generated with:
sed -i "" -Ee 's/super\([^\(]+\)/super()/g' **/*.py
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '837293c31':
Remove obsolete __future__ imports (#8337)
Use admin_patterns for all admin APIs. (#8331)
Fix a potential bug of UnboundLocalError (#8329)
Switch metaclass initialization to python 3-compatible syntax (#8326)
Catch-up after Federation Outage (split, 4): catch-up loop (#8272)
Use slots in attrs classes where possible (#8296)
Fix typos in comments.
Add the topic and avatar to the room details admin API (#8305)
Improve SAML error messages (#8248)
Add experimental support for sharding event persister. Again. (#8294)
Make `StreamToken.room_key` be a `RoomStreamToken` instance. (#8281)
Use TLSv1.2 for fake servers in tests (#8208)
Add /_synapse/client to the reverse proxy docs (#8227)
Clean up `Notifier.on_new_room_event` code path (#8288)
|
| |
| |
| |
| |
| |
| | |
This is *not* ready for production yet. Caveats:
1. We should write some tests...
2. The stream token that we use for events can get stalled at the minimum position of all writers. This means that new events may not be processed and e.g. sent down sync streams if a writer isn't writing or is slow.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
* commit '17fa4c7ca':
Catch up after Federation Outage (split, 2): Track last successful stream ordering after transmission (#8247)
Catch-up after Federation Outage (split, 1) (#8230)
Fix type signature in simple_select_one_onecol and friends (#8241)
Stop sub-classing object (#8249)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '9f8abdcc3':
Revert "Add experimental support for sharding event persister. (#8170)" (#8242)
|
| |
| |
| |
| |
| |
| |
| | |
* Revert "Add experimental support for sharding event persister. (#8170)"
This reverts commit 82c1ee1c22a87b9e6e3179947014b0f11c0a1ac3.
* Changelog
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '0d4f614fd':
Refactor `_get_e2e_device_keys_for_federation_query_txn` (#8225)
Add experimental support for sharding event persister. (#8170)
Add /user/{user_id}/shared_rooms/ api (#7785)
Do not try to store invalid data in the stats table (#8226)
Convert the main methods run by the reactor to async. (#8213)
|
| |
| |
| |
| |
| |
| | |
This is *not* ready for production yet. Caveats:
1. We should write some tests...
2. The stream token that we use for events can get stalled at the minimum position of all writers. This means that new events may not be processed and e.g. sent down sync streams if a writer isn't writing or is slow.
|
|\|
| |
| |
| |
| |
| | |
* commit 'aec708517':
Convert state and stream stores and related code to async (#8194)
Ensure that the OpenID Connect remote ID is a string. (#8190)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '5c03134d0':
Convert additional database code to async/await. (#8195)
Define StateMap as immutable and add a MutableStateMap type. (#8183)
Move and refactor LoginRestServlet helper methods (#8182)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '4a739c73b':
Convert simple_update* and simple_select* to async (#8173)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '56efa9ec7': (22 commits)
Fix rate limiting unit tests. (#8167)
Add functions to `MultiWriterIdGen` used by events stream (#8164)
Do not allow send_nonmember_event to be called with shadow-banned users. (#8158)
Changelog fixes
Make StreamIdGen `get_next` and `get_next_mult` async (#8161)
Wording fixes to 'name' user admin api filter (#8163)
Fix missing double-backtick in RST document
Search in columns 'name' and 'displayname' in the admin users endpoint (#7377)
Add type hints for state. (#8140)
Stop shadow-banned users from sending non-member events. (#8142)
Allow capping a room's retention policy (#8104)
Add healthcheck for default localhost 8008 port on /health endpoint. (#8147)
Fix flaky shadow-ban tests. (#8152)
Don't fail /submit_token requests on incorrect session ID if request_token_inhibit_3pid_errors is turned on (#7991)
Do not apply ratelimiting on joins to appservices (#8139)
Micro-optimisations to get_auth_chain_ids (#8132)
Allow denying or shadow banning registrations via the spam checker (#8034)
Stop shadow-banned users from sending invites. (#8095)
Be more tolerant of membership events in unknown rooms (#8110)
Improve the error code when trying to register using a name reserved for guests. (#8135)
...
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
* commit 'dc22090a6':
Add type hints to synapse.handlers.room (#8090)
Remove some unused database functions. (#8085)
Convert misc database code to async (#8087)
Remove a space at the start of a changelog entry.
|
| | |
|
|\|
| |
| |
| |
| | |
* commit 'e19de43eb':
Convert streams to async. (#8014)
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
join rules on rule change (#63)
This PR switches several conditions regarding room access rules to check against the status of the room's inclusion in the public room list instead of its join rules.
The code includes a snapshot of https://github.com/matrix-org/synapse/pull/8292, which will likely change in time and need merging in again.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'f88c48f3b':
1.18.0rc1
Fix error reporting when using `opentracing.trace` (#7961)
Fix typing replication not being handled on master (#7959)
Remove hacky error handling for inlineDeferreds. (#7950)
Convert tests/rest/admin/test_room.py to unix file endings (#7953)
Support oEmbed for media previews. (#7920)
Convert state resolution to async/await (#7942)
Fix up types and comments that refer to Deferreds. (#7945)
Do not convert async functions to Deferreds in the interactive_auth_handler (#7944)
Convert more of the media code to async/await (#7873)
Return an empty body for OPTIONS requests. (#7886)
Downgrade warning on client disconnect to INFO (#7928)
Convert presence handler helpers to async/await. (#7939)
Update the auth providers to be async. (#7935)
Put a cache on `/state_ids` (#7931)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '491f0dab1':
Add delete room admin endpoint (#7613)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Delete Room admin API allows server admins to remove rooms from server
and block these rooms.
`DELETE /_synapse/admin/v1/rooms/<room_id>`
It is a combination and improvement of "[Shutdown room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/shutdown_room.md)" and "[Purge room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/purge_room.md)" API.
Fixes: #6425
It also fixes a bug in [synapse/storage/data_stores/main/room.py](synapse/storage/data_stores/main/room.py) in ` get_room_with_stats`.
It should return `None` if the room is unknown. But it returns an `IndexError`.
https://github.com/matrix-org/synapse/blob/901b1fa561e3cc661d78aa96d59802cf2078cb0d/synapse/storage/data_stores/main/room.py#L99-L105
Related to:
- #5575
- https://github.com/Awesome-Technologies/synapse-admin/issues/17
Signed-off-by: Dirk Klimpel dirk@klimpel.org
|
|\|
| |
| |
| |
| | |
* commit 'a3f11567d':
Replace all remaining six usage with native Python 3 equivalents (#7704)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '03619324f':
Create a ListenerConfig object (#7681)
Fix changelog wording
1.15.1
Wrap register_device coroutine in an ensureDeferred (#7684)
Ensure the body is a string before comparing push rules. (#7701)
Ensure etag is a string for GET room_keys/version response (#7691)
Update m.id.phone to use 'phone' instead of 'number' (#7687)
Fix "There was no active span when trying to log." error (#7698)
Enable 3PID add/bind/unbind endpoints on r0 routes
Discard RDATA from already seen positions. (#7648)
Replace iteritems/itervalues/iterkeys with native versions. (#7692)
Fix warnings about losing log context during UI auth. (#7688)
Fix a typo when comparing the URI & method during UI Auth. (#7689)
Remove "user_id" from GET /presence. (#7606)
Increase the default SAML session expirary time to 15 minutes. (#7664)
fix typo in sample_config.yaml (#7652)
Take out a lock before modifying _CACHES (#7663)
Add option to enable encryption by default for new rooms (#7639)
Clean-up the fallback login code. (#7657)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes https://github.com/matrix-org/synapse/issues/2431
Adds config option `encryption_enabled_by_default_for_room_type`, which determines whether encryption should be enabled with the default encryption algorithm in private or public rooms upon creation. Whether the room is private or public is decided based upon the room creation preset that is used.
Part of this PR is also pulling out all of the individual instances of `m.megolm.v1.aes-sha2` into a constant variable to eliminate typos ala https://github.com/matrix-org/synapse/pull/7637
Based on #7637
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of doing a complicated dance of deleting and moving aliases one
by one, which sends a canonical alias update into the old room for each
one, lets do it all in one go.
This also changes the function to move *all* local alias events to the new
room, however that happens later on anyway.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
...
|
| | |
|
| |
| |
| |
| | |
room directory. (#7260)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Switch sytest-synapse to sytest-dinsic
* Be sure to invalidate our caches properly!
* Remove duplicate encryption state key definition
* Remove old config option name in comment
* Make dinsic the default in merge_base_branch
|
|\|
| |
| |
| |
| | |
* commit '60724c46b':
Remove special casing of `m.room.aliases` events (#7034)
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '509e381af':
Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)
changelog
Increase MAX_EVENTS_BEHIND for replication clients
|
| |
| |
| |
| | |
Ensure good comprehension hygiene using flake8-comprehensions.
|
|\|
| |
| |
| |
| | |
* commit '99eed85a7':
Do not send alias events when creating / upgrading a room (#6941)
|
| |
| |
| | |
Stop emitting room alias update events during room creation/upgrade.
|
|\|
| |
| |
| |
| | |
* commit 'fe3941f6e':
Stop sending events when creating or deleting aliases (#6904)
|
| |
| |
| | |
Stop sending events when creating or deleting associations (room aliases). Send an updated canonical alias event if one of the alt_aliases is deleted.
|
|\|
| |
| |
| |
| | |
* commit '3404ad289':
Raise the default power levels for invites, tombstones and server acls (#6834)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit '99fcc9628':
Third party event rules Update (#6781)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit 'ed630ea17':
Reduce amount of logging at INFO level. (#6862)
|
| |
| |
| |
| |
| |
| |
| |
| | |
A lot of the things we log at INFO are now a bit superfluous, so lets
make them DEBUG logs to reduce the amount we log by default.
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
Co-authored-by: Brendan Abolivier <github@brendanabolivier.com>
|
|\|
| |
| |
| |
| | |
* commit '6475382d8':
Fix detecting unknown devices from remote encrypted events. (#6848)
|
| |
| |
| |
| |
| |
| |
| |
| | |
We were looking at the wrong event type (`m.room.encryption` vs
`m.room.encrypted`).
Also fixup the duplicate `EvenTypes` entries.
Introduced in #6776.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '160522e32':
newsfile
Add `get_room_version` method
s/get_room_version/get_room_version_id/
|
| |
| |
| |
| |
| | |
... to make way for a forthcoming get_room_version which returns a RoomVersion
object.
|
|\|
| |
| |
| |
| |
| |
| |
| | |
* commit '281551f72':
changelog
Make /directory/room/<alias> handle restrictive power levels
Set the PL for aliases events to 0.
Factor out a `copy_power_levels_contents` method
|
| | |
|
| |
| |
| |
| | |
I'm going to need another copy (hah!) of this.
|
|\|
| |
| |
| |
| | |
* commit '8df862e45':
Add `rooms.room_version` column (#6729)
|
| |
| |
| | |
This is so that we don't have to rely on pulling it out from `current_state_events` table.
|
|\|
| |
| |
| |
| | |
* commit 'd386f2f33':
Add StateMap type alias (#6715)
|
| | |
|
|\|
| |
| |
| |
| | |
* commit 'ba897a759':
Fix some test failures when frozen_dicts are enabled (#6642)
|
| |
| |
| |
| | |
Fixes #4026
|
|\|
| |
| |
| |
| |
| |
| | |
upgrade (#6633)
* commit '01c3c6c92':
Fix power levels being incorrectly set in old and new rooms after a room upgrade (#6633)
|
| |
| |
| |
| |
| |
| | |
upgrade (#6633)
Modify a copy of an upgraded room's PL before sending to the new room
|
|\|
| |
| |
| |
| | |
* commit 'fa780e972':
Change EventContext to use the Storage class (#6564)
|
| | |
|
| |\ |
|
|\| |
| | |
| | |
| | |
| | | |
* commit '02553901c':
Remove unused `get_pagination_rows` methods. (#6557)
|
| | |
| | |
| | | |
Remove unused get_pagination_rows methods
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* commit '631653036':
Incorporate review
Update changelog.d/6553.bugfix
Lint
Add test case
Changelog
Update the documentation of the filtering function
Use the filtered version of an event when responding to /context requests for that event
|
| | | |
|
| |/
| |
| |
| |
| |
| | |
for that event
Sometimes the filtering function can return a pruned version of an event (on top of either the event itself or an empty list), if it thinks the user should be able to see that there's an event there but not the content of that event. Therefore, the previous logic of 'if filtered is empty then we can use the event we retrieved from the database' is flawed, and we should use the event returned by the filtering function.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
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 '72078e4be':
Transfer power level state events on room upgrade (#6237)
|
| |/ |
|
|\|
| |
| |
| |
| | |
* 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
|
|\| |
|
| |\
| | |
| | | |
Add StateGroupStorage interface
|
| | | |
|
|\| | |
|
| |/
| |
| | |
Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
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`.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| |
| | |
contain creator_id. (#5633)
|
| |
| |
| |
| | |
contain creator_id. (#5633)
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
Closes #4583
Does slightly less than #5045, which prevented a room from being upgraded multiple times, one after another. This PR still allows that, but just prevents two from happening at the same time.
Mostly just to mitigate the fact that servers are slow and it can take a moment for the room upgrade to actually complete. We don't want people sending another request to upgrade the room when really they just thought the first didn't go through.
|
|\| |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| | |
Replaces DEFAULT_ROOM_VERSION constant with a method that first checks the config, then returns a hardcoded value if the option is not present.
That hardcoded value is now located in the server.py config file.
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| | |
Transfers the m.room.related_groups state event on room upgrade.
|
| |
| |
| |
| | |
Collect all the things that make room-versions different to one another into
one place, so that it's easier to define new room versions.
|
| | |
|
| |
| |
| |
| | |
We also add an option to outright deny third party invites
|
| | |
|
| | |
|
|\|
| |
| |
| | |
erikj/dinsic-merged-master
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| | |
| | | |
Pass through room version to event auth
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Migrate encryption state on room upgrade
Signed-off-by: Andrew Morgan <andrew@amorgan.xyz>
* Add changelog file
|
| |
| |
| |
| |
| |
| | |
Allow for the creation of a support user.
A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits.
|
| |\
| | |
| | | |
Attempt to move room aliases on room upgrades
|
| | | |
|
| | | |
|
| |/
| |
| |
| | |
I found these helpful in debugging my room upgrade tests.
|
| |\
| | |
| | | |
Remember to copy the avatar on room upgrades
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| | |
Fixes handling of rooms where we have permission to send the tombstone, but not
other state. We need to (a) fail more gracefully when we can't send the PLs in
the old room, and (b) not set the PLs in the new room until we are done with
the other stuff.
|
| | |
|
| |
| |
| |
| | |
Improve comments, get old room state from the context we already have
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Currently just creates a new, empty, room, and sends a tombstone in the old
room.
|
| | |
|
| |
| |
| |
| | |
... to save passing it into `_send_events_for_new_room`
|
| |
| |
| |
| | |
we're going to need this for room upgrades.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Currently when fetching state groups from the data store we make two
hits two the database: once for members and once for non-members (unless
request is filtered to one or the other). This adds needless load to the
datbase, so this PR refactors the lookup to make only a single database
hit.
|
| | |
|
|\| |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is the first tranche of support for room versioning. It includes:
* setting the default room version in the config file
* new room_version param on the createRoom API
* storing the version of newly-created rooms in the m.room.create event
* fishing the version of existing rooms out of the m.room.create event
|
| |
| |
| | |
make /context lazyload & filter aware.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to handle /context/ requests on the client_reader worker
without having to pull in all the various stream handlers (e.g.
precence, typing, pushers etc). The only thing the token gets used for
is pagination, and that ignores everything but the room portion of the
token.
|
| |
| |
| |
| | |
This is in preparation for moving GET /context/ to a worker
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| | |
This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
|
|\| |
|
| |
| |
| |
| | |
they're not meant to be lazy (#3307)
|
| |
| |
| |
| |
| |
| | |
Returns an M_CONSENT_NOT_GIVEN error (cf
https://github.com/matrix-org/matrix-doc/issues/1252) if consent is not yet
given.
|
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| |
| |
| | |
Handlers is deprecated nowadays, so let's move this out before I add a new
dependency on it.
Also fix the docstrings on create_room.
|
| | |
|
|/ |
|
|
|
|
|
|
|
| |
This functionality has been deprecated for a while as well as being
broken for a while. Instead of fixing it lets just remove it entirely.
See: https://github.com/matrix-org/matrix-doc/issues/1144
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
We reused the `content` dictionary between invite requests, which meant they could end up reusing the profile info for a previous user
|
|
|
|
| |
what could possibly go wrong
|
|
|
|
|
| |
It just calls the constructor, so we may as well kill it rather than having
random codepaths.
|
| |
|
|
|
|
|
| |
Lets the spam checker deny attempts to create rooms and add aliases
to them.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We do this by caching the set of users a user shares rooms with.
|
|\
| |
| | |
Enable guest access for private rooms by default
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
If a client didn't specify a from token when paginating backwards
synapse would attempt to query the (global) maximum topological token.
This a) doesn't make much sense since they're room specific and b) there
are no indices that lets postgres do this efficiently.
|
| |
| |
| |
| | |
synchronous
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Poll for updates from remote servers, waiting for the poll if there's no cache entry.
|
| | |
|
| | |
|
| |
| |
| |
| | |
so we don't accidentally mail out events people shouldn't see
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This dramatically simplifies the forget API code - in particular it no
longer generates a leave event.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Rooms now no longer require an alias to be published.
Also, changes the way we pull out state of each room to not require
fetching all state events.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, when a 3pid invite request is sent to an identity server, it
includes a provisioned guest access token. This allows the link in the,
say, invite email to include the guest access token ensuring that the
same account is used each time the link is clicked.
This flow has a number of flaws, including when using different servers
or servers that have guest access disabled.
For now, we keep this implementation but hide it behind a config option
until a better flow is implemented.
|
|
|
|
| |
API to discover what user ID an access token is for.
|
|\
| |
| | |
Make sure we add all invited members before returning from createRoom
|
| |
| |
| |
| | |
add a missing yield.
|
|\| |
|
| |
| |
| |
| | |
This will enable more detailed decisions
|
| | |
|
| |
| |
| |
| | |
Also don't overwrite the list that gets passed in.
|
| | |
|
|/
|
|
|
| |
Slightly hacky fix to SYN-642, which avoids the federation codepath when trying
to reject invites from local users.
|
|
|
|
|
|
|
|
|
| |
This means that following the same link across multiple sessions or
devices can re-use the same guest account.
Note that this is somewhat of an abuse vector; we can't throw up
captchas on this flow, so this is a way of registering ephemeral
accounts for spam, whose sign-up we don't rate limit.
|
| |
|
| |
|
|
|
|
|
| |
I'm not particularly happy with the "action" switching, but there's no
convenient way to defer the work that needs to happen after it, so... :(
|