element-hq / element-hq/element-ios

Support the widget API features needed for Element Call integration

Open
#6,494 1 comment 1 reaction 0 assignees View on GitHub
A-VoIP T-Enhancement
Dominant language
Swift
Stars
1.8k
Forks
544
PR merge metrics
PR metrics pending

Description

### Your use case

#### What would you like to do?

Implement [MSC2762](https://github.com/matrix-org/matrix-spec-proposals/pull/2762), [MSC3819](https://github.com/matrix-org/matrix-spec-proposals/pull/3819), and [MSC3846](https://github.com/matrix-org/matrix-spec-proposals/pull/3846) in Element iOS

#### Why would you like to do it?

It's a prerequisite for integrating Element Call into Element iOS, which is the future of VoIP in Element.

#### How would you like to achieve it?

Firstly, the most basic functionality of the [widget API](https://github.com/matrix-org/matrix-spec-proposals/pull/2764) (negotiating capabilities, notifying the widget when the client is ready, etc.) needs to be implemented. Then, Element iOS needs to add support for each of the MSCs listed above. Hopefully, both of these tasks can be greatly simplified by reusing the [matrix-widget-api](https://github.com/matrix-org/matrix-widget-api/) project, and referencing the matrix-react-sdk implementations linked on each of the MSCs.

### Have you considered any alternatives?

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the widget API requirements in MSC2762 and the linked matrix-widget-api project, then compare the matrix-react-sdk implementations referenced by MSC3819 and MSC3846. Identify the Element iOS entry points for widget capability negotiation and readiness notifications before estimating each MSC separately. Done means the basic widget API and all three MSCs support Element Call integration.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
api, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.