[Userscript] Reorder Buttons

Yeah, I’m seeing the exact same thing. I was wondering whether WK now pushes the wrong item back to a different position in the list, which then somehow messes up the list? I don’t know.

But I must say I quite like it that the wrong items are pushed back instead of being presented again immediately. This way I can double-check better whether I really remembered them.


They do. I had to update Omega’s 1x1 feature to reflect this. Although I am just realizing that I forgot to update my standalone 1x1 script!

Soon I will be adding this as a feature to my implementation of 1x1 (in Omega and the standalone script), so if @sonarius wants they could just copy my 1x1 code to add that feature in this script, too. That would remove this script’s 1x1 implementation’s dependency on breaking Math.random()

My idea is to have a setting to only show the next question right away if you answer a question correctly. If you answer it incorrectly it goes back into the queue


This is amazing help! Thank you so much :heart:

I haven’t looked at the implementation quite yet, but would it be possible to isolate 1x1 as a standalone plugin people can install and manage independently instead of it living in every script that needs to implement the feature? I have similar plans for the SRS counter portion of this plugin as well (haven’t gotten around to splitting it off yet cause new job :sweat_smile:).

Also, really big question: how do you learn about all this? :eyes: I’m not familiar with dev docs for WK’s “local JS API” (or whatever it might be called). As evidenced by my Math.random-breaking implementation I copied over from other plugins, I really don’t know how to self-help very well when it comes to WK behavior.

Just to be sure about this, are you requesting a specific sorting case be added that lets wrong items fall way behind in the queue, or is this more of a personal anecdote about realizing you prefer doing reviews without 1x1 mode enabled?

I already have my implementation as a standalone script! I also have implemented in Reorder Omega just because I wanted to include some extra scripts in Omega that I personally find really helpful

I actually have a standalone script for this, too, although not an exact copy since I wanted it a bit sleeker

If you mean WK’s changes then it’s sadly primarily through bug reports in my other scripts (this time in Reorder Omega) and digging around in WK’s code in the DevTools. Otherwise I’ve just been learning stuff as I go over the least few years. Pretty much everything I know about programming has been learned through trying to fix things right here on Wanikani and looking up docs or googling.

That’s two different things, isn’t it? 1x1 means I get reading and meaning one after the other. That’s perfect - I definitely want that.
But what I was describing is that with the changes in WK I don’t get the same item again immediately after I made a mistake; instead it takes a while for it to come back to be reviewed by me. (But only the wrong part, which feels a bit strange in the process but it’s much better than being forced to review the other half as well.) The latter feels more helpful when it comes to solidifying corrected mistakes.

As a first step, I was just noticing and mentioning, not really requesting. But I wouldn’t mind if the behavior was like that - i.e. vanilla WK wrong item pushback or something. I don’t think you’d need to implement something for this - it just works out of the box. If you could fix the list reversal issue that Kumirei mentioned, then the script would be fully functional again for me :blush:


Sweet! I’ll test their integration with this script (after fixing things) and see if/how the user-experience changes. If it’s indistinguishable, would you want to consolidate? I could remove the features from this script and point users to your implementations.

Dang, this is really troublesome :weary: it’s great that many people get to use user scripts to learn to program, but it’d be really nice having some consistency in knowledge sharing or documentation for WK behaviors. Do you know if there’s a Discord or even a WK thread for user scripts developers to consolidate that kinda knowledge?

1 Like

Sounds good to me! Although it’s understandable if my take on the SRS counts is not to your liking

I don’t think there is any, but that would be great, actually

1 Like

@sonarius @NicoleIsEnough You may be interested to know that I have added three behavior settings to my implementation (in both the standalone script as well as in Omega) of 1x1


Although only one “correctly” appears to be correct (ly) :stuck_out_tongue_winking_eye:

Other than that, that’s a great feature, thanks a lot!


Just sat down tonight to work on the bug fix for this userscript. Tested with Back 2 Back after I implemented the fix (thanks again for your input on that btw!), and it seems to work pretty much just fine. I’ve got it working by just disabling 1x1 setting on Reorder Buttons and trying a few review items. The Meaning/Reading ordering is still being enforced by Reorder Buttons, but I’ll test more tomorrow if it’s the same behavior if I let that be determined by Back 2 Back instead.

Things looking good so far for consolidating that specific feature :grin: I haven’t looked at the codebase for your SRS counts yet, but the UI for it looks fine by me. I’d figure users might prefer the more WK-fied look of the one currently in use by Reorder Buttons, but if the functionality is the same, I think it’d be worth consolidating into one single userscript with a display-settings panel to pick between both display styles. Is there any functionality that might not be obvious? (e.g., I was considering adding bolding/under-lining to the counter matching the SRS level of the current item being reviewed)

