[Userscript] WaniKani Reviews Plus

So it was brought to my attention that [UserScript] WaniKani Fast Abridged Wrong/Multiple Answer was busted. A big part of that being stupid turbo events. I did not realize these were a thing here now, and what a pain they are to code around.
But anyways, while that script got a fair bit of love (at least according to greasyforks installs count), I decided its time to throw it out, and replace it with something new.
So here we go. WaniKani Reviews Plus

Like before, pops up the correct answer(s) for both reading and meaning, with all the same options (I think)
New stuff: For kanji readings it will display primary readings as the top line, and secondary readings on a second line, and slightly smaller font. (No option yet to only show primary, but its on my radar)
There is also an option to show next to the question a breakdown on kanji making up the vocab, or radicals making up the kanji.

And for those that aren’t afraid of trying out early and unpolished features, a review summary. After the reviews are done, you’ll see an overall list of corrects/incorrects. You can even have this at the bottom while doing reviews, to see a ‘live tally’. This is still early and ugly, so I’ve marked it experimental in the options, but its there if you want. I didn’t want to hold up the release of the script for this, but also didn’t want to hide it away completely.



WaniKani Reviews Plus

10/07/24: Fixed a bug where on normal reviews everything was labelled incorrect. Normal reviews and extra study mark things differently, and I had been developing mostly off extra study, as I didn’t have normal reviews a lot.

10/21/24
Added percentages to results screen, as well as the ability to click an item and get more detailed info. Some other small CSS changes as well.



10/23/24

  • Breakdown only shows after meaning
  • Fix vocabulary breakdown for single character items
  • breakdown appears to the right of the question, without changing the questions centering

11/20/24

  • Breadown items clickable for more info

11/26/24

12/06/24

  • Added user synonyms to answers
  • Reworked settings
5 Likes

I’ve been meaning to try this out since I find it a bit cumbersome to open the info page, or forget it entirely when doing reviews. Thank you for your hard work! :bowing_woman:

EDIT:
Maybe because I have a gazillion userscripts, but I found that it breaks the reviews page in a way where the url removes the /subjects/reviews, and instead just displays the dashboard URL, when I go to the reviews:

Here’s the page with this script turned on:

Here’s the page with it turned off:

And these are the scripts affected: (as far as I have seen)

  • Jitai
  • Back2Back

There’s also a weird behavior wherein I answer correctly, but it doesn’t show any info and it jumps to the next review item. When I enter the answer for that next item, I can’t somehow input anything.

I’ve hit a similar thing if I refresh while on the reviews. Figured it was just some weird refresh bug that I’d put low priority. Always worked fine going from dashboard. But I wonder if there is some script interaction going on.
Wonder if it could have something to do with other scripts I have installed. Does take double check into affect. Wonder if not having it is breaking something. Didn’t think to test without it. Shouldn’t have mattered, but possibly.
I’ll have to play more when I get time after the weekend. Sorry it’s having issues.

1 Like

No worries on that. Take your time!

Just tested it out with disabling double check, and installed both back2back and jitai. Found a separate issue which is corrected, but couldn’t recreating the ones you mentioned. Both those two scripts seemed to work fine as well. Based on the url change, I wonder if one of the other scripts you have going is causing some sort of page refresh :thinking:

I’m not sure, buddy. But here’s the list of all the scripts I’m using.

Scripts:


My review comes in 30 mins so I thought I’d just screenshot first the scripts that are running on the dashboard page. (Later I will screenshot the ones in reviews.)


UPDATE: I think I found what's breaking the script

It’s this script:

- this script shows vocab words when reviewing Kanji items. I don’t have Kanji items at the moment so I can’t really test it.

Jitai works



The only thing is that, it shows the answer immediately if I got something wrong :stuck_out_tongue_closed_eyes: So I don’t get the chance to guess it again.

Also, I observed a bit of a bug. When I refresh the reviews page itself (not going back to dashboard → reviews), the script breaks somehow and I need to go back to dashboard then reviews. That’s all I could find, other than not working with that script I mentioned above.


UPDATE2: I think it's not working again :crine:
  1. ConfusionGuesser seem to break it. I turned it off and it went on smoothly again.
  2. Refreshing the page directly from the reviews page causes it to break as well.
  3. Randomly breaks :sweat: probably because I was abusing the refresh button when testing it lol
1 Like

