matrix-org / matrix-org/matrix-js-sdk

[Meta] Be more explicit about/test for/document limitations of various runtimes

Open
#2,789 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.2k
Forks
704
Avg merge
1d 20h
Merged PRs (30d)
40

Description

Following-on to https://github.com/matrix-org/matrix-js-sdk/issues/2788#issue-1419245094 but more broadly: I think it would be helpful to document more explicitly the SDK's compatibility with various runtimes, e.g. Node, browsers, and RN (e.g., Hermes engine.)

The linked issue relating to WebCrypto is a good example of this: the SDK now basically requires Node 16+ or a browser with [WebCrypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API#browser_compatibility). [Unsupported in React Native](https://github.com/react-native-community/discussions-and-proposals/issues/83#issuecomment-456110449).

I'm certainly not advocating for any more or unplanned work on the part of the Matrix team, which is doing amazing work here. Rather I think it would be helpful to explicitly state these requirements and limitations, and perhaps provide some sort of support matrix for features based on their capabilities or versions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing linked issue 2788 and the SDK's stated WebCrypto requirements for Node, browsers, and React Native, including the Hermes engine. Done means documenting runtime requirements and limitations, with a support matrix for features based on runtime capabilities or versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, react-native, typescript
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.