matrix-org / matrix-org/matrix-rust-sdk

expose user‑registration in the Swift bindings

Open
#4,943 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2.3k
Forks
500
Avg merge
1d 16h
Merged PRs (30d)
106

Description

Problem

The Swift package generated from the Matrix Rust SDK lets apps log in (password, email + password, JWT, OIDC, QR, …) but offers no way to create a new account. Developers must either:

hand‑roll a /_matrix/client/v3/register REST call and then log in, or

rely on an external browser/OIDC page.

This breaks first‑run UX and duplicates work already solved inside the core SDK.

What’s missing

Password / e‑mail registration (UIAA flow for /_matrix/client/v3/register)

OIDC self‑service registration (MSC 2965, already supported in Rust via PR matrix-rust-sdk #4169)

Neither surface in the current FFI, so they can’t be used from Swift.

Why it matters

Enables true “sign‑up & go” onboarding in native iOS/macOS apps.

Eliminates boilerplate REST code and browser detours.

Brings parity with Element Web/Android where registration is SDK‑driven.

References

Rust PR adding OIDC registration: https://github.com/matrix-org/matrix-rust-sdk/pull/4169

Matrix spec: POST /_matrix/client/v3/register, MSC 2965

Please consider exposing these registration paths through the FFI so the Swift package can offer a complete authentication story.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing Swift authentication FFI surfaces and the Rust registration support referenced in matrix-rust-sdk PR #4169. Compare the current bindings with the /_matrix/client/v3/register UIAA flow and MSC 2965, then verify that both password/email and OIDC registration are available through the Swift package.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, swift
Domain
authentication, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.