Skip to content

MSC4388: Secure out-of-band channel for sign in with QR#4388

Open
hughns wants to merge 29 commits intomainfrom
element-hq/oidc-qr-secure-channel
Open

MSC4388: Secure out-of-band channel for sign in with QR#4388
hughns wants to merge 29 commits intomainfrom
element-hq/oidc-qr-secure-channel

Conversation

@hughns
Copy link
Copy Markdown
Member

@hughns hughns commented Dec 10, 2025

@hughns hughns changed the title Secure out-of-band channel for sign in with QR MSC4388: Secure out-of-band channel for sign in with QR Dec 10, 2025
@turt2live turt2live added proposal A matrix spec change proposal client-server Client-Server API kind:core MSC which is critical to the protocol's success needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Dec 10, 2025
Copy link
Copy Markdown
Member Author

@hughns hughns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@poljar I've reviewed the HPKE changes alongside the RFCs and have some questions/things needing clarification.

Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Mar 10, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [element-hq/synapse](https://github.com/element-hq/synapse) | minor | `v1.148.0` → `v1.149.0` |

---

### Release Notes

<details>
<summary>element-hq/synapse (element-hq/synapse)</summary>

### [`v1.149.0`](https://github.com/element-hq/synapse/releases/tag/v1.149.0)

[Compare Source](element-hq/synapse@v1.148.0...v1.149.0)

### Synapse 1.149.0 (2026-03-10)

No significant changes since 1.149.0rc1.

### Synapse 1.149.0rc1 (2026-03-03)

#### Features

- Add experimental support for [MSC4388: Secure out-of-band channel for sign in with QR](matrix-org/matrix-spec-proposals#4388). ([#&#8203;19127](element-hq/synapse#19127))
- Add stable support for [MSC4380](matrix-org/matrix-spec-proposals#4380) invite blocking. ([#&#8203;19431](element-hq/synapse#19431))

#### Bugfixes

- Fix the 'Login as a user' Admin API not checking if the user exists before issuing an access token. ([#&#8203;18518](element-hq/synapse#18518))
- Fix `/sync` missing membership event in `state_after` (experimental [MSC4222](matrix-org/matrix-spec-proposals#4222) implementation) in some scenarios. ([#&#8203;19460](element-hq/synapse#19460))

#### Internal Changes

- Add log to explain when and why we freeze objects in the garbage collector. ([#&#8203;19440](element-hq/synapse#19440))
- Better instrument `JoinRoomAliasServlet` with tracing. ([#&#8203;19461](element-hq/synapse#19461))
- Fix Complement CI not running against the code from our PRs. ([#&#8203;19475](element-hq/synapse#19475))
- Log `docker system info` in CI so we have a plain record of how GitHub runners evolve over time. ([#&#8203;19480](element-hq/synapse#19480))
- Rename the `test_disconnect` test helper so that pytest doesn't see it as a test. ([#&#8203;19486](element-hq/synapse#19486))
- Add a log line when we delete devices. Contributed by [@&#8203;bradtgmurray](https://github.com/bradtgmurray) @&#8203; Beeper. ([#&#8203;19496](element-hq/synapse#19496))
- Pre-allocate the buffer based on the expected `Content-Length` with the Rust HTTP client. ([#&#8203;19498](element-hq/synapse#19498))
- Cancel long-running sync requests if the client has gone away. ([#&#8203;19499](element-hq/synapse#19499))
- Try and reduce reactor tick times when under heavy load. ([#&#8203;19507](element-hq/synapse#19507))
- Simplify Rust HTTP client response streaming and limiting. ([#&#8203;19510](element-hq/synapse#19510))
- Replace deprecated collection import locations with current locations. ([#&#8203;19515](element-hq/synapse#19515))
- Bump most locked Python dependencies to their latest versions. ([#&#8203;19519](element-hq/synapse#19519))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4580
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 12, 2026
Tested on NetBSD 10 amd64 in a mostly 2025Q2 environment.

# Synapse 1.149.1 (2026-03-11)

# Synapse 1.149.0 (2026-03-10)

## Features

- Add experimental support for [MSC4388: Secure out-of-band channel for sign in with QR](matrix-org/matrix-spec-proposals#4388). ([\#19127](element-hq/synapse#19127))
- Add stable support for [MSC4380](matrix-org/matrix-spec-proposals#4380) invite blocking. ([\#19431](element-hq/synapse#19431))
github-merge-queue bot pushed a commit to famedly/synapse that referenced this pull request Mar 17, 2026
# Famedly Synapse Release v1.149.1_1

Depends on famedly/complement#12

## Famedly additions for v1.149.1_1

- chore: Remove gosu usage from Synapse (Jason Little)
- chore: Add in CI testing of the module based on its own test suite
(Jason Little)
- fix: include modpack build for TIM 1.1 and adjust for actual version
that exists (Jason Little)
- feat: add famedly control module in docker image (FrenchGithubUser)

### Notes for Famedly:

- Add experimental support for [MSC4388: Secure out-of-band channel for
sign in with
QR](matrix-org/matrix-spec-proposals#4388).
([\#19127](element-hq/synapse#19127))
- Add stable support for
[MSC4380](matrix-org/matrix-spec-proposals#4380)
invite blocking.
([\#19431](element-hq/synapse#19431))
@hughns
Copy link
Copy Markdown
Member Author

hughns commented Mar 30, 2026

The implementations are now linked and all outstanding conversations have been resolved. As such I am undrafting and consider this ready for review.

@hughns hughns marked this pull request as ready for review March 30, 2026 17:37
@turt2live turt2live added implementation-needs-checking The MSC has an implementation, but the SCT has not yet checked it. and removed needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Mar 30, 2026
@turt2live
Copy link
Copy Markdown
Member

The author believes this is ready for FCP. Next steps are for SCT members to review the MSC and implementation(s), add the checklist, then propose FCP if appropriate.

@github-project-automation github-project-automation bot moved this to Tracking for review in Spec Core Team Workflow Mar 30, 2026
@turt2live turt2live moved this from Tracking for review to Proposed for FCP readiness in Spec Core Team Workflow Mar 30, 2026
@hughns hughns requested a review from dkasak April 1, 2026 13:22
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md Outdated
Comment thread proposals/4388-secure-qr-channel.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client-server Client-Server API implementation-needs-checking The MSC has an implementation, but the SCT has not yet checked it. kind:core MSC which is critical to the protocol's success proposal A matrix spec change proposal

Projects

Status: Proposed for FCP readiness

Development

Successfully merging this pull request may close these issues.

6 participants