From 69c273f8bf18ec0605655a03495ebfda5bc34aca Mon Sep 17 00:00:00 2001 From: Bram van den Heuvel Date: Sun, 5 Mar 2023 22:44:05 +0100 Subject: [PATCH] Add API endpoint support documentation --- README.md | 2 +- src/Internal/Api/README.md | 75 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/Internal/Api/README.md diff --git a/README.md b/README.md index f045eba..2285aad 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Matrix SDK for Elm -This repository is a [Matrix](https://matrix.org/) SDK for [Elm](https://elm-lang.org/). +This repository is a [Matrix](https://matrix.org/) SDK for [Elm](https://elm-lang.org/) compatible with [these spec versions](src/Internal/Api/README.md). ## How to install diff --git a/src/Internal/Api/README.md b/src/Internal/Api/README.md new file mode 100644 index 0000000..cbf647a --- /dev/null +++ b/src/Internal/Api/README.md @@ -0,0 +1,75 @@ +# API Support + +Different Matrix spec versions have different rules. The Elm SDK doesn't just assume that the spec remains the same in new versions, and instead requires developers to explicitly implement each version. + +This file explains what features are supported in which spec versions. + +> **DISCLAIMER:** All information in this file is prone to change! I am a single developer creating this in their spare time, and even though I try to be consistent, I may decide (not) to develop certain parts of the API at any time! + +The icons have the following meaning: + +- ✔️ = Supported +- ⚠️ = To be announced +- ⚡ = Under development - coming soon +- ❌ = Not supported by SDK +- ⛔ = Not supported by spec + +Note that **under development** doesn't always mean that it _will be_ supported. + +## Communication + +| **Spec version** | | Syncing | Redaction | +| ---------------- | - | ------- | --------- | +| v1.6 || ⚠️ | ⚠️ | +| v1.5 || ✔️ | ⚡ | +| v1.4 || ✔️ | ⚡ | +| v1.3 || ✔️ | ⚡ | +| v1.2 || ✔️ | ⚡ | +| v1.1 || ⚠️ | ⚠️ | +| r0.6.1 || ⚠️ | ⚠️ | +| r0.6.0 || ⚠️ | ⚠️ | +| r0.5.0 || ⚠️ | ⚠️ | +| r0.4.0 || ⚠️ | ⚠️ | +| r0.3.0 || ⚠️ | ⚠️ | +| r0.2.0 || ⚠️ | ⚠️ | +| r0.1.0 || ⚠️ | ⚠️ | +| r0.0.1 || ⚠️ | ⚠️ | + +## Getting events for a room + +| **Spec version** | | Event | Joined members | Members | Curren state | State event | Event at timestamp | +| ---------------- | - | ----- | -------------- | ------- | ------------ | ----------- | ------------------ | +| v1.6 || ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | +| v1.5 || ✔️ | ✔️ | ⚡ | ⚡ | ⚡ | ⛔ | +| v1.4 || ✔️ | ✔️ | ⚡ | ⚡ | ⚡ | ⛔ | +| v1.3 || ✔️ | ✔️ | ⚡ | ⚡ | ⚡ | ⛔ | +| v1.2 || ✔️ | ✔️ | ⚡ | ⚡ | ⚡ | ⛔ | +| v1.1 || ✔️ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.6.1 || ✔️ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.6.0 || ✔️ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.5.0 || ✔️ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.4.0 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.3.0 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.2.0 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.1.0 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.0.1 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | +| r0.0.0 || ⛔ | ✔️ | ⚠️ | ⚠️ | ⚠️ | ⛔ | + +## Sending events to a room + +| **Spec version** | | Message event | State event | +| ---------------- | - | ------------- | ----------- | +| v1.6 || ⚠️ | ⚠️ | +| v1.5 || ✔️ | ✔️ | +| v1.4 || ✔️ | ✔️ | +| v1.3 || ✔️ | ✔️ | +| v1.2 || ✔️ | ✔️ | +| v1.1 || ✔️ | ✔️ | +| r0.6.1 || ✔️ | ✔️ | +| r0.6.0 || ✔️ | ✔️ | +| r0.5.0 || ✔️ | ✔️ | +| r0.4.0 || ✔️ | ✔️ | +| r0.3.0 || ✔️ | ✔️ | +| r0.2.0 || ✔️ | ✔️ | +| r0.1.0 || ✔️ | ✔️ | +| r0.0.1 || ✔️ | ✔️ |