You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please use the 👍 reaction to show that you are interested into the same feature.
Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
Subscribe to receive notifications on status change and new comments.
Is your feature request related to a problem? Please describe.
Vue 2 has reached its end-of-life. It no longer received feature or performance updates, and should some vulnerability surface there would not be any fixes released.
Apart from that Vue 3 has quicker initial rendering time, better performance (i.e. DOM updates), lower memory usage, smaller bundle sizes, better typing (thus catching more errors) and provides new features. This improves not only user experience but also developer experience by making things easier and catching more bugs.
Describe the solution you'd like
Nextcloud should aim to replace Vue 2 with Vue 3 in the long term. Other migrations like replacing vuex with pinia are NOT a goal of this transition. They likely make sense down the line but can be postponed for later.
I propose a multi-step process:
Check for any usage of internal API such as VNodes and remove it.
Replace Vue 2 with Vue 3 plus the compatibility build (@vue/compat)
Start replacing Vue 2 APIs with their Vue 3 equivalents and disable the compat shim on a per component basis.
Drop the compat shim once everything is converted.
Describe alternatives you've considered
Stay on Vue 2 forever: I say forever because I explicitly gave no timeline for this migration. It will take a long time but has to be done at some point. This leaves us with and EOL software component which will not benefit from new improvements and might break as browsers evolve.
Pay for Vue 2 Extended LTS: This is not really feasibly for self-hosted software or would require some very weird license agreement with the company providing the extended LTS.
Wait for Vue 4 and skip Vue 3: It is not clear when Vue 4 might be released and even when it does the migration guides will most likely still be geared towards Vue 3. So it is unlikely we reduce the effort by skipping a major version.
Do not use the compatibility shim: This would only make the migration harder as it must be done in larger steps.
Stay on the compatiblity shim forever. It is likely that the shim will not be supported forever. It also makes impossible to use newer features and increases code/bundle size.
Also replace libraries like vuex with their newer equivalent, i.e. pinia: This can be done independently and is not as urgent.
Additional context
n/a
The text was updated successfully, but these errors were encountered:
How to use GitHub
Is your feature request related to a problem? Please describe.
Vue 2 has reached its end-of-life. It no longer received feature or performance updates, and should some vulnerability surface there would not be any fixes released.
Apart from that Vue 3 has quicker initial rendering time, better performance (i.e. DOM updates), lower memory usage, smaller bundle sizes, better typing (thus catching more errors) and provides new features. This improves not only user experience but also developer experience by making things easier and catching more bugs.
Describe the solution you'd like
Nextcloud should aim to replace Vue 2 with Vue 3 in the long term. Other migrations like replacing vuex with pinia are NOT a goal of this transition. They likely make sense down the line but can be postponed for later.
I propose a multi-step process:
VNodes
and remove it.@vue/compat
)Describe alternatives you've considered
Additional context
n/a
The text was updated successfully, but these errors were encountered: