Commit Graph

227 Commits

Author SHA1 Message Date
Quentin Gliech
d966130e9f Bump the other opentelemetry crates 2024-06-28 17:22:02 +02:00
Quentin Gliech
041c74e7b2 Gate account recovery behing a configuration flag 2024-06-28 15:59:21 +02:00
Quentin Gliech
df89f570ac Actually send emails for recovery 2024-06-28 15:59:21 +02:00
reivilibre
efa0057491 Add a setPassword GraphQL mutation for setting a user's password (#2820)
* Feed `PasswordManager` through to the GraphQL `State`

* Add `setPassword` GraphQL mutation to update a user's password
2024-06-05 18:04:17 +01:00
reivilibre
06e3bc3ed1 Merge the mas_graphql crate into the mas_handlers crate (#2783) 2024-05-17 17:22:34 +01:00
Olivier 'reivilibre
d6ea3ba704 'migration' -> 'database migration' in startup output 2024-05-16 16:39:57 +02:00
Olivier 'reivilibre
f1e41cb05a Fix typos in doctor command output 2024-05-16 16:39:57 +02:00
Quentin Gliech
5e1e27f7ea hCaptcha support 2024-05-15 09:38:10 +02:00
Quentin Gliech
608daa9ac2 Cloudflare Turnstile support 2024-05-15 09:38:10 +02:00
Quentin Gliech
764069b6bc Render reCAPTCHA challenge on the registration form 2024-05-15 09:38:10 +02: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
a29da1f66f Update copyright headers 2024-04-30 13:33:47 +02:00
Quentin Gliech
f171b20893 Make the SiteConfig available in the GraphQL context 2024-04-30 13:33:47 +02:00
Quentin Gliech
3934cc8d42 Finish moving the site config 2024-04-30 13:33:47 +02:00
Quentin Gliech
10f7195cc0 Move the SiteConfig to the data-model crate 2024-04-30 13:33:47 +02:00
Quentin Gliech
9c22a39c0e Introduce config to restrict user capabilities 2024-04-30 13:33:47 +02:00
Quentin Gliech
0a5a51c28d Prompt for all parameters interactively 2024-04-30 12:15:10 +02:00
Quentin Gliech
93f0651c5e Prompt for username and confirm user creation 2024-04-30 12:15:10 +02:00
Quentin Gliech
75aeac9e0a Add a manage register-user utility to the CLI 2024-04-30 12:15:10 +02:00
Quentin Gliech
f82ad8c0e6 Soft-delete upstream OAuth 2.0 providers on config sync 2024-04-03 09:51:22 +02:00
Quentin Gliech
6841bc112d Add a soft-deletion column on upstream OAuth 2.0 providers 2024-04-03 09:51:22 +02:00
Quentin Gliech
2d9157986e Allow disabling registrations (#2553) 2024-04-03 09:27:14 +02:00
Quentin Gliech
ff1267eefd Flatten the upstream_oauth2 config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
5eadd1ffbd Flatten the telemetry config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
8d41352a1b Clean up the default policy config data 2024-03-22 13:33:09 +01:00
Quentin Gliech
0e7e2e7089 Flatten the passwords config section 2024-03-22 13:33:09 +01:00
Quentin Gliech
0f0dff8c1a Flatten the http config
Also properly remove the `spa` resource
2024-03-22 13:33:09 +01:00
Quentin Gliech
fedf41fe38 Flatten the email config 2024-03-22 13:33:09 +01:00
Quentin Gliech
8eff88e9e8 Flatten the database config 2024-03-22 13:33:09 +01:00
Quentin Gliech
f61bdbba72 Flatten the clients config 2024-03-22 13:33:09 +01:00
Quentin Gliech
85f6311f74 Load the configuration from a common Figment instance
This should avoid loading the same files multiple times.
It should also make it easier to do post-processing on the
configuration, like validation.

This does deprecate one undocumented feature: the ability to override
some fields during the configuration generation using environment
variables.
2024-03-22 13:33:09 +01:00
Quentin Gliech
7f845d1601 Use OTEL semantic conventions constants for most attributes 2024-03-19 17:15:14 +01:00
Quentin Gliech
771b6a2f8b Upgrade OTEL and remove support for Jaeger and Zipkin exporters 2024-03-18 17:26:40 +01:00
Quentin Gliech
670212b506 Make the mas-cli manage verify-email mark the email as primary 2024-03-08 17:25:39 +01:00
Quentin Gliech
4706d387a0 Use rustls-platform-verifier for cert validation
This simplifies by removing the mutually exclusive `native-roots` and
`webpki-roots` features with something that is suitable for all
platforms.
2024-03-06 14:03:59 +01:00
Quentin Gliech
2e0c72811e Automatically sync the configuration on server startup 2024-03-01 18:14:05 +01:00
Quentin Gliech
dd15135915 Load the additional OAuth parameters from the config 2024-03-01 14:36:37 +01:00
Quentin Gliech
6b3b1e8109 Additional parameters from upstream OAuth2 providers in the data model 2024-03-01 14:36:37 +01:00
Quentin Gliech
e7d26262a6 Make the HomeserverConnection available in handlers 2024-02-29 11:21:24 +01:00
Quentin Gliech
d3c799b3ae Save which user session created a compat session
This also exposes the user session in the GraphQL API, and allow
filtering on browser session ID on the app session list.
2024-02-21 11:55:58 +01:00
Quentin Gliech
3d12554d6a Introduce mas-cli doctor, a simple diagnostic tool
This should help users to diagnose common issues with their setup.
2024-02-08 15:28:43 +01:00
Quentin Gliech
afc7f509d9 Make the user agree to T&C during registration 2024-02-07 17:21:22 +01:00
Quentin Gliech
04966fd9b6 Automatically run migrations on service startup 2024-02-07 16:31:36 +01:00
Dirk Klimpel
ed94684390 allow config dump to file 2024-02-02 18:32:07 +01:00
Quentin Gliech
b49eadf418 Upgrade rustls 2024-02-02 11:45:20 +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
253495e8bd Upgrade clippy lints to 1.74.0 & fix warnings 2023-12-05 17:20:42 +01:00
Quentin Gliech
ea0b231dd3 Allow config generate to generate to a file directly instead of stdout 2023-11-24 11:52:31 +01:00
Quentin Gliech
b7f509532e Add upstream OAuth 2.0 providers name and branding 2023-11-20 17:23:02 +01:00
Quentin Gliech
6942fc4570 Allow endpoints and discovery mode override for upstream oauth2 providers
This time, at the configuration and database level
2023-11-17 16:18:39 +01:00