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
Is your feature request related to a problem? Please describe.
Node16 is no longer actively updated, only receiving security updates for the next 10 months. It looks like the reference dockerfile uses node:6? But looks like node versions <16 are in use from glancing over the repo issues?
One thing which stands out the most to me from these package versions, is the following: react 16.14.0 → 18.2.0
This we would need to do in 2 steps
Uplift to React v17 - Requires refactor of every component
Uplift to React v18 - Small config changes, new advanced features
The upgrade to React 17 requiring a refactor of every React component in this repo is a significant task, I estimate there to be approx 400 components so this is plausibly several thousand hours of work purely on refactoring components.
Then some of the packages may not support react 18 and so would either need forked or replaced.
For example the following will likely need replaced:
react-loadable - no update in 3 years, loading handled by Suspense now in latest react.
react-notification-system - not been updated in a while, can be forced to work with 17/18, however electron offers built in notifications for light client.
core-js - developer's health is failing, no other maintainers, may switch to commercial licensing soon.
I've not investigated what changes would be required in the dev dependencies too, however it's plausible some would also need replaced.
Describe the solution you'd like
Use Ubuntu 22 & Node 18/19.
Use latest React.
Uplift packages, replace those which no longer function as expected.
Describe alternatives you've considered
Create new reference wallet UI from scratch, or at least specific chunks of the wallet which interest me the most.
Fork the Bitshares NFT Viewer, use as basis for reimplementing existing functionality.
Additional context
The Beet multiwallet recently uplifted similarly from vue2 to vue3; It was a several month task.
There are likely significant improvements to performance purely from using the latest software, latest node, latest OS. Some of the packages currently in use can be removed now that their functionalities are supported natively.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Node16 is no longer actively updated, only receiving security updates for the next 10 months. It looks like the reference dockerfile uses
node:6
? But looks like node versions <16 are in use from glancing over the repo issues?https://ubuntu.com/about/release-cycle
Ubuntu 16/18 also seem to be end of maintenance cycle soon.
The packages.json contents now here's what could be updated from a quick glance:
Then some of the following were forked to the bitshares org, but haven't themselves inherited the last few years of upstream repo changes:
One thing which stands out the most to me from these package versions, is the following:
react 16.14.0 → 18.2.0
This we would need to do in 2 steps
The upgrade to React 17 requiring a refactor of every React component in this repo is a significant task, I estimate there to be approx 400 components so this is plausibly several thousand hours of work purely on refactoring components.
Then some of the packages may not support react 18 and so would either need forked or replaced.
For example the following will likely need replaced:
I've not investigated what changes would be required in the dev dependencies too, however it's plausible some would also need replaced.
Describe the solution you'd like
Use Ubuntu 22 & Node 18/19.
Use latest React.
Uplift packages, replace those which no longer function as expected.
Describe alternatives you've considered
Create new reference wallet UI from scratch, or at least specific chunks of the wallet which interest me the most.
Fork the Bitshares NFT Viewer, use as basis for reimplementing existing functionality.
Additional context
The Beet multiwallet recently uplifted similarly from vue2 to vue3; It was a several month task.
There are likely significant improvements to performance purely from using the latest software, latest node, latest OS. Some of the packages currently in use can be removed now that their functionalities are supported natively.
The text was updated successfully, but these errors were encountered: