Move to async/await. Get rid of callback hell
See original GitHub issueCurrently (1.8pre), Etherpad code base is heavily based on callbacks. While this made sense at the time (~2011) JS ecosystem has moved forward, and better solutions exist.
We should investigate the possibility of migrating the code base to an async/await
paradigm, in order to make the code easier on the eye of future contributors.
This move was anticipated in #3424. It is now time to start discussing it concretely.
As usual, the first concern is maintaining stability: this change is going to be wide, but should be as shallow as possible, ideally not containing any new functionality work. After this, hopefully the code base will be easier to reason about, less buggy, and new features will be easier to implement.
Edit: the Pull Request that implements this change is #3559.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:27 (27 by maintainers)
Top GitHub Comments
Branch raybellis/async-PR is now deployed on https://beta.etherpad.org/ to allow widespread testing.
It will be periodically updated while the branch is audited.
Are you interested in the list of my plugins which run (on the async version) without apparent issues?