Commit Graph

531 Commits

Author SHA1 Message Date
Quentin Gliech 935400d87b Experimental feature to timeout inactive sessions 2025-02-12 17:31:21 +01:00
Quentin Gliech 8e9919b381 Encapsulate migration state in a single structure 2025-02-07 15:02:30 +01:00
Quentin Gliech e46cd724f4 Make the MAS connection owned in the locked database struct 2025-02-07 12:53:51 +01:00
Quentin Gliech 33fc45605f Update most Rust dependencies & disable some unused features 2025-02-06 12:50:50 +01:00
Quentin Gliech f0e14ee6af 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 ca32c5ebff Add MasWriter support for compat refresh tokens + some migration progress 2025-02-05 11:38:50 +01:00
Quentin Gliech 911aecb165 Merge remote-tracking branch 'origin/main' into ref-merge/cb559012b7b4abd4232d3d2bb3b9f76779e114d5 2025-02-04 16:21:10 +01:00
Quentin Gliech 453fdcf9b6 Fetch the upstream OIDC metadata in the background on startup 2025-01-30 15:24:45 +01:00
reivilibre fec4efd9d8 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 3f494a61e7 Don't prevent starting up if the mail backend is unavailable 2025-01-29 15:45:50 +01:00
Quentin Gliech d57552ce66 Fix crash if the watchdog is not set 2025-01-29 14:56:25 +01:00
Quentin Gliech e3e6537fe7 Run reload handlers in parallel 2025-01-28 14:29:33 +01:00
Quentin Gliech 6aa2e366cc Advertise the main PID through sd_notify on startup 2025-01-28 14:29:33 +01:00
Quentin Gliech 88de377b42 Rename ShutdownManager to LifecycleManager 2025-01-28 14:29:33 +01:00
Quentin Gliech 0b7042b809 Send notifications about the state of the service to systemd 2025-01-28 14:16:56 +01:00
Quentin Gliech c86746fd1f Handle SIGHUPs as part of the shutdown manager 2025-01-28 13:29:12 +01:00
Quentin Gliech 879eb6a3ec 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 c3767905e4 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 e5b6e1e8c2 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 fb8a60b7f1 Foundation of new syn2mas tool (#3636) 2025-01-27 18:01:46 +00:00
reivilibre 0c26dd859a 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 11b5355590 Upgrade axum to 0.8 2025-01-27 15:11:10 +01:00
Quentin Gliech c9b89a994a Fix reporting of version in prebuilt binaries & docker image 2025-01-27 10:34:21 +01:00
Quentin Gliech 244ec18898 Merge remote-tracking branch 'origin/main' into quenting/optional-email 2025-01-23 18:28:33 +01:00
Quentin Gliech 154e42af6b Upgrade Rust to 1.84 and fix new clippy lints 2025-01-23 17:55:22 +01:00
dependabot[bot] 44fb22568d 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] f9b15c7b83 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 6092efe949 Merge branch 'main' into quenting/optional-email 2025-01-20 11:31:48 +01:00
Quentin Gliech 9247885518 Remove unused dependencies 2025-01-16 17:59:03 +01:00
Quentin Gliech 0513f198d8 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 ee33e9c0fb Remove the primary email address concept 2025-01-13 17:00:30 +01:00
Quentin Gliech 5cbb576f94 Make the rate limiter available to the GraphQL API handlers 2025-01-13 16:58:42 +01:00
Quentin Gliech b5940b969f Additional fields in the GraphQL API for upstream providers 2025-01-06 11:59:43 +01:00
Quentin Gliech 2820794c8d Allow longer & shorter usernames, complying with the MXID length spec 2025-01-06 10:15:08 +01:00
dependabot[bot] 5567e5aa71 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 af1282b510 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 a97d2daa3d Make the issue optional on upstream OAuth 2.0 providers 2024-12-17 13:40:34 +01:00
Mathieu Velten 80903ed629 Add id_token_signed_response_alg and userinfo_signed_response_alg (#3664) 2024-12-17 11:54:16 +01:00
Quentin Gliech 88fb4ed025 Shutdown the server if any of the tasks crashes (#3672) 2024-12-17 09:11:08 +00:00
Quentin Gliech f2221d309e Report version from git describe in metrics & CLI 2024-12-12 17:59:35 +01:00
Quentin Gliech 773c4d656d Move all the OTEL meters to crate-level statics 2024-12-12 16:04:48 +01:00
Quentin Gliech 781d5f104e Move all the OTEL dependencies to the workspace 2024-12-12 16:04:48 +01:00
Quentin Gliech b5155cc8e4 Update the rest of the OTEL deps and use the new APIs 2024-12-12 16:04:48 +01:00
dependabot[bot] 5a86aed4f7 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 b689554909 Schedule jobs through the new queue 2024-12-06 16:24:26 +01:00
Quentin Gliech 1bcfd3b8f8 Move the jobs types in the queue module 2024-12-06 16:24:26 +01:00
Quentin Gliech 15f589a22a Graceful shutdown 2024-12-06 16:24:26 +01:00
Quentin Gliech 2e3b8bdd86 Allow setting an explicit upstream account name (#3600) 2024-11-29 12:30:18 +01:00
Quentin Gliech 2c01b439bd 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 24be677a06 Concatenate arrays in the config when loading multiple files 2024-11-28 17:03:42 +01:00