Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add service for compatibility between Neuron and CKB node/client #254

Open
Keith-CY opened this issue Aug 4, 2023 · 21 comments
Open

Add service for compatibility between Neuron and CKB node/client #254

Keith-CY opened this issue Aug 4, 2023 · 21 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Keith-CY
Copy link
Member

Keith-CY commented Aug 4, 2023

This issue comes from nervosnetwork/neuron#2780


It's expected to have the following 2 functions

  1. check compatibility on launch, and show a warning message if Neuron cannot recognize if the connected ckb node/light client is compatible
    1. incompatible with CKB node/light client
    2. unrecognized CKB node/client
  2. add a compatibility page as https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#browser_compatibility in Neuron's website, and add the link in the warning dialog mentioned above.
@Keith-CY Keith-CY added the documentation Improvements or additions to documentation label Aug 4, 2023
@Keith-CY Keith-CY added this to Neuron Aug 4, 2023
@Danie0918 Danie0918 moved this to 📌Planning in Neuron Aug 4, 2023
@Keith-CY
Copy link
Member Author

Keith-CY commented Aug 9, 2023

Fw:

I see, we will arrange this feature in next versions.

@Keith-CY Here is a slightly different message that I would suggest for use in the meantime since a compatibility table is not yet ready.

The current version of Neuron (v0.110.0) does not match the CKB Node version that is configured for use. This could potentially result in compatibility problems and incorrect operation. Please consider updating Neuron and the CKB Node to matching versions to guarantee proper compatibility.

@Danie0918
Copy link
Contributor

Danie0918 commented Aug 10, 2023

【Requirement content】Update CKB nodes with Neuron version check popup alerts.

1.When the running CKB node is newer than the Neuron internal ckb node version, and there exists a Neuron updater version.
[Additional Note:No popup window when the current Neuron version is already the latest version]

Text:The version of the CKB node does not match Neuron (v0.110.0), which may cause compatibility issues. Please update to the latest version of Neuron.

254

2.Add built-in compatibility table to alertAdd built-in compatibility table to alert When the running CKB node is incompatible with Neuron internal ckb node version.

Text:CKB node is not compatible with Neuron (v0.110.0), please check before using it. (Learn more)
Link Jump:Click the 'Learn more' to open the documentation on compatible nodes in the Help.
(Need to wait for Help Center documentation to be developed.)

new_page_1

@Danie0918 Danie0918 moved this from 📌Planning to 🏗 In Progress in Neuron Aug 14, 2023
@Keith-CY
Copy link
Member Author

Keith-CY commented Aug 14, 2023

【Requirement content】Update CKB nodes with Neuron version check popup alerts.

1.When the CKB node is newer than the Neuron version.

Text:The version of the CKB node does not match Neuron (v0.110.0), which may cause compatibility issues. Please update to the latest version of Neuron.

254

2.Add built-in compatibility table to alert when node is incompatible.

Text:CKB node is not compatible with Neuron (v0.110.0), please check before using it. (Learn more) Link Jump:Click the 'Learn more' to open the documentation on compatible nodes in the Help. (Need to wait for Help Center documentation to be developed.)

new_page_1

This design includes 2 cases

  1. ckb node > neuron: show the dialog without a link to the compatibility table
  2. ckb node < neuron and incompatible: show the dialog with a link to the compatibility table

IMO, the dialog in case 1 can also show the link to the compatibility table because it can be updated timely. When a new version of ckb node comes, the compatibility table can be updated and users will be led to the compatibility table for a check.

If the link doesn't appear in the dialog of case 1, users using the latest ckb node cannot know if the latest ckb node works with neuron.


But the link can be hidden until the compatibility table is ready

@yanguoyu
Copy link

yanguoyu commented Aug 14, 2023

1.When the CKB node is newer than the Neuron version.
Text:The version of the CKB node does not match Neuron (v0.110.0), which may cause compatibility issues. Please update to the latest version of Neuron.

When there is no new version with Neuron, should we also show the dialog? And maybe the latest Neuron's ckb version is smaller than the latest ckb version. @Danie0918

@Danie0918
Copy link
Contributor

Text:The version of the CKB node does not match Neuron (v0.110.0), which may cause compatibility issues. Please update to the latest version of Neuron.

There is no need to display it in this case because there is no newer version to support it.

@yanguoyu
Copy link

When the users use the internal ckb node, there will be no dialog.
And It's better to change the condition's description.

1.When the CKB node is newer than the Neuron version.

-> When the running CKB node is newer than the Neuron internal ckb node version, and there exists a Neuron updater version.

  1. Add built-in compatibility table to alert when node is incompatible.

-> Add built-in compatibility table to alertAdd built-in compatibility table to alert When the running CKB node is incompatible with Neuron internal ckb node version.

@yanguoyu
Copy link

Is there a possibility that after updating Neuron to the latest will still be incompatible? And before we have the incompatible table, how to check the incompatible internal ckb node and external ckb node?
Is there a possibility that both conditions 1 and 2 are met simultaneously? @Keith-CY @Danie0918

@Keith-CY
Copy link
Member Author

Is there a possibility that after updating Neuron to the latest will still be incompatible?

