From af1067a99be0fb2902d4602a7453388f3c337937 Mon Sep 17 00:00:00 2001 From: Skylar Sadlier Date: Sat, 23 May 2026 13:51:49 -0600 Subject: [PATCH] Refresh README features and tagline for v1.0.0 Tagline now mentions E2EE; the beta banner is replaced with a permanent issues/release-notes pointer. Features list gains Session management and Send Location, expands Receive events to all 10 handled msgtypes, and notes Markdown alongside HTML in Send & modify messages. --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2288fce..fcc5016 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # node-red-contrib-matrix-chat -[Matrix](https://matrix.org/) chat server client for [Node-RED](https://nodered.org/) +[Matrix](https://matrix.org/) chat client for [Node-RED](https://nodered.org/), with full end-to-end encryption support. -***Currently in beta. Please report any issues in our repository to help us reach a stable, well-tested release. Breaking changes may occur before our first stable release, so be sure to check the changelog before updating.*** +Please report any issues in our [issue tracker](https://github.com/Skylar-Tech/node-red-contrib-matrix-chat/issues). Breaking changes between releases are listed in the [release notes](https://github.com/Skylar-Tech/node-red-contrib-matrix-chat/releases); check them before upgrading. Join our public Matrix room for help: [#node-red-contrib-matrix-chat:skylar.tech](https://app.element.io/#/room/#node-red-contrib-matrix-chat:skylar.tech) @@ -11,14 +11,16 @@ Join our public Matrix room for help: [#node-red-contrib-matrix-chat:skylar.tech Supported functionality in this package includes: -- **End-to-end encryption (E2EE)** — send and receive encrypted messages (see the [encryption notes](#end-to-end-encryption-notes)) -- **Cross-signing & secure backup** — interactive setup from the server config node so the bot's own device shows as verified -- **Device verification** — interactive SAS (emoji) verification, either from the server config node or with the `matrix-verification` flow nodes -- **Receive events** from rooms: Messages, reactions, images, audio, locations, files, encrypted or unencrypted +- **End-to-end encryption (E2EE)**: send and receive encrypted messages (see the [encryption notes](#end-to-end-encryption-notes)) +- **Cross-signing & secure backup**: interactive setup from the server config node so the bot's own device shows as verified +- **Device verification**: interactive SAS (emoji) verification, either from the server config node or with the `matrix-verification` flow nodes +- **Session management**: review, verify, rename, or remove the account's sessions from the server config node (Element-style) +- **Receive events** from rooms (encrypted or unencrypted): messages, reactions, emotes, notices, stickers, images, video, audio, locations, files - **Fetch/modify room state**: Update room settings - **Paginate room history** - **Send files** to rooms, encrypted or unencrypted -- **Send/edit messages** (supports plain text and HTML formats) +- **Send & modify messages** (plain text, Markdown, and HTML formats) +- **Send location messages**: produce `m.location` events that match Element's *"Share my location"* wire format - **Send typing notifications** - **Delete events** (messages, reactions, etc.) - **Decrypt files** in E2EE rooms @@ -54,9 +56,9 @@ You're not limited to just the nodes we've created. Enable global access in your ### End-to-End Encryption Notes - E2EE uses the Rust crypto stack from `matrix-js-sdk`. The first time a bot starts after upgrading from an older version, any existing (legacy libolm) crypto state is migrated automatically. -- **Storage:** E2EE state is saved in a folder called `matrix-client-storage` within your Node-RED directory — each account's Rust crypto store is persisted there as `rust-crypto-store.v8` (snapshotted on shutdown and every 5 minutes). Setting up secure backup (below) lets you recover the account's keys even if this folder is lost. -- **Cross-signing & secure backup — strongly recommended:** open the server config node and use the **Set up secure backup & cross-signing** button. It lets you unlock an existing secure backup with its recovery key, or create a fresh one; once done, the bot's own device is cross-signed and shows as verified to others. **Save the recovery key somewhere safe** — it is shown only once, and is the only way to restore the account's encryption keys if the crypto store is ever lost. -- **Device verification:** there are two ways to verify devices — +- **Storage:** E2EE state is saved in a folder called `matrix-client-storage` within your Node-RED directory. Each account's Rust crypto store is persisted there as `rust-crypto-store.v8` (snapshotted on shutdown and every 5 minutes). Setting up secure backup (below) lets you recover the account's keys even if this folder is lost. +- **Cross-signing & secure backup (strongly recommended):** open the server config node and use the **Set up secure backup & cross-signing** button. It lets you unlock an existing secure backup with its recovery key, or create a fresh one; once done, the bot's own device is cross-signed and shows as verified to others. **Save the recovery key somewhere safe.** It is shown only once, and is the only way to restore the account's encryption keys if the crypto store is ever lost. +- **Device verification:** there are two ways to verify devices: - From the server config node, the **Pending verification requests** button opens a list of incoming requests and lets you complete the SAS (emoji) check interactively, no flow required. - Or build your own flow: the `matrix-verification` node emits verification requests and phase changes, and `matrix-verification-action` accepts, starts, confirms, or cancels them (e.g. emailing the SAS emoji for a human to confirm). See the [device verification example](https://github.com/Skylar-Tech/node-red-contrib-matrix-chat/tree/master/examples#device-verification).