[Userscript]: WaniKani Ultimate Timeline


That’s perfect!

I am consistently amazed and humbled by the work put in by the userscript developers. And you, sir, are frankly amazing. To help with this, when I must be one of only a handful with this issue, is astonishing. :slight_smile:

Thank you so much!


@rfindley These two bars are the 17:00 and 18:00 bars. So shouldn’t the popover say 17:00 to 18:00?



“17:00 to 18:00” sounds like a 1-hour period. Technically, it should probably say “17:00 to 18:59:59”, but I figured it’s easier to do math in your head when it’s rounded up. At a glance, I know “17:00 to 19:00” is 2 hours.


To me “17:00 to 19:00” means that it includes the reviews that appear at 19:00. I wonder if there’s a way to word it that means “the hour of 1700 to the hour of 1800”, but without the concern you mentioned about it sounding like a one hour period…


Hi, how can I access the settings page from this (“reviews timeline”) screenshot? When I click on the gear icon I can set up the configuration for the graph and review details only, but not timeline settings. I would be really grateful if I had access to the option of choosing a different Japanese Font.

These are the only settings I can see:

Thanks in advance for any help.


Greg (the dad) from Life Where I’m From uses Ultimate Timeline!


I just started using this script and I love it!!!


Heh, that’s cool. I really enjoy his (and his family’s) videos. I’m glad I can give back in a small way via Timeline.


Thank u ^^


@rfindley FYI, I got this console error:

userscript.html?id=116ef726-d0fb-49e0-a7a4-384de9e62e2f:1278 Uncaught TypeError: Cannot read property 'length' of undefined 
    at bundle_by_timeslot (userscript.html?id=116ef726-d0fb-49e0-a7a4-384de9e62e2f:1278)
    at window_resized (userscript.html?id=116ef726-d0fb-49e0-a7a4-384de9e62e2f:1124)

I only saw it once and it didn’t seem to cause anything to break, but I figured I’d let you know anyway.


@rfindley, I can’t find this either.
Any chance for an option to see a more detailed SRS breakdown when you click on the bar (including sub-levels)?
Any plans to move the settings into the Settings menu? Personally, I find the buttons obtrusive to the design :stuck_out_tongue:

Thanks a million for all your amazing work!


Finally got my new laptop (YAY!) so even though I’m on Vacation mode, I’m trying to install all the great scripts I’ve used before…

… Hoping to find my slightly customized one… (Though I wonder about the heights on this new machine… YAY, new machine!)


Best thing ever! Thank you


This script is required. It’s a live saving, helps me plan my reviews, so i don’t get as many bad shocks with review bombs :open_mouth:

Thanks :slight_smile:


so i’ve been having this. it used to show me the precise time at which reviews become available, now it’s confusing.
is it a bug? or some messed up setting? can it be fixed?


The bar widths auto-scale as you zoom out to prevent the bars from getting too thin. If you adjust the graph’s slider to a time range, you’ll see the bars change back to 1hr per bar.

Also, depending on your “details” setting, I think you can click the bar to pin the details open, then hover over an individual item to see its exact review time. (Edit: nope, that part’s not true. I was thinking of the details on Dashboard Progress Plus)


okay, at 3.5 days it shows the hour. i can’t go any further though without it switching to “time-window”. what’s the highest preview for that?


I’m not sure what you mean. The question that it sounds like you’re asking is answered in your first sentence (3.5 days, though that depends on the width of your browser window).

The auto-scaling is based on maximum bar density. It’s a chart inside the code. Near the top of the script:

    // Chart defining the auto-scaling factors of the X-axis.
    var xscale = {
        // Scaling chart.  Each column represents a scaling range,
        // and each row is something that we are scaling.
        hours_per_label:   [  1 ,  3 ,  6 ,  12 ,  24 ,  48 , 720 ],
        red_tic_choices:   ['1d','1d','1d', '1d', '1w','1ws', '1m'], // Red major tics (red label)
        major_tic_choices: ['1h','3h','6h','12h', '1d','1ds', '5D'], // Major tics (has label)
        minor_tic_choices: [ '-','1h','1h', '3h', '6h','12h', '1d'], // Minor tics (no label)
        bundle_choices   : [  1 ,  1 ,  1 ,   3 ,   6 ,  12 ,  24 ], // How many hours are bundled together.
        idx: 0

The ‘bundle choices’ are the number of hours bundled together at each scale. You can change them to 1 to force them to stay in 1 hr bundles.

It’s set up to show no more than 1 time-scale label per 50px. So, for example, if you zoom out to where there’s about 12hrs per 50px, the bars will represent 3hr blocks.


Suggestion: Max bar height setting, for those who are catching up and want to still be able to see incoming reviews.


:point_right: [ v7.0.15 ] - Add ‘Max Bar Height’ option.