matrix-org / matrix-org/matrix-js-sdk
[Meta] Be more explicit about/test for/document limitations of various runtimes
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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