[Userscript] WaniKani Custom Immersive Dashboard

I have done a little testing. First there are two things you may want to address.



And here:

Nest the good news. Item Inspector works fine. I have found a bug in Item Inspector that cause CSS not be correctly applied when the position settings is changed. This problem can be worked around by refreshing the browser. It will be fixed in the next version of Item Inspector which is due shortly…

I also found that Self-Study Quiz and Leech Training are working out of the box. They are arguably the two most important scripts not mentioned in your top post.

For Self Study Quiz this is a by-product of the settings installing correctly in the Wanikani dropdown menu. Leech Training inserts nicely in the top bar.


Another good point: if people want leeches instead of critical they may install Item Inspector and Leech Training and they will be OK.

Finally I have questions about your critical condition.

  1. What is the threshold for critical condition be listed on the dashboard?
  2. What is the correlation between your formula and the trouble in reviews an item cause?

Concerning point 2, I have in the Item Inspector top post a section titled Leech Value that explains how the metric correlates with trouble in reviews. People can interpret the numbers to gauge how much trouble an item gives them. I don’t find similar information in your top post and I can’t figure out this correlation from the formula alone.

I get that you consider troublesome any item older than three levels and still in Apprentice. I don’t see how that correlates with the formula. Why not coding that directly instead of having a formula? For example it is easy to set filters for this in Item Inspector and Self-Study Quiz. Here it is.


Then you can get the full power of Item Inspector and Self Study Quiz with your definition of critical items. You can also set the filters programmatically and have wkof.ItemData.get_items() return the items for you.

Thank you for testing this for me :smile:

For the undefined portion, I’m not sure where that’s coming from. I might have to force false data to see that because it’s not appearing for me at this stage. It’s supposed to show the next review time. Is there anything about it that you can shed light on, like if you’re in vacation mode or anything?

And the larger numbers, that’s fair I’ll see what styling fixes I can apply.

For point 1 there is no threshold for the number of critical items to be listed. It will list everything that fits within the parameters of a “critical item” until such time as there aren’t any more of them.
For point 2 the formula is primarily for sorting and the inner shadow. The idea was that say: I’m now level 10, so if I have a level 1 item that’s at SRS level 1 (Apprentice 1) then the inner shadow will be very dark to the point where the background may be almost black rather than purple, blue or pink for the item type. As for the use I get from it? Well it was more that I felt that items that old should at least be in guru by now, so I tend to use it as a tracker of what keeps going up to guru then back down to apprentice. I’ll try to reword that section in the top post to make it clearer.

The reason that the critical items section isn’t as clear cut as the rest is because it was the first piece of additional information I added via userscript, even before I had the idea of making a fully custom dashboard and I haven’t changed its base code since then. I have plans to overhaul it to resemble leech items more, and even make it optional to display via settings when I get around to adding some settings.
I didn’t understand leeches way back then, but I knew I wasn’t seeing items that I knew I wasn’t doing so well with. Now that I understand the available data better I can rework the formula to something more useful.

As for the usage of other userscripts to get this information, I could use them but I haven’t and don’t at this stage. The reality is that I never went looking for any and used this as an opportunity to learn how to create userscripts instead. Now that I know of other userscripts with similar setups, I’ll either modify the critical items to compliment them or I’ll remove it altogether.

1 Like

I have no reviews in the future. All my items are due to review right now because their review dates are all in the past. I am currently taking a break of reviews because I am busy scripting and I didn’t turned on vacation mode…

This is not my question. You have a formula. Which value the formula must take to get an item listed as opposed to a value that doesn’t get it listed? I didn’t see this information anywhere.

This is curious. Which software did you use to list your leeches back then?

The most commonly used formula for leeches will mark an item as a leech as soon as you fail a review. You need to get it right a number of times in a row to bring it out of leech status. The more you have failed an item, the longer it takes to bring it back. Look at the explanation on top post of the Item Inspector thread for details. The formula is given and explained.

I mean to say, the leech formula is very sensitive. You shouldn’t have items that you feel are in problems and don’t show up because, as I said, if you fail them they automatically get marked, even if there is only one failure.

