I found that one; would try, if I had any lessons haha. Would have hoped to find a script that allows proper reorder, but also keeps it as vanilla as possible, but I guess I can work with using Lesson Filter in Lessons and Reorder Ultimate in Reviews.
Sadly, I donât think such a script exists yet. If you want your reviews reordered, you probably have to keep using Reorder Ultimate 2. To prevent Reorder Ultimate 2 from meddling with the lesson order, you will have to add https://www.wanikani.com/lesson/session to its exclude-list. If you are using Tampermonkey, you can do this by opening the Tampermonkey script editor, switching to the âSettingsâ tab, and adding the lesson URL to the âUser excludesâ list.
Doesnât Reorder Ultimate 2 keep separate settings for Lessons? I was thinking you could just turn it off that way. If not, I suppose I must have modified my copy of the script long ago to not run on the lessons page, because I know mine isnât sorting Lessons.
I just installed Reorder Ultimate 2 and tried disabling the reordering on the lesson screen, but didnât find a setting that does not change the order at all. Maybe I just didnât search long enough.
There are times when I open the review session and they appear normally, but other times it will start like this, empty, and I canât filter out the levels I donât want in the reviews D:
Iâve already checked and the userscript is properly updated and while I took this print this was the only script enabled on tampermonkey and running. Do you guys know if there anything more that could be done to fix this?
Additionaly, there seem to be some errors on Chromeâs console:
The first thing I noticed is that your scales (on the left and right) arenât tipped to select sorting priority. If Reorder was working for you previously, I would guess your settings have been reset or corrupted, so you will need to reselect some settings.
Second, those errors indicate that the browser is pulling invalid item data from $.jStorage, which may mean that something is being corrupted outside of the script.
Anyway, I would recommend clearing cache, reload the page, then reselect your settings.
@rfindley sorry for the trouble. There was a change the to subject objects delivered in the payload which broke the script.
Namely there is a change to the rad property. In the past we would either assign the radicalâs character or the radicalâs image filename as the value. We have introduced a new property called character_image_url where the value is the full url to the image. This led to reducing the rad role of only having the character as the value. If the character is not present, then it is null. So the expectation that rad value is always truthy is no longer thereâŠ
Scanning the scripts code there is a lot of logic which checks the truthiness of radâs value. Given the change we made on our end, it broke the script.
The solution to this is to replace any truthy checks by checking the existence of the rad key. I recommend using Object.prototype.hasOwnProperty.call(object, property). Using an example, if one had a if (item.rad) {...}, itâll need to be replaced with if (Object.prototype.hasOwnProperty.call(item, 'rad')) {...}.
Thanks for the investigation! I am only partly familiar with this scriptâs code (xMunch was the author, and I did a minimal adaptation for APIv2), so your insights will save a ton of time. Iâll go ahead and patch the code.
Iâd like to add that this change also broke my Lesson Filter script. Iâve mentioned this before, but I think adding a formal way to manipulate the lesson/review queue would be very beneficial here. As Iâm sure you know, scripts that filter or reorder the lesson/review queues are very popular, but they are currently manipulating internal details which are bound to change as they did here. It would be nice if in the long run the lesson and review pages included hooks in the JavaScript workflow for initializing the queue or picking the next item off of the queue, etc., which could make scripts like this easier to build and less likely to break.
I know script users are a relatively small fraction of the entire community, but a not insignificant number of users rely on my Lesson Filter script (itâs been downloaded about 3000 times for what thatâs worth). For some of these users, itâs the only reason they havenât quit WaniKani entirely. I want to share the two main use cases (as far as I know) in case it helps. Maybe something here will impact the long term roadmap of the product.
The first usage is probably the one youâre most familiar with: prioritizing lessons for radicals and kanji to increase level up speed, then doing the vocab while waiting until the radicals and kanji reach guru. This helps users go at max speed with a more balanced workload since they can do lessons over many days instead of all at once.
The second usage is to create a more balanced learning experience. I know that many (myself included) use Lesson Filter to do a mix of kanji and vocab lessons each day. For some people, using the default lesson order setting (lowest level then type) can be incredibly painful. I always found it much harder to learn kanji than vocab, so doing 30 kanji lessons in a row before learning any vocab would have been an absolutely nightmare for me. But the other options in the settings are not ideal alternatives since the randomization can result in slower level up times for no good reason. Thatâs why these users like using Lesson Filter: They can level up at a steady pace while still learning a mix of kanji and vocab together. Increased efficiency and lower stress. I think it would be great if a feature like Lesson Filter was included in WaniKani by default, even if it worked slightly differently to not overwhelm beginners.
I do appreciate you taking the time writing out your request and outlining the reasons why offering additional ordering options is beneficial to the user.
I have logged the request in our feature request tool so the appropriate eyes can review it. It is the best I can do for you at the moment.
@seanblue,
For whatever itâs worth, I also outlined an off-the-cuff Review API idea to WanikaniJavi a few days ago as an aside in a direct message related to Double-Check. The example API (which was just a general example to convey the notion) covers much of what you mentioned: Getting and setting the review queue, decoupling UI state from âsubmitâ actions, decoupling of answer checking from answer submittal, a function to get the current question info from the review queue, a function to advance the queue index, etc.
Anyway, Iâm not pushing for anything⊠The discussion was just about why Iâm not fond of Double-Check internally. Itâs too invasive into the WK UI code (out of necessity), which makes it susceptible to easy breakage. So I sketched up a âwould be nice somedayâ idea⊠sort of âfood for thoughtâ.
Right, same here. Iâve been finished with WaniKani for quite a while and donât plan to do it over at any point, so I donât really have a stake in this. I can only point to my experience using the platform and building scripts for the platform to provide a few suggestions.
maybe Iâm dumb but can someone please tell me how to make a lesson âvocabulary onlyâ? Iâve been trying for a few minutes and I still get a kanji in my lesson queue.
I had âWanikani Lesson Ordering IIâ until the recent web update broke it and there was simply a button for Vocab (or another button for Kanji+Radicals)