List of Scripts

Seems like something weird is going on with the Egg Timer script, it’s like 00:00 is always shown on top of the real timer.





Is it just me or is the Auto-Commit script entirely useless these days. Even with it turned on, I get many red dots which indicate that the auto-commit won’t work for that particular review. Would greatly appreciate a fix.

1 Like

Apparently, I stopped getting notifications from here and only saw these posts a few days ago. I don’t have a paid account anymore, so sadly I can’t look into these bugs myself. If you have any suggestion as to why it might be happening I am willing to make updates.

Sadly this was always a high maintenance script, and now that I am not using BP myself there’s not much I can do to fix it.


I haven’t renewed my subscription either, so we’re in the same boat. (Obviously, I don’t need that script to be fixed)


If you want to fix the Egg Timer script, go to the script editor in Tapermonkey (just click on the script in the dashboard) and change the following:

Right under var interval = false; add var timerAdded = false;.
Like this:

var start =;
var interval = false;
var timerAdded = false;

Replace the $('.home-dropdown') ... line with:

if (timerAdded == false) {
  $('.home-dropdown').after('<div id="egg-timer" class="help-button" style="left: 60px; top: 0; padding: 0;">00:00</div>');
  timerAdded = true;

Kind of a hacky way to fix it, but it works!


I still haven’t renewed my subscription, so I can’t test it for myself, but with this @Kumi can use it to update the script (assuming they have not renewed theirs either). Thanks for the suggestion @adamhl :grin:

Any scripts that allow changing the keyboard shortcuts during reviews? Was hoping to map the audio playback to the same key that WaniKani uses.

1 Like

A script that hides the streak counter or replaces it with something silly would be great. I want to ignore it, but Bunpro keeps shoving it in my face and then resetting it at what feels like random and it’s getting on my nerves.

If your account is set to your current time-zone then there’s nothing random at all about it. If it truly bothers you this much you can download ublock origin, then use the zapper button (the lighting-bolt icon) and completely nuke the box containing the streak information from showing up again.

1 Like

There does seem to be some inconsistency with how streaks and other stats are calculated.

For example it looks like I apparently forgot to do any lessons/reviews on March 29 (ignoring the fact that this was actually on March 30 because these stats are all 24 hours behind)…but my profile still shows that I currently have a 93 day streak :man_shrugging:

And yes my time zone is correct.


I don’t know if you did this or not, but you get one extra day on your streak just by clicking ‘reviews’ - you don’t actually have to complete a review, your streak goes up simply by pressing the button.

Ah, interesting. Thanks, wasn’t aware of that. Seems like that’s probably what happened lol

1 Like

@Kumi JLPT Percentage was giving me NaN% for total (0/0), i found a fix:

              $('.progress-count').each(function(i, e) {
                if (e.childNodes[0].textContent.includes("Level Progress")) {

(replacing line 39 and adding lines 40-42 below that)

edit: also replace the require line:
// @require
the older require stopped working, because the script was deleted from greasyfork.

Complete code to replace the whole script
// ==UserScript==
// @name         BunPro: JLPT Percentage
// @namespace
// @version      0.2.7
// @description  Adds percentages to the progress bars.
// @author       Kumirei
// @include*
// @include*
// @include*
// @include*
// @require
// require(deleted)
// @grant        none
// ==/UserScript==

(function() {
	$('head').append('<style id="BunProPercentageScript">' +
					 '    .profile-jlpt-level .progress .percentage {' +
					 '        position: absolute; '+
					 '        left: 50%;' +
					 '        line-height: 15px;' +
					 '        transform: translate(-50%,0);' +
					 '        text-shadow: 1px 0px black;' +
					 '    }' +
	waitForKeyElements('.profile-jlpt-level .progress-bar', function(e) {
		var percentage = String(Math.round(e.attr('aria-valuenow')*10)/10) + "%";
		$(e[0].parentNode).append('<span class="percentage">' + percentage + '</span>');

	waitForKeyElements('.profile-jlpt-level', function(e) {
		if (!$('').length) {
			var bar = $('.profile-jlpt-level')[0].cloneNode(true);
			bar.className += ' total';
			bar.childNodes[1].innerText = "Total";
			var barelem = $(bar).find('.progress-bar');
			var total = 0;
			var learned = 0;
			$('.progress-count').each(function(i, e) {
                if (e.childNodes[0].textContent.includes("Level Progress")) {
                //if (e.childNodes[0].textContent.startsWith("\n")) {
				var counts = e.childNodes[0].textContent.split("/");
				total += Number(counts[1].trim());
				learned += Number(counts[0]);
			barelem.attr('aria-valuenow', learned/total*100);
			barelem.attr('style', 'width: ' + learned/total*100 + '%;');
			$(bar).find('.progress-count')[0].innerText = String(learned) + '/' + String(total);
			var lastbar = $('.profile-jlpt-level');
To update the script with Tampermonkey, go to the Bunpro dashboard, click Tampermonkey, then the arrow on the right -> Edit

The error was probably due to an update to the site, which may also invalidate this fix at some point.


I’ve installed the Anki mode script. How do you get it to work?

I just have created that, this see quickly if I have to make more lessons (in this case is obvious that yes)

I also created some similar distribution as wanikani, but the naming that I have used I have the feeling that is not correct in the bunpro context.

bunpro have 12 levels, I grouped in this way
Level 1-4 Apprentice
Level 5-7 Guru
Level 7-9 Master
Level 10-11 Elightened
Level 12 Burned

And I tried to follow bunpro style, to be less intrusive as possible.

I will publish the script as soon as possible.


I think it’s inactive since a few BP updates ago and Kumi is not actively working on these anymore.

@xgc1986, nice! We are in need of a dashboard stat that is not hidden in profile (which I only check periodically).

How hard would it be to track ghosts as well? Right now there isn’t anything at all and I think it would be extremely helpful to manage lessons/reviews. Nonetheless, look forward to using this one!


1 Like

Anki mode is one of the few that are not mine!

1 Like

I assumed you made all scripts here! Tagging @ezhmd then, looks like they haven’t been active in almost a year but there is always hope since Kumi just stopped by.

1 Like

Yes, 7-9 is Master, I fixed. I don’t know if the numbers are correct, it was a random decision. ANd abouth the ghost, it is easy to get, but I still don’t know what ghosts are, once I understand it, but first I will add the script to be installed at least with tampermonkey

1 Like