Commit Graph

530 Commits

Author SHA1 Message Date
Quentin Gliech
c6fdd82432 Encapsulate migration state in a single structure 2025-02-07 15:02:30 +01:00
Quentin Gliech
260834bc01 Make the MAS connection owned in the locked database struct 2025-02-07 12:53:51 +01:00
Quentin Gliech
cc618fa45d Update most Rust dependencies & disable some unused features 2025-02-06 12:50:50 +01:00
Quentin Gliech
9fbb1e73df Merge pull request #3926 from element-hq/rei/syn2mas_8_atrtdevs
syn2mas: migrate access tokens, refresh tokens and devices
2025-02-05 11:57:59 +01:00
Olivier 'reivilibre
73ccecf8e8 Add MasWriter support for compat refresh tokens + some migration progress 2025-02-05 11:38:50 +01:00
Quentin Gliech
930855f2cb Merge remote-tracking branch 'origin/main' into ref-merge/077df809a751dac03c94bb21e1def43ee4f1ae13 2025-02-04 16:21:10 +01:00
Quentin Gliech
45c70ec839 Fetch the upstream OIDC metadata in the background on startup 2025-01-30 15:24:45 +01:00
reivilibre
13cf5a5617 syn2mas: Support migrating external IDs as upstream OAuth2 providers (#3917)
* Add `SynapseReader` support and test for external IDs

* Run database migrations and do a config sync before syn2mas

* FullUserId: implement Display

* Add `MasWriter` support and test for upstream OAuth provider links

* Remove special-purpose write buffers and use only the generic one

* Build the provider ID mapping
2025-01-30 10:34:20 +00:00
Quentin Gliech
f7f06e8469 Don't prevent starting up if the mail backend is unavailable 2025-01-29 15:45:50 +01:00
Quentin Gliech
3cf7d89543 Fix crash if the watchdog is not set 2025-01-29 14:56:25 +01:00
Quentin Gliech
56c31e9e46 Run reload handlers in parallel 2025-01-28 14:29:33 +01:00
Quentin Gliech
133072bc55 Advertise the main PID through sd_notify on startup 2025-01-28 14:29:33 +01:00
Quentin Gliech
4d67a89919 Rename ShutdownManager to LifecycleManager 2025-01-28 14:29:33 +01:00
Quentin Gliech
d93e936f4e Send notifications about the state of the service to systemd 2025-01-28 14:16:56 +01:00
Quentin Gliech
48ee785a40 Handle SIGHUPs as part of the shutdown manager 2025-01-28 13:29:12 +01:00
Quentin Gliech
00613280e8 Merge pull request #3893 from element-hq/quenting/axum-0.8
Upgrade axum to 0.8
2025-01-28 09:47:49 +01:00
reivilibre
1dc172dcf7 syn2mas: Migrate threepids to MAS (#3878)
* Add a table to hold unsupported threepids

* Migrate threepids from Synapse to MAS
2025-01-27 18:01:46 +00:00
reivilibre
163b9e8849 Add pre-migration checks to syn2mas (#3805)
This matches or exceeds `advisor.mts` from the old tool.

Co-authored-by: Quentin Gliech <quenting@element.io>
2025-01-27 18:01:46 +00:00
reivilibre
dd0299fa40 Foundation of new syn2mas tool (#3636) 2025-01-27 18:01:46 +00:00
reivilibre
87009be7e6 Support compatibility sessions that do not have devices (#3801)
Co-authored-by: Quentin Gliech <quenting@element.io>
2025-01-27 14:50:31 +00:00
Quentin Gliech
418e257061 Upgrade axum to 0.8 2025-01-27 15:11:10 +01:00
Quentin Gliech
3b744c7881 Fix reporting of version in prebuilt binaries & docker image 2025-01-27 10:34:21 +01:00
Quentin Gliech
153c5e56d7 Merge remote-tracking branch 'origin/main' into quenting/optional-email 2025-01-23 18:28:33 +01:00
Quentin Gliech
4451cbfe86 Upgrade Rust to 1.84 and fix new clippy lints 2025-01-23 17:55:22 +01:00
dependabot[bot]
27484b4701 build(deps): bump listenfd from 1.0.1 to 1.0.2
Bumps [listenfd](https://github.com/mitsuhiko/listenfd) from 1.0.1 to 1.0.2.
- [Changelog](https://github.com/mitsuhiko/listenfd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/listenfd/compare/1.0.1...1.0.2)

---
updated-dependencies:
- dependency-name: listenfd
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 08:04:41 +01:00
dependabot[bot]
03090b5b29 build(deps): bump vergen-gitcl from 1.0.2 to 1.0.5
Bumps [vergen-gitcl](https://github.com/rustyhorde/vergen) from 1.0.2 to 1.0.5.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/commits)

---
updated-dependencies:
- dependency-name: vergen-gitcl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 15:31:27 +01:00
Quentin Gliech
0bca802585 Merge branch 'main' into quenting/optional-email 2025-01-20 11:31:48 +01:00
Quentin Gliech
5aa9535cb1 Remove unused dependencies 2025-01-16 17:59:03 +01:00
Quentin Gliech
9db14f6743 Rip out the email verification codes
This considers all user_emails as confirmed, and removes the verification code.
It will be replaced by a new email authentication code flow
2025-01-14 15:46:45 +01:00
Quentin Gliech
077a55fd5d Remove the primary email address concept 2025-01-13 17:00:30 +01:00
Quentin Gliech
28480e40af Make the rate limiter available to the GraphQL API handlers 2025-01-13 16:58:42 +01:00
Quentin Gliech
17430c21c5 Additional fields in the GraphQL API for upstream providers 2025-01-06 11:59:43 +01:00
Quentin Gliech
1e3d838c99 Allow longer & shorter usernames, complying with the MXID length spec 2025-01-06 10:15:08 +01:00
dependabot[bot]
28b0d768c1 build(deps): bump console from 0.15.8 to 0.15.10
Bumps [console](https://github.com/console-rs/console) from 0.15.8 to 0.15.10.
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md)
- [Commits](https://github.com/console-rs/console/compare/0.15.8...0.15.10)

---
updated-dependencies:
- dependency-name: console
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 09:08:48 +01:00
Mathieu Velten
33e1cdbf16 Allow response_mode to be null and if so do not add the query param (#3700) 2024-12-18 18:18:39 +01:00
Quentin Gliech
f563daf822 Make the issue optional on upstream OAuth 2.0 providers 2024-12-17 13:40:34 +01:00
Mathieu Velten
75ee9a1e58 Add id_token_signed_response_alg and userinfo_signed_response_alg (#3664) 2024-12-17 11:54:16 +01:00
Quentin Gliech
1c6a8000f0 Shutdown the server if any of the tasks crashes (#3672) 2024-12-17 09:11:08 +00:00
Quentin Gliech
f4a3a8bf64 Report version from git describe in metrics & CLI 2024-12-12 17:59:35 +01:00
Quentin Gliech
0435fa848d Move all the OTEL meters to crate-level statics 2024-12-12 16:04:48 +01:00
Quentin Gliech
d8bb96511a Move all the OTEL dependencies to the workspace 2024-12-12 16:04:48 +01:00
Quentin Gliech
8c358efd88 Update the rest of the OTEL deps and use the new APIs 2024-12-12 16:04:48 +01:00
dependabot[bot]
a56940ad16 build(deps): bump the opentelemetry group across 1 directory with 6 updates
Bumps the opentelemetry group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [opentelemetry-jaeger-propagator](https://github.com/open-telemetry/opentelemetry-rust) | `0.3.0` | `0.27.0` |
| [opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust) | `0.17.0` | `0.27.0` |
| [opentelemetry-prometheus](https://github.com/open-telemetry/opentelemetry-rust) | `0.17.0` | `0.27.0` |
| [opentelemetry-resource-detectors](https://github.com/open-telemetry/opentelemetry-rust-contrib) | `0.3.0` | `0.6.0` |
| [opentelemetry-stdout](https://github.com/open-telemetry/opentelemetry-rust) | `0.5.0` | `0.27.0` |
| [opentelemetry_sdk](https://github.com/open-telemetry/opentelemetry-rust) | `0.24.1` | `0.27.1` |



Updates `opentelemetry-jaeger-propagator` from 0.3.0 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-jaeger-propagator-0.3.0...opentelemetry-jaeger-propagator-0.27.0)

Updates `opentelemetry-otlp` from 0.17.0 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-otlp-0.17.0...opentelemetry-otlp-0.27.0)

Updates `opentelemetry-prometheus` from 0.17.0 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-prometheus-0.17.0...opentelemetry-prometheus-0.27.0)

Updates `opentelemetry-resource-detectors` from 0.3.0 to 0.6.0
- [Commits](https://github.com/open-telemetry/opentelemetry-rust-contrib/compare/opentelemetry-resource-detectors-0.3.0...opentelemetry-resource-detectors-0.6.0)

Updates `opentelemetry-stdout` from 0.5.0 to 0.27.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-stdout-0.5.0...opentelemetry-stdout-0.27.0)

Updates `opentelemetry_sdk` from 0.24.1 to 0.27.1
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases)
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry_sdk-0.24.1...opentelemetry_sdk-0.27.1)

---
updated-dependencies:
- dependency-name: opentelemetry-jaeger-propagator
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
- dependency-name: opentelemetry-otlp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
- dependency-name: opentelemetry-prometheus
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
- dependency-name: opentelemetry-resource-detectors
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
- dependency-name: opentelemetry-stdout
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
- dependency-name: opentelemetry_sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: opentelemetry
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-12 16:04:48 +01:00
Quentin Gliech
703bd743d6 Schedule jobs through the new queue 2024-12-06 16:24:26 +01:00
Quentin Gliech
b82483f936 Move the jobs types in the queue module 2024-12-06 16:24:26 +01:00
Quentin Gliech
312640605d Graceful shutdown 2024-12-06 16:24:26 +01:00
Quentin Gliech
2903ff5e7a Allow setting an explicit upstream account name (#3600) 2024-11-29 12:30:18 +01:00
Quentin Gliech
e39ea44e60 Make the id_token optional on upstream OAuth 2.0 providers
This makes it possible to use non-OIDC providers as upstream OAuth 2.0 providers, like GitHub.
2024-11-29 10:31:50 +01:00
Quentin Gliech
b90dd98d0e Concatenate arrays in the config when loading multiple files 2024-11-28 17:03:42 +01:00
Mathieu Velten
f832666a86 Add fetch_userinfo to upstream SSO provider (#3363) 2024-11-26 15:01:03 +00:00