v2.6.2

Version: 2.6.2

What’s New?

The release of rClient CLI version 2.6.2 introduces several important enhancements aimed at improving security, performance, and user experience. This version addresses key issues like wallet change security, topic handling across nodes. Additionally, it improves data validation to ensure clean and accurate input processing.New commands for error reporting and log management have also been added to enhance troubleshooting and system maintenance. Below are the detailed updates included in this release.

1. Issue: Insecure Wallet Changes

  • Description:

In previous versions, users could change their wallet using rivalz change-wallet command simply by knowing the User’s ID, without undergoing any verification process. This posed a security risk as user credentials could be compromised. There was no mechanism to verify if the person making the request was authorised, increasing the potential for unauthorised changes.

  • Resolution

A pre-update verification process has been introduced. Before updating the wallet address, a code now is sent to the user's registered device. User must input this code to proceed with the wallet change. This prevents unauthorised changes in the case where a user’s ID is exposed.

  • How to do it

  1. Run the command: rivalz change-wallet .

  2. Enter your new wallet.

  3. A verification code will be sent to your registered device. Input the verification code when prompted.

  4. If the code is correct, the wallet change will proceed, and a confirmation message will appear.

2. Issue: Extra Space In Wallet Address Or Verification Code Entries

  • Description:

Users encountered errors because extra spaces were inadvertently included when entering wallet addresses or verification codes. This issue led to invalid inputs as the system failed to recognize the address or code correctly.

  • Resolution:

To address the issue of inaccurate entries due to extra spaces, the system now includes an automatic cleanup process for wallet addresses and verification codes. When users enter their wallet address or verification code, the system will automatically trim any leading or trailing spaces. This ensures that all inputs are standardized and valid before they are processed, reducing the likelihood of errors and improving overall system reliability.

  • How to do it

  1. Enter your wallet address or verification codes as usual.

  2. The system will automatically clean up any extra spaces.

  3. Proceed with the command, and the input will be processed correctly.

3. Issue: Duplicate Wallet Address During Wallet Changes

  • Description:

Users might unintentionally attempt to change their wallet address to the same one that is already in use. This can happen if they forget their current wallet address or make a mistake while inputting it. When this occurs, the system processes a redundant update, triggering unnecessary system actions. This not only wastes resources but can also lead to errors or unexpected behaviours within the system.

  • Resolution:

To address the issue of redundant wallet address updates, the system now includes a verification step to compare the new wallet address with the current one. When a user inputs a new wallet address, the system first checks whether it matches the existing address. If the addresses are identical, the system will automatically reject the wallet change request. This verification step prevents unnecessary system actions and reduces resource wastage. Additionally, users will receive an error message indicating that the new wallet address is the same as the current one.

  • How to do it

  1. Run the command: rivalz change-wallet

  2. Enter the new wallet address. At this step, the system will automatically verify whether the entered address matches the current one. If the addresses are identical, the system will display the following error message:"New wallet address is the same as the current one”. If the addresses do not match, the system will proceed to the next step in the wallet update process.

4. Issue: Inefficient Topic Listening Across Nodes

  • Description:

In previous versions, all nodes were subscribing to the same set of topics, leading to redundant data processing and inefficient resource utilization, as each node processed the same data multiple times.

  • Resolution:

The update modifies the topic management logic so that each node connects to its own dedicated list of topics via MQTT. Essentially, this involves changing the topic names to ensure that each node subscribes to a unique set of topics. This improvement significantly enhances performance and resource efficiency by reducing redundant data handling and ensuring that nodes only process relevant information.

  • How to do

No action is required from users. The system will automatically assign dedicated topic lists to each node upon connection, ensuring that nodes are connected to their specific topics and optimizing overall network performance.

5. Issue: Event Listener Optimization

  • Description:

The MaxListenersExceededWarning issue occurs in Node.js applications when too many event listeners are registered for a single event, exceeding the default limit of 10 listeners. This can lead to memory leaks, slow performance, and potentially cause the application to crash. Event listeners that are not properly managed accumulate over time, consuming memory and system resources unnecessarily.

  • Cause:

This issue arises when:

  1. Multiple listeners are registered to the same event without being removed.

  2. The default listener limit is exceeded, triggering the MaxListenersExceededWarning and potential memory leak.

  • Resolution

  1. Automatic Removal of Listeners: Event listeners are now automatically removed when they are no longer needed. This prevents the buildup of redundant listeners.

  2. Increase Listener Limit: For cases where a higher number of listeners are genuinely needed, the system now uses setMaxListeners() to increase the limit beyond the default.

6. New Command: rivalz report-error

  • Description:

Previously, when users encountered issues with the CLI, they had to manually collect and submit error logs, which was cumbersome and often led to incomplete information being provided. This process required users to navigate through log files on their own, potentially missing critical details or facing difficulties in accurately capturing the error context.

  • Resolution:

With the introduction of the rivalz report-error command, users can now effortlessly send detailed error logs to the system with a single command. This command streamlines the process of reporting issues, automatically capturing comprehensive error information, including timestamps, error messages, and system states at the time of the error. This feature enhances the support team's ability to diagnose and resolve issues efficiently by providing a complete view of the error conditions, leading to faster and more effective troubleshooting and resolution.

  • How to do it:

Run the command: rivalz report-error

7. New Command: rivalz clear-log

  • Description:

Before this command was introduced, users had to manually search for and delete log files generated by the client CLI. Over time, these logs would accumulate, consuming valuable disk space and cluttering the user’s system. This manual process was not only time-consuming but also prone to error, as users could mistakenly delete important files or overlook log files hidden in multiple directories.

  • Resolution:

The introduction of the rivalz clear-log command simplifies log management by automatically removing all log files generated by the client CLI. This feature helps users free up valuable disk space and maintain a clean, organized log environment. By efficiently clearing outdated or unnecessary logs, it reduces clutter, improves system performance, and eliminates the need for manual log deletion.

  • How to do it:

Run the command: rivalz clear-log

Last updated