diff --git a/README.md b/README.md index ca1e22f..b40a3c9 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,33 @@ The Matrix SDK in Elm allows users to communicate with other instances using the [Matrix](https://matrix.org) protocol. + +The Elm SDK serves as a more consistent alternative to the +[matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/), which is a +JavaScript implementation of the Matrix protocol with several downsides. In +contrast, the Elm SDK supports: + +- ✅ **Matrix spec version adjustment** based on which spec version the +homeserver supports. The matrix-js-sdk spec uses endpoints from legacy versions +and exclusively supports the latest 4 spec versions, while this SDK listens to +the homeserver's supported spec versions and talks to the server accordingly. +See [docs/supported.md](docs/supported.md) to discover which interactions are +supported for which spec versions. + +- ✅ **One way to do things** instead of having multiple functions that are +considered deprecated. + +Follow us on [Mastodon](https://social.noordstar.me/@elm_matrix_sdk) at +@elm_matrix_sdk@social.noordstar.me to stay up-to-date on the latest changes. + +## How to install + +In your terminal, run + +```sh +elm install noordstar/elm-matrix-sdk-beta +``` + +Keep in mind that the beta versions are intended to develop rapidly. You should +not expect the versions to remain reliable for years! If you need a stable +version, please wait around for a full version. diff --git a/docs/supported.md b/docs/supported.md new file mode 100644 index 0000000..7021b79 --- /dev/null +++ b/docs/supported.md @@ -0,0 +1,15 @@ +# Supported features in spec versions + +The Matrix spec frequently releases new spec versions. Most features are +supported in the Elm SDK on most spec releases, but not all endpoints exist +for every version. For example, in very early versions you couldn't even get +the content of an event! + +This document specifies which features you can expect to work for which spec +versions. This can help you decide whether the SDK will interoperate with your +homeserver, or that it may be better to not rely on a specific feature. + +--- + +Considering that the current version does not support interaction with a +homeserver, no functionality is supported at any spec version. diff --git a/src/Matrix.elm b/src/Matrix.elm index 825ab22..74779dd 100644 --- a/src/Matrix.elm +++ b/src/Matrix.elm @@ -4,9 +4,9 @@ module Matrix exposing (Vault) This first version forms a mere basis from which we will create iterative builds that slowly improve the codebase. -It is generally quite unusual to do this on -the public registry, but it is also generally quite unusual to only support a -monolithic public registry. (: +It is generally quite unusual to regularly publish iterative beta versions on +the public registry, but it is also generally quite unusual to exclusively +support a monolithic public registry. (: -} {-| The Vault type stores all relevant information about the Matrix API.