I’m sincerely not the greatest community manager or anything, but I sincerely feel something like this should exist – so I made a server we can start adding things into. I’m okay with having it be public with roles to distinguish community members from userscript authors, so I’ll leave this invite link here meanwhile: Discord
Ping me on any channel (Sonarius#1337) and I’ll assign you the author role :smile: feel free to share with other WK userscript authors that you feel should be in there as well!

I’ll be releasing a bug fix for this tomorrow along with an announcement post for future feature changes (removing 1x1 mode support in favor of Kumirei’s Back 2 Back script, and migrating the SRS counter into a standalone plugin). Don’t want ya thinking I just ditched things either :eyes:


Quick patch release: version 3.2.3! This fix addresses one thing specifically:


  • fix reversed ordering of items after clearing 10 review items
    • this issue basically would’ve manifested as sorting your reviews, but then eventually items from the opposite SRS level you’d expect coming up
    • this issue is completely unrelated to the breaking of 1x1 mode (more on this below)

:exclamation: to update to the latest version, please either update using your userscript engine’s built-in update functionality, or try clicking here to install the latest version :exclamation:

Important news and future updates:

  • 1x1 Mode is currently broken due to changes in how WK handles shuffling review items and will be removed in future updates to this userscript!
    • honestly, this is kinda expected given the feature was implemented as a hack that I carried over from the original version of this userscript
    • users that want a proper, compatible, well-supported implementation of this functionality: please migrate to Kumirei’s Back2Back userscript
  • the SRS counter feature will also be removed in future updates as well as it isn’t critical to the core of this userscript (the main thing’s sorting, really :sweat_smile:)
    • this feature will be moved into a new userscript that will live standalone so users wanting just that feature can install it without any other clutter

Hopefully as this script gets more specific and small, it’ll be easier to keep it up to date without having to skimp on my day to day to make time for it. Honestly, big thank you to @Kumirei for helping make this the easiest and fastest bug fix I’ve ever put together! :pray:


Just FYI (I don’t mind if you keep it in this script) this is also a feature of my Back To Back script

That sounds good to me

Not at the moment (at least in my implementation), but I like your idea of bolding!

I’ve updated and also installed Back2Back. It’s largely working, except that I’ve been seeing review sessions today where the first item chosen is random, and then the rest of them match my sort settings. So if I’ve got items from Apprentice 1 through Guru 2, then maybe I’ll see one item from, for example, Apprentice 3 first, then it goes through all the Guru 2 items, Guru 1, Apprentice 4, etc. as expected.

1 Like

I believe it is possible that if the previous first item is still in the active queue (first ten items) after reordering AND either you have the behavior set to “Repeat until correct” or you answered a question correctly right before ordering by SRS, then the first item will remain the first item.

I am happy that you reported it, because I wasn’t sure if it was really going to be an issue. I’ll see if I can add some logic to avoid this

I think it should be simple enough to make sure it works as expected before you answer any review questions, but it’s a bit trickier to make it always work and still allow for scripts to reorder items. @sonarius Does this sound good to you?

1 Like

New minor release!


  • explicity Back2Back compatibility
    • this should prevent ordering errors where items become sticky due to B2B’s conflicting ordering behavior
    • support for this will be long-term and updates to B2B should remain compatible with Reorder Buttons


  • removed the 1x1 mode
    • specifically, this means the settings are deleted and any UI trace has been removed
    • “this isn’t really a feature” – well technically it’s removing a broken mess and making the whole script more focused and bug-free, so it’s a feature to me :heart:

:exclamation: to update to the latest version, please either update using your userscript engine’s built-in update functionality, or try clicking here to install the latest version :exclamation:

Important news and future updates:

  • SRS counters will still remain in this version of Reorder Buttons, though not for much longer
    • a separate userscript has been published providing the same UI functionality as is currently supported by Reorder Buttons, and more
    • the new userscript will be the only source of further development for this feature
    • if SRS counters matter to your experience with Reorder Buttons, please switch to using the new SRS counters userscript and simply disable the SRS counters from Reorder Buttons by checking the “Display” settings panel
    • any users that have Reorder Buttons installed just for the counters can now also delete this script and simply use the lighter, more focused SRS Counters userscript instead

Have a good week, y’all! :pray:


Holiday season again, so I finally had dedicated time to make a new minor release!


  • fix update, download, and bug reporting links
  • remove SRS counters entirely (please use the new SRS counters userscript if you want to continue having that functionality)

:exclamation: to update to the latest version, please either update using your userscript engine’s built-in update functionality, or try clicking here to install the latest version :exclamation:

Happy new year y’all! :grin:

1 Like

hiya, thanks for this script, the reorder buttons have gotten me through some severe review backlogs.

however, with the current update to WK, the script seems to be broken. are you planning an update, or should i switch to another reorder script?

thanks either way!

1 Like

Just logged in today for the first time in the last two or so days – just learned there was an update :sweat_smile:. I have to take in what the update affected, look for release notes, and see what the state of dependencies is at (specifically, WaniKani Open Framework).

Basically, I intend to keep this script around and working as quickly as I can and will communicate if there’s any issues filling that intent. :smile:


awesome, thank you for letting us know! ^^

1 Like

Alrighty, well it’s been nearly a month and I figured I can take a moment to at least leave an update :eyes:

In short, I have a semi-working version of the script, but there’s still quite a bit of work to do.

In all honesty, it’s not that the work takes very long, but this has just been a hell of a month for me, so the amount of focused time I can spend on this has been super limited. I have a free weekend coming up, so I’ll try getting it all wrapped up then. :pray: