API changes - Get All Reviews

The Heatmap still calls that endpoint, but it returns an empty array

4 Likes

image

I’m stupid. I looked at this window loading something new and didn’t see it was subjects not reviews. Well, that’s awkward
 sorry for the false alarm :sweat_smile:

Edit: And thanks Kumirei (Dora the Explorer, apparently?) for implementing a temporary fix so quickly! I knew about it but just got really confused over this.

LameHandsomeDiplodocus-size_restricted

5 Likes

Oh, so that’s why Heatmap isn’t really working correctly and why I lost my streak for four days in a row (through using Tsurukame). Reviews are now syncing both ways between Tsurukame and the WK site, but somehow Heatmap isn’t picking my reviews if I use Tsurukame.

3 Likes

honestly, losing this feature is a huge disappointment. i lived off of my heatmap streak and count of number of reviews done per day. i also use various devices to do my reviews, so theres no point in me using the temp fix :sweat_smile: i hope this becomes fixed in the future once it seems wanikani’s code is done being scrambled around. ill wait
 just bring it back someday!

6 Likes

Me too. I generally do 4 sessions/day, on 3 different devices–personal laptop (7 AM), work laptop (11 AM and 3 PM) and desktop (7 PM). Occasionally I also do an 11 PM session, either on my phone or personal laptop.

1 Like

1 Like

Me too. I genereally do my reviews on 2 different devices. And the heatmap is also counting the “extra study” reviews.

1 Like

It’s impossible to know for sure without looking at the code but I strongly suspect that a low-tech, inelegant-but-effective solution might simply be to write a script that moves inactive users (like, users not having done any review in a year or so) to a separate “archive” DB which would I’m sure remove the vast majority of the contents in these tables.

Of course that would necessitate having a “thaw” process to move everything back should the user return to the website. Although in this particular instance losing review stats if you haven’t been on the site in a long while might be acceptable anyway.

2 Likes

Can we have an access to this feature during non-heavy loaded time as one of these options? I know WK is international service, but I believe you have as well peak load and period when durtles are safe. It’s not like we need this feature every day - for Heatmap we just need to load it once between logins and then it will store it in local storage updating locally.
You can make it accessible in queue fashion as well! It’s not like it any critical for core performance like accounting reviews, so personally I don’t mind to hang it in background to wait for its slot to update and do other things in a while.

Any other experts in heavy-loading services handling? Because it’s just two workarounds that I came up with while taking a morning shower. I really want to enjoy my everyday-tiled streak again.

1 Like

I was using this in a personal script to track when I started and stopped a review session so I can track the time in Toggl. Is there an alternative? I just want to know a start time and end time of the first review/lesson done for a session, and a count of how many of each were done.

1 Like

Not sure how exactly you were calculating the start/end times of the session, but you may be able to use review_statistics (API changes - Get All Reviews - #70 by milopiccolo) which works for the linked post (and I was also able to adapt it to my use case).

I just want to provide a quick update to let you know that I have been following along and we are still actively evaluating our options. It will take some time though as I don’t want the next step to be bandage that puts us in the same position six months from now.

To provide a little more information (as there as been a bit of speculation), a part of the issue is caused by apps/scripts batch requesting the data on behalf of many users at the top of the hour. So while your individual script use case, may not directly be contributing to the issue, we do need to find a solution that is more resilient.

I will keep you posted of further developments and decisions as they happen.

15 Likes

I’m only certified at the most basic level of AWS infra, but I can imagine that ‘hotspot with hourly frequency’ combination is one of the harder to architect around - they don’t easily provide ways to spin up elastic capacity with database-specific moving parts at that per-minute granularity. I’d think that even holds true if you’re using their proprietary backend key value stores, it’s certainly the case with ‘managed hosting’ (Relational Database Service).
Rearchitecting is time-intensive, adding extra layers are extra points of failure/moving parts/line items that would require a ‘tier‘ of service being added depending on how redundant/available/reliable you want it to be, implementing needs to be fully coordinated
 I appreciate the caution and investment in future-proofing :bowing_man:

Is the login API broken for 3rd party apps?

I am not sure what you mean by “login API”. The API is accessed using an Auth Token. The documentation can be found here: WaniKani API Reference. I have just double checked and I am still able to access the API using an Auth Token so everything appears to be working as usual. If you are having a particular issue accessing the API please send a message to customer support (hello@wanikani.com) detailing your issue and we can look into this further.

1 Like

This is what I modified my bot to do right after the reviews api was killed and it generally works but there are still issues I discovered. Reviewing an item twice in one day (which is possible for the first few SRS levels) only counts as a single review, you need to make sure you only request SRS levels 2-9 (because completing a lesson updates the assignment, but that doesn’t mean they completed a review; but this also causes issues if someone is SRS 2 and then they get demoted to SRS 1 via a review). Also if someone enters and then leaves vacation mode, every single assignment has its next review time updated, and thus has its updated_at updated (even burned items) so if you go on vacation mode and then leave, fetching updated_at > yesterday will return every single assignment they have unlocked (or maybe just ones they’ve started idk).

3 Likes

Was there any recent change in the API? I searched the forum but couldnt find anything. My script is not working fine anymore, I didnt change anything on my side though. ( It was stable for some weeks now )

UPDATE:
Nevermind. I found the issue: " This endpoint currently returns no data while we evaluate options regarding the performance of this endpoint. "

Well I guess I have to think about an alternative now how to handle my existing issue.

1 Like

Wondering if there’s any updates here or even an ETA of an update?

6 Likes

The only responsible thing to say right now is that we are still working on it. I can’t give a timeline for an actual update as it may be a promise I can’t keep. I am mindful of the radio silence on this, but the next post I want to make on this topic is the solution or the plan rather than just updates saying that it is work in progress.

13 Likes

I guess the question is: are you actively working on it or is it on the back burner while other things have been prioritized?

18 Likes