simjanos-dev / LinguaCafe

LinguaCafe is a self-hosted software that helps language learners read foreign languages.
https://simjanos-dev.github.io/LinguaCafeHome/
GNU General Public License v3.0
797 stars 23 forks source link

Update Node and MySQL to supported versions #57

Closed sergiolaverde0 closed 5 months ago

sergiolaverde0 commented 5 months ago

Currently, two of the major foundations of this project run on severely outdated versions that throw warnings when building see (#50) and expose users to bugs and vulnerabilities solved long ago. This should be updated as soon as possible, even if it requires introducing breaking changes or refactoring sections of code. The longer this is left undone, the harder it will be to do.

simjanos-dev commented 5 months ago

I would also like to add:

I'll work on the MySQL update now.

sergiolaverde0 commented 5 months ago

Node.js 18 and MySQL 8.0 are probably the better options due to being LTS versions since they reduce the maintenance burden of staying up to date on what is for the most part a single dev project.

Laravel 11 will almost certainly support PHP 8.3, or so I hope.

simjanos-dev commented 5 months ago

I've updated Node.js to v20.11.0. I found no problems at first try, will keep testing it.

sergiolaverde0 commented 5 months ago

Oh, and Vue 2 is unsupported since last December so we might want to update that too.

simjanos-dev commented 5 months ago

I don't think I'll be able to update to vue 3 for a very long while. I use vuetify as well, and I think there are breaking changes in both, and it will be a huge rewrite.

I don't think this will be any significant security issue. Laravel should make sure everything is safe on the back-end, everything is locked behind login in the router, every request is already limited to the logged in user except admin functions, and linguacafe doesn't store any personal information.

I think I'll might just keep using Vue2 for a long while. Would love to update it, but I rather focus on Laravel11, and other features first.

simjanos-dev commented 5 months ago

I've added Laravel to issue #103 where I track code improvement, I will probably do it in March. I'm not sure when I will get to Vue and Vuetify, there are too many priorities before that.

simjanos-dev commented 3 months ago

I'm not sure when I will get to Vue and Vuetify, there are too many priorities before that.

I've realized since that many of my Vue components are quite large, and I should arrange my code better, and separate at least the interactive text logic to separate js files.

I was also thinking of replacing Vuetify with something more customizable, because I had a lot of problems making it behave the exact way I want.

I will start a Vue3 branch, and experiment with UI a bit, but I will not start actively developing it, it will be mostly just for fun and experimenting. Eventually I'll move to the latest Vue version, but it will take more than a year before I'll have the time.

(Laravel 11 is out, I will soon update to it when I finish some refactoring)