Matrix Rich Text Editor
Find a file
David Langley 388f9faf47 Support nested lists for google docs(adds the ul/ol to the li's children, not the li/ol's).
Also adds post processing to cleanup sibling text nodes.
2025-07-15 16:41:04 +01:00
.cargo Update uniffi version to 0.24.1 (#745) 2023-07-26 10:17:11 +02:00
.github Merge pull request #13 from element-hq/renovate/major-android 2025-03-19 15:32:19 +01:00
bindings Support nested lists for google docs(adds the ul/ol to the li's children, not the li/ol's). 2025-07-15 16:41:04 +01:00
crates Support nested lists for google docs(adds the ul/ol to the li's children, not the li/ol's). 2025-07-15 16:41:04 +01:00
platforms Fix e2e test 2025-07-04 12:42:13 +01:00
uniffi-bindgen Update uniffi version to 0.24.1 (#745) 2023-07-26 10:17:11 +02:00
.gitignore Git ignore the /tmp folder. 2024-09-26 11:11:41 +02:00
.slather.yml Exclude tests directory from coverage reporting and make HTMLParserTests testable 2023-05-08 11:19:32 +01:00
build_xcframework.sh [iOS] Improved XCFramework generation script (#1018) 2024-07-16 15:32:29 +02:00
Cargo.lock Version 2.38.4 (#65) 2025-06-20 10:21:54 +02:00
Cargo.toml Add dual licensing to the project (#44) 2025-01-20 10:41:16 +01:00
CHANGELOG.md Version 2.38.4 (#65) 2025-06-20 10:21:54 +02:00
LICENSE AGPL licence 2024-09-25 16:05:27 +02:00
LICENSE-COMMERCIAL Add dual licensing to the project (#44) 2025-01-20 10:41:16 +01:00
Makefile Publish a dual CJS/ESM package with platform-specific loaders 2024-12-23 10:09:03 +00:00
README.md Merge branch 'main' of github.com:element-hq/matrix-rich-text-editor into langleyd/copy_paste_rt 2025-07-04 12:10:56 +01:00
RELEASE.md matrix-org -> element-hq 2024-09-25 17:39:11 +02:00
rust-toolchain.toml Update rust & wasm-pack 2024-12-20 15:42:58 +00:00
rustfmt.toml First draft of the real interface for ComposerModel 2022-07-13 11:34:35 +01:00
sonar-project.properties Update sonar properties 2024-10-03 17:23:47 +02:00
update_version.sh Add dual licensing to the project (#44) 2025-01-20 10:41:16 +01:00

This project has been archived.

Matrix Rich Text Editor is now actively maintained at element-hq/matrix-rich-text-editor

Matrix Rich Text Editor

codecov GitHub

A cross-platform rich text editor intended for use in Matrix clients including the Element clients.

Works on Web, Android and iOS using a cross-platform core written in Rust, and platform-specific wrappers.

Important note: This project is still in an early stage. Minor versions could bring breaking API changes, see CHANGELOG.md for details. Bugs and crashes may occur, please report them here.

Live demo

Try it out at element-hq.github.io/matrix-rich-text-editor.

Building the code

Get the prerequisites for each platform by reading the READMEs for them:

Now, to build all the bindings, try:

make

To build for a single platform, or to learn more, see the individual README files above.

Release the code

See RELEASE.md.

More info

For more detailed explanations and examples of platform-specific code to use Rust bindings like those generated here, see Building cross-platform Rust for Web, Android and iOS a minimal example.

See also

  • The Browser Selections Inventory
    • used while writing tests, to persuade the browser to select text in the same way as if it had been done manually.

Copyright (c) 2022-2024 The Matrix.org Foundation C.I.C.

Copyright (c) 2024-2025 New Vector Ltd

This software is multi licensed by New Vector Ltd (Element). It can be used either:

(1) for free under the terms of the GNU Affero General Public License (as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version); OR

(2) under the terms of a paid-for Element Commercial License agreement between you and Element (the terms of which may vary depending on what you and Element have agreed to). Unless required by applicable law or agreed to in writing, software distributed under the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.