No description
  • Swift 99.7%
  • Python 0.2%
  • Shell 0.1%
Find a file
Christoph Wolff c478f79496 Carry Element's 26.11.0 chat changes into the Fluent chat
- Voice replies: a voice message started while replying shows the reply
  above it with a way to cancel. Element moved the box around voice
  messages out of its views, so ours draws it now.
- Image reactions: the Fluent pills and the who-reacted sheet show the
  custom image instead of the word "Reaction".
- The reaction count shows from 1, as in Element.

Element's confetti on reactions isn't carried over: it's a developer
option that is off in Release builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:09:09 +01:00
.agents/skills Periphery cleanup (#5893) 2026-07-20 11:16:11 +02:00
.claude Add Swift Concurrency Pro skill to the project. (#5662) 2026-05-29 12:47:48 +01:00
.forgejo/workflows Document the fork and keep Element's licence notices 2026-10-14 12:59:04 +02:00
.githooks Move Secrets into the Components folder 2026-08-12 16:52:26 +03:00
.github Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
AccessibilityTests Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
ci_scripts Upload dSYMs files both to the app Sentry project as well as the SDK one. 2026-10-23 11:25:48 +03:00
Components Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
compound-ios Update Shared Dependencies to v1.19.7 (#6465) 2026-11-04 14:32:55 +01:00
docs Move Secrets into the Components folder 2026-08-12 16:52:26 +03:00
ElementX Carry Element's 26.11.0 chat changes into the Fluent chat 2026-11-06 18:09:09 +01:00
ElementX.xcodeproj Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
Enterprise@b391a9140c Add a hook point to update a restored Client. (#6441) 2026-10-29 19:17:02 +00:00
IntegrationTests Get Sentry from sentry-apple-binaries 2026-11-04 17:23:06 +02:00
NSE Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
openmessenger Merge fluent-chat: the chat with Fluent 2 2026-11-05 22:06:57 +01:00
PreviewTests Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
ShareExtension Move any visible account settings into AccountSettings. (#6308) 2026-10-13 15:21:13 +01:00
Tools Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
UITests Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
UnitTests Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
.editorconfig Bring back the .editorconfig file without the trim rule. (#5712) 2026-06-05 12:07:05 +01:00
.gitattributes Document the fork and keep Element's licence notices 2026-10-14 12:59:04 +02:00
.gitignore Tweak the BuildSDK command line tool now that ElementCall also links the SDK 2026-09-23 18:01:39 +03:00
.gitmodules Use XcodeGen files for app variants and setup Enterprise submodule. (#2976) 2024-06-27 18:18:17 +01:00
.periphery.yml Periphery cleanup (#5893) 2026-07-20 11:16:11 +02:00
.swiftformat Move Secrets into the Components folder 2026-08-12 16:52:26 +03:00
.swiftlint.yml Move Secrets into the Components folder 2026-08-12 16:52:26 +03:00
AGENTS.md Update AGENTS.md (#6471) 2026-11-04 17:20:11 +00:00
app.yml Drop the filtering entitlement and the Element Classic import 2026-11-05 18:42:22 +01:00
CHANGES.md Prepare next release 2026-10-26 02:16:25 -07:00
CLAUDE.md Add an AGENTS.md file to the project. (#5125) 2026-02-20 18:00:04 +00:00
codecov.yml Move SDKMocks into the Components folder 2026-08-12 16:52:26 +03:00
CONTRIBUTING.md File feature requests (T-Enhancement) in element-meta (#6384) 2026-11-02 09:29:48 +01:00
LICENSE Switch license to AGPL (#3237) 2024-09-06 16:34:30 +03:00
LICENSE-COMMERCIAL Dual licensing: AGPL + Element Commercial (#3657) 2025-01-06 11:27:37 +01:00
localazy.json Download en and en-US when running download-strings (#4743) 2025-11-13 13:05:31 +00:00
NOTICE.md I1: Fluent System Icons for the start screen and the chat overview 2026-10-17 02:26:31 +02:00
OPENMESSENGER.md Carry Element's 26.11.0 chat changes into the Fluent chat 2026-11-06 18:09:09 +01:00
Package.resolved Update the command line tools and fix the Enterprise dependency. 2026-08-21 11:33:44 +01:00
Package.swift Update the command line tools and fix the Enterprise dependency. 2026-08-21 11:33:44 +01:00
project.yml Merge Element's release/26.11.0 2026-11-06 17:54:52 +01:00
README.md Set the Apple team to UnityStack GmbH 2026-11-05 18:38:00 +01:00
renovate.json Limit the Renovate schedule to the early hours of the scheduled Wednesday 2026-10-08 12:04:08 +03:00
SECURITY.md Document the fork and keep Element's licence notices 2026-10-14 12:59:04 +02:00

openMessenger for iOS

openMessenger for iOS is a Matrix messenger by UnityStack for iOS 18.5 and later. It is a fork of Element X iOS and uses the Matrix Rust SDK.

How this fork differs from Element X iOS and how upstream releases are merged: OPENMESSENGER.md.

Status

Builds run in the iOS Simulator only so far. The project is set to UnityStack's Apple team, but device builds, TestFlight and push notifications still need the steps listed under "Later steps" in OPENMESSENGER.md.

Prerequisites

  • macOS with Xcode (the version CI uses is set in ci_scripts/ci_common.sh) and an iOS Simulator runtime.

  • Homebrew.

  • After cloning, run once:

    swift run tools setup-project
    

    This installs the build tools (XcodeGen, SwiftGen, SwiftFormat, Sourcery, Git LFS and others) with Homebrew, points git at the hooks in .githooks and generates the Xcode project.

More on the development environment: CONTRIBUTING.md (from Element X iOS).

Build

xcodegen
xcodebuild -project ElementX.xcodeproj -scheme ElementX -destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=latest' build

Simulator builds need no signing setup and no access to the team: Xcode signs the simulator build ad hoc ("Sign to Run Locally") and embeds the entitlements, including the app group, in the binaries. The app lands in ~/Library/Developer/Xcode/DerivedData/ElementX-<hash>/Build/Products/Debug-iphonesimulator/ElementX.app. Install and start it with xcrun simctl install booted <path to ElementX.app> and xcrun simctl launch booted eu.openmessenger.ios.

Security

See SECURITY.md.

Licence

AGPL-3.0-only, see LICENSE. openMessenger for iOS is based on Element X iOS, copyright Element Creations Ltd and New Vector Ltd. Details, including the copyright of UnityStack's modifications: NOTICE.md.