Ah, it should show a title of ‘次の復習をなんでもない’ with 0’s for all the item types. Could you please do me a favour and turn on debugging mode (from the boolean toggle) and look at your console for the log “Generating future reviews HTML with the following data.”, open the object next to it, and show me the data in it? I would assume there would just be a list for the next 24 hours all with no items which is catered for in the code, so I’m wondering if there’s an undefined somewhere.

Oh, well every item gets tagged with a critical value. Quite literally ANY item that is in SRS level 1-4 (Apprentice) AND is 3 levels below your current level should show. The critical level itself is only used for the sorting and inner box shadow. I did update the main post so hopefully it makes more sense but I’ll see if I can refine it again.

That’s just it, I wasn’t using any software or userscript at all, just the original WaniKani dashboard. I was also a bit annoyed that I had to open a whole new page just to see all of the items as well haha. So I had two choices then, find something to help or make my own. I chose to make my own purely for the experience, and it grew from there into what I have today.

In essence, I built this dashboard for my own personal use as a one-stop-shop for installation and usage without needing to configure anything or install multiple scripts. In saying that, I had NO IDEA just how many decent options there were for things like leeches. Now that I know there are heaps, and that I’m comfortable with my ability in creating userscripts, I can look at options to add rather than packing them into my userscript :smile:

Yes it is an empty array, no undefined there.

This explains it. Vanilla Wanikani doesn’t use the leech formula found in scripts. They just displayed so-called “critical condition” items based on the percentage of correct answers. This formula doesn’t work well. This is why scripts are using a better leech formula.

1 Like

Awesome, thank you for that screenshot, a completely empty array is new, usually it would have the timestamps for your currently awaiting reviews and others all the way up to the next 24 hours, so this is interesting. I’ll put a bug fix in shortly and let you know :smile:

Yeah that’s what I’ve found over the past few days seeing scripts like yours where you have far better defined formula for it :smile:

1 Like

@prouleau Version 1.1.1 bug fix is in and main post updated :smile: this should resolve both issues you mentioned.

1 Like

The bugs are fixed but now there is this:


I might see if I can anchor the buttons to the bottom of the DIV instead. The stretching part was intended because I knew the numbers would climb up and would then flex each item type to a new row (similar to the SRS summary). I’ll fix that up momentarily but won’t increase the version number I don’t think :smile:

Won’t greasyfork be confused if you don’t increase the version number? They won’t push the update if you don’t increase.

If I was using Greasyfork then probably, but the CSS files are loaded separately and just get cached so an appropriate clearing of cache usually brings them in. But you’re right in a way that I should be properly versioning now that it’s public :sweat_smile:

Version 1.1.2 styling bug fix is now in, but may take a little bit to show because of file caching.

Wanikani only has ~8800 items, so unless I’m missing something here no one will ever have anywhere close to 100k items in total, let alone in one srs stage.

1 Like

Oh good, thank you for that I wasn’t sure how many items there were haha :sweat_smile:
Either way it’s catered for now but I’ll update the main post to note that :smile:

Looks nice, although a solid knowledge of Japanese is needed to understand the display.
One error I have found: the preview of the upcoming reviews does not use my system’s timezone. At 8:42 a.m. it says my next review is at 7 pm (instead of 9 am).

Yeah I did that for immersion more than anything, and even though I’m the one that translated it (with online help) I still have to look some things up haha.

Ah, yeah that might be due to the timezone setting. I think I have it set to Australia Eastern Standard. I’ll look into making it dynamic based on browser timezone. Thanks for letting me know!

1 Like

I just release v1.1.3 bug fix for this, it should now use the default browser timezone :smile:

You know, for someone who said they weren’t actively developing this, I am rather active on this :joy:

1 Like

Yes, and very fast! Thank you, it works.

1 Like

No worries at all :slight_smile:

I like to be responsive if I’m available, which is most of the time outside of weekday office hours since I have WaniKani, KameSame and WK Community open on one screen, with my other entertainment on the other :joy:

1 Like

Version 1.2 is now out, cause I really wanted to overhaul the Critical Items section. Please check the main post for updated information! I updated the former “critical items” section too :smile:

1 Like