-
Notifications
You must be signed in to change notification settings - Fork 86
Technical Debt
holmesworcester edited this page Nov 8, 2024
·
1 revision
To get to a feature-complete MVP we have chosen to take on technical debt. This page is an attempt to track technical debt, the reasons for it and our plan for addressing it.
- Electron - at some point we will begin releasing monthly with Electron's cadence, but we're many months behind.
- NodeJS 18 - nodejs-mobile supports up to NodeJS 18.
- Lerna - We used this to have a monorepo, which is now possible with Workspaces in the leading package managers
- Nodejs-mobile - It has been very useful to have a shared desktop/mobile backend, but it's possible this project won't be maintained. Options: maintain it, find another way to compile our JS code for mobile, switch to Go or Rust. (Iroh is a Rust alternative to OrbitDB)
- Electron-builder - it's typical to use electron-forge now so we should probably move to that.
- Test performance issues - tests run too slowly; we want to speed this up!
- NPM - it might make more sense to use yarn or pnpm for faster build time and tests, or for
- React native - there's no barrier to upgrading, though there are significant new features we aren't using
- Libp2p/Helia - this is limited by what versions OrbitDB works with, and OrbitDB is not always perfectly tracking the latest libp2p/Helia (Helia is the JavaScript implementation of IPFS.)
- Tor binaries - we are often a bit behind the latest Tor binaries
- Arti (Rust Tor) - C Tor will be deprecated at some point in favor of Rust Tor, which we will probably use as a binary Node dependency.
- Frontend business logic - there is currently too much business logic in the frontend, and we are working to change this. See this PR for an example of the pattern we'd like to pursue: https://github.com/TryQuiet/quiet/pull/2617