It's been a while since we took some dedicated time to clean up Tobira's code base or generally do things just for the maintainability. Some tech debt has accumulated over time and it would be nice to tackle at least some of that this year.
For now, this issue is just to loosely collect tasks! @owi92 please feel free to just edit this comment to add points.
Updates
Refactoring
Frontend build system
By now, there are tons of build systems vastly faster than webpack. We unfortunately use quite a few features and hooks of webpack to do certain things, making a switch non-trivial. But maybe it is possible and maybe some of those build steps should be solved differently anyway.
Current problems:
- Slow & no HMR
- Sometimes crashes due to memory exhaustion (after a longer time)
- Sometimes "Unsafe call of a(n)
error type typed value" errors without reason, fresh build fixes it
- Adjusting translations in
en.yaml only affects i18n type checking after restart
- ...
Other
It's been a while since we took some dedicated time to clean up Tobira's code base or generally do things just for the maintainability. Some tech debt has accumulated over time and it would be nice to tackle at least some of that this year.
For now, this issue is just to loosely collect tasks! @owi92 please feel free to just edit this comment to add points.
Updates
Refactoring
modeland clean types acrossapiand other places (making everything more consistent)eventByIdAPI work with Tobira ID and OC ID, same for playlist and series. That should cut down a lot on almost identical route definitions.Frontend build system
By now, there are tons of build systems vastly faster than webpack. We unfortunately use quite a few features and hooks of webpack to do certain things, making a switch non-trivial. But maybe it is possible and maybe some of those build steps should be solved differently anyway.
Current problems:
errortype typed value" errors without reason, fresh build fixes iten.yamlonly affects i18n type checking after restartOther
index.htmlorstyle.cssis not present in debug mode. (This just confuses new devs and is annoying for all devs)~managepages, which most users will never see. Code splitting: split frontend bundle into multiple parts #257softprops/action-gh-release@v1#585