RetroAchievements / RAWeb

The RetroAchievements.org platform. Includes core functionality for managing achievements, game data, and community features.
https://retroachievements.org
GNU General Public License v3.0
251 stars 87 forks source link

Unreliable data from API_GetUserRecentAchievements endpoint #2493

Open ioslife opened 3 months ago

ioslife commented 3 months ago

Hello, one of my users pointed out that the Recent Achievements tab for them wasn't showing the most up to date data. I pulled his data from the API and it isn't showing anything past 6/7 even though he has earned cheevos since.

User: UltraGodAzgorath Endpoint: API_GetUserRecentAchievements

Pics: 1st is RA.org progress page. 2nd is Postman API response

image image
ioslife commented 2 months ago

I have another report from another user with the same issue: Fngreg7

Danielopes7 commented 2 months ago

@wescopeland Can I implement pagination on this API? I think this solve the problem.

wescopeland commented 2 months ago

Sorry, I haven't investigated this issue and I'm not quite sure what the root cause of the problem is. Assuming I'm understanding the question correctly, I'm not sure why pagination might necessarily solve the issue if we're currently returning all the records.

Danielopes7 commented 2 months ago

Sorry, I haven't investigated this issue and I'm not quite sure what the root cause of the problem is. Assuming I'm understanding the question correctly, I'm not sure why pagination might necessarily solve the issue if we're currently returning all the records.

in the query has the limit of 500

wescopeland commented 2 months ago

Ah, I see. Thank you for that explanation. You're free to proceed fixing this. My requirements would be as follows:

wescopeland commented 2 months ago

Note: If the pagination parameters are not used, we'll need to preserve the exact response shape we currently have so we don't introduce a breaking change.

Danielopes7 commented 2 months ago

Note: If the pagination parameters are not used, we'll need to preserve the exact response shape we currently have so we don't introduce a breaking change.

I was going to ask about that, thanks for clarifying.