It's possible,(like Neuron upgrades from v0.101.0 to v0.103.0 while the node is v0.112.0) but the case is rare(users always use the latest one) and the dialog keeps showing if the combination is not in our list.

And before we have the incompatible table, how to check the incompatible internal ckb node and external ckb node?

The compatibility table should be arranged along with the the basic function so it is possible to check if neuron and ckb node are matched. But the page to show the compatibility table to users will be delivered later.

Is there a possibility that both conditions 1 and 2 are met simultaneously?

What do conditions 1 and 2 mean here?

@yanguoyu
Copy link

What do conditions 1 and 2 mean here?

1.When the CKB node is newer than the Neuron version.
2.The running CKB node is incompatible with Neuron internal ckb node version.

@Danie0918
Copy link
Contributor

What do conditions 1 and 2 mean here?

1.When the CKB node is newer than the Neuron version. 2.The running CKB node is incompatible with Neuron internal ckb node version.

Conditions 1 and 2 are satisfied at the same time and should be presented as condition 1.

@Keith-CY
Copy link
Member Author

Keith-CY commented Aug 15, 2023

What do conditions 1 and 2 mean here?

1.When the CKB node is newer than the Neuron version. 2.The running CKB node is incompatible with Neuron internal ckb node version.

As mentioned at #254 (comment)

check compatibility on launch, and show a warning message if Neuron cannot recognize if the connected ckb node/light client is compatible

  1. incompatible with CKB node/light client
  2. unrecognized CKB node/client

The dialog shows when Neuron cannot recognize the ckb node and lead users to check the compatibility table page.

@yanguoyu
Copy link

I may try this to complete it.

  1. Add a support ckb versions list
  2. Check whether the ckb node is running externally
  3. If the external ckb version is smaller than the Neuron ckb version and Neuron has an updater version. Show the dialog with the text The version of the CKB node does not match Neuron (v0.110.0), which may cause compatibility issues. Please update to the latest version of Neuron.
  4. If the external ckb version is not in the support ckb versions list, show the dialog with the text CKB node is not compatible with Neuron (v0.110.0), please check before using it. (Learn more)

@yanguoyu
Copy link

@Keith-CY
Copy link
Member Author

Sorry for checking the copy so late. I found using it in CKB node is not compatible with Neuron (v0.110.0), please check before using it. is a bit weird, how about please check before further operation

@yanguoyu
Copy link

Sorry for checking the copy so late. I found using it in CKB node is not compatible with Neuron (v0.110.0), please check before using it. is a bit weird, how about please check before further operation

Does the Chinese description need to change? Currently is CKB 节点版本与 Neuron (v0.110.0) 不兼容,请检查后使用。

@Keith-CY
Copy link
Member Author

Sorry for checking the copy so late. I found using it in CKB node is not compatible with Neuron (v0.110.0), please check before using it. is a bit weird, how about please check before further operation

Does the Chinese description need to change? Currently is CKB 节点版本与 Neuron (v0.110.0) 不兼容,请检查后使用。

How about 请在确认兼容性后进行下一步操作

@yanguoyu
Copy link

@Danie0918

@Danie0918
Copy link
Contributor

If incompatibility is confirmed, should the user be advised to stop using the node?

@Keith-CY
Copy link
Member Author

If incompatibility is confirmed, should the user be advised to stop using the node?

It's hard to confirm how the incompatibility will impact the functionality. So it's hard to advice users to stop using the external node.

For instance, the external node doesn't fee rate API, it's incompatible, but it won't affect normal transactions and synchronization because the fee rate will fallback to a fixed value.

@Danie0918 Danie0918 moved this from 🏗 In Progress to 🚩Pre Release in Neuron Aug 28, 2023
@Danie0918 Danie0918 moved this from 🚩Pre Release to 📌Planning in Neuron Oct 16, 2023
@Danie0918 Danie0918 assigned Danie0918 and unassigned yanguoyu Oct 16, 2023
@Danie0918 Danie0918 moved this from 📌Planning to ✅ Done in Neuron Dec 29, 2023
@Danie0918 Danie0918 moved this from ✅ Done to 📌Planning in Neuron Jan 8, 2024
@Danie0918 Danie0918 moved this from 📌Planning to 🏗 In Progress in Neuron Jan 8, 2024
@yanguoyu
Copy link

@yanguoyu yanguoyu moved this from 🏗 In Progress to 🔎 Code Review in Neuron Jan 12, 2024
@yanguoyu yanguoyu moved this from 🔎 Code Review to 👀 Testing in Neuron Jan 13, 2024
@Danie0918 Danie0918 moved this from 👀 Testing to 🔎 Code Review in Neuron Jan 15, 2024
@yanguoyu yanguoyu assigned silySuper and unassigned Keith-CY, homura and WhiteMinds Jan 16, 2024
@yanguoyu yanguoyu moved this from 🔎 Code Review to 👀 Testing in Neuron Jan 16, 2024
@Danie0918 Danie0918 moved this from 👀 Testing to 🚩Pre Release in Neuron Jan 19, 2024
@Danie0918 Danie0918 moved this from 🚩Pre Release to ✅ Done in Neuron Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
Status: ✅ Done
Development

No branches or pull requests

8 participants