Split desktop and web components
It would be good to pull the bulk of this application out into a separate repository called opsdroid-web. This would contain the react web application which is used for chatting with opsdroid.
This repository would then use opsdroid-web as a dependency and simply wrap it in electron for use as a desktop application.
We could then also use opsdroid-web as a dependency in opsdroid and serve the same interface from the opsdroid web server.
Steps:
- [x] Create a new repo and move the React application into it
- [x] Remove/make optional the electron specific code like
electron-settingsandelectron-connect. - [ ] Create NPM and PyPI packages for the compiled React application (so we can keep Babel out of this project).
- [ ] Update this repo to use the new web package.
- [ ] Update opsdroid to use the new web package.
I've started working on this, not sure how far I will get haha
It looks like the websocket library we are using is node only. So we need to swap it over.
I've just pushed up opsdroid-web which is a browser based fork of this project. I've updated the tick boxes above to reflect progress!
Hi @jacobtomlinson are you available to review PRs for https://github.com/opsdroid/opsdroid-web ? There are some automatic pulls and version updates, and I think they could be squashed into one, tested and then you get one instead of many PRs. Sounds good?