Commit Graph

35 Commits

Author SHA1 Message Date
Quentin Gliech
01d5a2cca2 Allow the homeserver to perform introspection using a shared secret 2025-07-22 11:27:56 +02:00
Quentin Gliech
81efce0b7f Avoid a few unnecessary clones when talking to Synapse 2025-07-21 13:14:38 +02:00
Quentin Gliech
0680d8b565 Remove the spurious password field from the request body 2025-07-21 13:08:36 +02:00
Quentin Gliech
089229732e Rename create_device -> upsert_device 2025-07-21 10:54:40 +02:00
Quentin Gliech
85287c5471 Use the new dedicated Synapse API 2025-07-18 16:39:24 +02:00
Quentin Gliech
445f26b8bf Take the localpart instead of the MXID in HomeserverConnection methods 2025-07-18 16:39:24 +02:00
Quentin Gliech
2c66a30de6 Report AS-exclusive localparts as used, not an error 2025-06-25 14:12:41 +02:00
Quentin Gliech
52b0a9b2ba Update license headers to match the actual license 2025-06-12 10:32:16 +02:00
Quentin Gliech
8c2b51ab9a Fix encoding of MXIDs when creating devices in Synapse 2025-05-09 09:07:18 +02:00
Quentin Gliech
7b9b44c644 Allow setting custom names on sessions (#4459) 2025-04-30 15:32:25 +02:00
Quentin Gliech
8be6b2785f Allow Synapse user deactivation to take up to 5 minutes 2025-04-28 19:40:17 +02:00
Quentin Gliech
ff65153f7b Don't check for availability of usernames that aren't ASCII 2025-04-28 17:29:54 +02:00
Quentin Gliech
c55d0e7c0b matrix: allow setting a custom device display name 2025-04-25 12:55:06 +02:00
Olivier 'reivilibre
7ed09fc9ff change filter condition so that Some(false) does not signify dehydrated 2025-03-19 12:29:53 +00:00
Hubert Chathi
953262c77b don't delete devices marked as dehydrated devices 2025-03-18 15:41:50 -04:00
Quentin Gliech
df5de81c92 Remove generic error type & always use an Arc on the HS connection
This should help us write other implementations of HomeserverConnection
2025-03-03 15:43:13 +01:00
Quentin Gliech
56d9c7e63b Upgrade to Rust 1.85 and edition 2024 2025-02-21 16:15:02 +01:00
Quentin Gliech
a88b7efe1e Replace all the manual HTTP clients with reqwest 2024-10-28 13:46:38 +01:00
Quentin Gliech
9a946c19e7 Remove (C) 2024-09-10 14:28:55 +02:00
Quentin Gliech
9da19e2af0 License headers change 2024-09-05 13:25:42 +02:00
Quentin Gliech
9987a4e305 Show whether the user is deactivated on the homeserver in the GraphQL API
Fix #2375
2024-07-16 13:20:28 +02:00
Quentin Gliech
98d66c1356 Add a way to reactivate users on the homeserver 2024-07-16 13:20:28 +02:00
Quentin Gliech
f5e189304e Fully sync the devices with the homeserver 2024-07-16 09:32:07 +02:00
reivilibre
f7366feb1f Improve errors when MAS contacts the Synapse homeserver (#2794)
* Add some drive-by docstrings

* Change text rendering of catch_http_codes::HttpError

Using `#[source]` is unnatural here because it makes it look like
two distinct errors (one being a cause of the other),
when in reality it is just one error, with 2 parts.

Using `Display` formatting for that leads to a more natural error.

* Add constraints to `catch_http_code{,s}` methods

Not strictly required, but does two things:

- documents what kind of function is expected
- provides a small extra amount of type enforcement at the call site,
  rather than later on when you find the result doesn't implement Service

* Add a `catch_http_errors` shorthand

Nothing major, just a quality of life improvement so you don't have to
repetitively write out what a HTTP error is

* Unexpected error page: remove leading whitespace from preformatted 'details' section

The extra whitespace was probably unintentional and makes the error harder to read,
particularly when it wraps onto a new line unnecessarily

* Capture and log Matrix errors received from Synapse

* Drive-by clippy fix: use clamp instead of min().max()

* Convert `err(Display)` to `err(Debug)` for `anyhow::Error`s in matrix-synapse support module
2024-06-07 11:14:04 +00:00
Quentin Gliech
3e450b50f0 Fix recently added Clippy lints
This also ignores the clippy::blocks_in_conditions lint in two crates,
until tracing gets fixed: https://github.com/tokio-rs/tracing/issues/2876
2024-05-07 07:32:02 +02:00
Quentin Gliech
20bdb411f0 matrix-synapse: urlencode parameters before sending them to Synapse 2024-05-03 16:56:56 +02:00
Quentin Gliech
e7d26262a6 Make the HomeserverConnection available in handlers 2024-02-29 11:21:24 +01:00
Quentin Gliech
ad145eb816 Add API to check localpart availability 2024-02-29 11:21:24 +01:00
Quentin Gliech
e647031305 Interface to allow cross-signing reset using Synapse admin API 2023-12-05 17:47:36 +01:00
Quentin Gliech
a7ff6b00aa Enable clippy lints on a workspace level
This enables a lot more lints than before in some crates, so this fixed a lot of warnings as well.
2023-12-05 17:20:42 +01:00
Quentin Gliech
b96d95792d Add instance privacy policy, TOS and imprint, and loads of design cleanups 2023-10-30 15:55:15 +01:00
Quentin Gliech
44fe2afafc Make the HTTP client factory reuse the underlying client
This avoids duplicating clients, and makes it so that they all share the same connection pool.
2023-09-14 16:52:01 +02:00
Quentin Gliech
ce3ad05c8d graphql: API to set the user displayname (#1412) 2023-08-03 14:45:59 +00:00
Quentin Gliech
bea8e4eff4 Call the homeserver for user deactivation 2023-08-03 14:06:34 +02:00
Quentin Gliech
f5ed39fa42 Refactor the matrix connection logic
Also make the display name available through the graphql api
2023-06-16 19:52:39 +02:00