Yeah, I’m not sure what the deal is with refreshing while on the reviews page itself. URL changes for whatever reason, putting it in a weird ‘reviews and not reviews’ page. Possibly those awful turbo events, or perhaps how I’m shoving a Vue app into another page’s containers. I suspect its probably Vue.

Edit: Yep. “router.push(‘/’)” is affecting WaniKain as well, not just the Vue app. Now how do I deal with this


1 Like

I appreciate your efforts in maintaining this script. :saluting_face: Other userscripts also broke with the turbo thingy, but alas, I’m not fluent with any coding languages so I couldn’t help out. orz

The Double checker has a similar functionality, but it scrolls down to the info page, unlike yours that shows it immediately after a correct/wrong answer. So there’s a bit of a lag with that feature.

Maybe a feature request for your script wherein it can be configured so the direct info shows up only when correct, or like maybe incorrect answers multiple times? No pressure though. I know there’s an existing problem at hand haha

I think I got the url thing figured out. Switched history mode from Web History to Memory History, and seems to work (Normally I use Web Hash)

There is an option in the settings ‘Show On Wrong Answers’. Just uncheck that and you’ll get the only showing on correct effect.

1 Like

Ahh there is a settings page for that. I never saw it so I thought it didn’t exist :joy_cat: thanks! I will try it out tomorrow.

You probably don’t need to use Vue Router at all. Feel free to build on my version if you would like, a Vue app seems quite over engineered especially if you’re using routing and stores as well

Yeah, using router was indeed overkill. Originally I had planned for different routes for different features. The reviews was to be one page, the results screen at the end another, and then more if I created more stuff. But, it ended up just being one single page with Teleports everywhere.
Problem ended up though, I still need to router.push(‘/’) initially.
I went with Vue, since I work in it regularly anyways, I’m familiar. And its components, computed properties, reactivity, etc just made things easier than going full on vanilla Javascript.
I may even more over engineer things as well. Thinking of adding in PrimeVue as well, to make the results screen fancier and more useful, but also easier on myself.

My SRS Grid and Stats scripts also use Vue, and Stats uses PrimeVue. Over engineer for sure.

Huh. Weird. That settings page works on my Windows laptop (I am using my macbook at home)

It’s working with that script, too.

So I think it’s most likely my old macbook’s fault. :sob:


Also, dunno which setting causes it but I see the tally even if I go to dashboard? (Need to manually close it) Is it the Tally Live?

Tally is the results screen at the end, tally live puts it at the bottom of the page while doing reviews. Tally will show if you go to dashboard early, or in another tab I suppose, as it’s looking at variable not being empty. It doesn’t know how you finished. Just that you’re at the dashboard and this variable holds data. “Closing” the tally page just clears that variable, which then the tally hides itself since there’s nothing to show.

1 Like

I’m going to borrow (steal) your breakdown for my version if you don’t mind. I’ve been thinking of a way to easily link to the kanji/radicals pages because that is one of the main times I open the info and then have to scroll all the way to the bottom. The breakdown would be a perfect place to have those links.

1 Like

Hello, I got my Macbook’s battery fixed and somehow all three scripts are working nicely with this Reviews Plus script :joy_cat: I did observe though that I should only use one browsing tab for my wk dashboard. Any duplicate tabs causes the script to malfunction to that duplicate tab - which I assume should not be the case. Noticeably on the duplicate tab, there are only 23 scripts loading. But, I don’t mind that much.

Using my original tab:

Using a duplicate tab:

Nice upgrade, I really like the new kanji breakdown. Will you add a percentage of correct answers on the summary page?

1 Like

Yeah, that’s in the works. Math isn’t always mathing right at the moment, and also trying to add a bit more styling in at the same time. Should be coming soonish.

2 Likes

Maybe an option to show the kanji breakdown only after the meaning, so if reading appears earlier and it doesn’t “spoil” it.

1 Like

First of all - thanks for putting in the work to maintain and improve this - it’s very much appreciated!

That said :slight_smile: a couple of potential opportunities if you feel inclined.

1. Organize breakdown by the order in the word
2. Allow for an option to place breakdown below/above the word

I personally find this easier to parse while studying. But FWIF, I’m currently using another script that provides that functionality.

3. Breakdown vocab to kanji, and kanji to radicals

It seems to be breaking down some vocab to radicals (the other script follows the V>K, K>R logic)
Screenshot 2024-10-22 at 12.24.01

  1. Only show breakdown on meaning answers
    +1 to Gunstolfo - seeing the meaning on a reading answer might spoil the meaning

1 Like