[ECO Bounty] iopay "My Rewards" Data Fetching Failure

Description

When a user navigates to the "My Rewards" tab within the staking section of the ioPay app, the application fails to retrieve the staking rewards summary. A system error message appears at the top of the screen stating: "Failed to fetch (gateway2.iotex.io)", leaving the rewards data fields empty (displayed as dashes).

Severity

High β€” While it doesn't prevent staking, it is a functional failure that stops users from monitoring their earnings, which is a core part of the staking experience.

Impact

  • User Uncertainty: Users cannot verify if they are actually receiving rewards, leading to doubt about the protocol's performance.

  • Loss of Functionality: Critical data points like "Total Reward," "Staking Reward," and "Burn-drop Reward" are unavailable.

  • Technical Friction: The exposure of a raw "Failed to fetch" error with a technical URL makes the app feel unpolished and unstable to non-technical users.


Reproduce

  1. Open the ioPay app.

  2. Navigate to the Stake or IOTX Asset page.

  3. Tap on the "My Rewards" tab.

  4. Observe the red error banner at the top and the empty data fields in the "Rewards Summary."

Expectation

The app should successfully connect to the IoTeX gateway and populate the rewards summary with the user's historical and pending staking data for the last 7, 30, or 365 days.

Actual

The app displays a "Failed to fetch (gateway2.iotex.io)" error, and all numerical reward data is replaced by simple placeholder dashes (β€”).


Suggest Fix

  • API Redundancy: Implement a fallback mechanism so that if gateway2.iotex.io is down, the app automatically tries an alternative gateway (e.g., gateway.iotex.io).

  • Retry Logic: Add a "Tap to Retry" button on the error state to allow users to manually refresh the connection.

  • User-Friendly Messaging: Replace the raw "Failed to fetch" technical error with a clearer message like "Unable to connect to rewards server. Please check your internet or try again later."

  • Backend Monitoring: Investigate the stability and uptime of the gateway2 endpoint to ensure it can handle current traffic loads.

Wallet Address: io1tkw393kejmxwnd454twc6020sxcyvh5dxqmren

Device & Environment:

-Operating system: Android 13

-Device model: Redmi Note 10 Pro

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
πŸ’‘

New Issue

Date

About 21 hours ago

Author

cryptotestnet

Subscribe to post

Get notified by email when there are changes.