Updates to Lessons, Reviews, and Extra Study

Not at the moment sorry. I am guessing the lag is related to the latency of your own network connection as the server response times are around 200ms. I can’'t be sure of what your exact problem is though as I don’t have much information from you. If you want to debug this further let’s do it through the correct channels (i.e send an email to support with as much detail as possible - network tab screenshots, exports, browser, os, geo location, internet speed). That way we can take a deeper look and not cloud this post with that debugging. As I will be the one responding to your support request, it will be done during the working week also (just to make sure expectations set appropriately).

1 Like

Of course. I plan to for my scripts.

I know you’re busy with the rollout, and user scripts aren’t your responsibility (nor should they be a priority). But I’m wondering if a bunch of scripts I don’t use, but others do, are about to stop working. I suspect not every script author monitors these announcements (they should).

My question was only if this behavior difference was due to an intentional change in the code, or if it is a simply a difference between preview and production environments.

Let me reword the question:

Will the URL (route) https://www.wanikani.com ever display anything other than the dashboard (for a logged-in user)?

It would be good to be as explicit as possible, so that tampermonkey only injects code when appropriate. The old /dashboard route was clearly unique and identifying, but I’m unsure about the root address.

1 Like

I don’t think we can rely on TamperMonkey’s @include and @match anymore, going forward. Although the dashboard is still standalone for now, most of the other pages have been migrated to a single-page app, which means if you start on one page (which TamperMonkey will initially match correctly) and then navigate to another page, it’s not actually loading a new page from the browser’s perspective, and thus TamperMonkey’s perspective, so the scripts launched on the prior page won’t stop running and the scripts on the new page won’t start running.

We’ll have to start doing:

// @match https://www.wanikani.com/*

and monitor Turbo’s page-load events to determine when to call some startup() and shutdown() functions in our scripts.

4 Likes

It would be the best birthday present If you really fixed the disappearing keyboard on mobile devices :o

1 Like

I don’t have reviews anymore to confirm, but that’s supposedly addressed:

1 Like

Overwriting browser behaviors is not fun.

I’m gonna miss the F + Space combo

I thought the same after doing the quick F + space + rtn combo dozens of times daily for years.

But it’s only taken a day or three to get F + E + rtn into muscle memory, instead (with an optional space if I need to scroll).

@Sinyaven I am getting errors when navigating from a turbo page to reviews (script version 0.8, wkQueue version 0.7)

image

1 Like

I cannot reproduce the error – can you provide more information on how you are using Queue Manipulator, or maybe provide a version of your script that I can use for testing?

EDIT: Or maybe I already see the problem. I have to do some testing. Are you listening to the Turbo page change yourself and call wkQueue in the event listener callback?

EDIT: If the problem was what I think it was, this should be fixed now. However, I’m curious to know why your script needs to listen to the Turbo page changes. I expected that userscripts would register filters at script start, or when the user changes a setting, but not that a userscript would also listen to Turbo page changes and try to access wkQueue during the phase where the URL is already set to the review page, but the document body is still the old page.

1 Like

Ah, you’re right. I was foolishly setting the subject order and question order on Turbo events. Not intentional!

1 Like

Do you have a dedicated topic for this? I can’t find one. For now I’ll post issues here.

This doesn’t work quite correctly, in that it seems to give random lessons instead of following the WaniKani lesson order based on user settings. (Though see my below question/comment to Scott.)

Also, I asked earlier if subsequent lesson batches remember a specific change via your script and now that I’ve tested a bit it seems like the answer is no. I set the batch size to 1, did the quiz, and clicked to do more lessons. But then the batch size changed back to my setting of 4 instead of staying at 1.

I’m looking at the assignments endpoint now, but I’m not sure it meets my use case. While it does provide all of the assignments available for lessons, it seems to be ordered by unlock or created date. However, I think it’s important to maintain the lesson order specified by the user settings. Is there an API endpoint that can provide the lessons in the exact order that would be used on the lesson page? Since currently (in production) all the lessons are added to jStorage in the correct order, I can just filter that queue directly while honoring the user setting. I’d love to be able to continue honoring this (just using API data now) without having to basically reimplement the lesson ordering from scratch myself. Is that possible? I don’t see a lessons endpoint or anything else that obviously allows this, but I don’t have much experience with the API.

3 Likes

I wanted to create a topic as soon as I find the time to do it. Sadly, I’m far behind schedule with updating all my scripts, which I want to prioritize for now.

I don’t know of any way to retrieve the lesson queue in the order the Crabigator intended, so they are just in the order returned by the summary endpoint.

That was a bug – I wanted to not interfere with the default behavior if no queue manipulations are registered, but I also need to check if lessonBatchSize is set. This should be fixed in version 0.11.

2 Likes

Yeah that’s my worry… It seems like the assignments endpoint (the one Scott recommended) might be better, but still doesn’t support that as far as I can tell.

Thanks!

Do you plan on updating this to be referenceable from other scripts? (I don’t know the right term, but the thing Kumi asked about several days back.) I’m not sure it’s feasible for me to get all the users of my script to install this script manually in order for Lesson Filter to keep working, but if I can just reference this one it should “just work”.

2 Likes

It should work if you just add

@require  https://greasyfork.org/scripts/462049-wanikani-queue-manipulator/code/WaniKani%20Queue%20Manipulator.user.js?version=1166399
2 Likes

Will there be any conflicts if my scripts pulls in a copy while the user also has a direct copy in their script manager?

That should not be a problem. The only situation that might lead to problems for now is if script A @requires an outdated version of Queue Manipulator, registers a manipulation, and after that, Tampermonkey injects script B which @requires a newer version of Queue Manipulator. In that case, the older and the newer version of Queue Manipulator will run simultaneously, and this will probably lead to one version replacing the ordering results of the other version. I intend to address this issue in the future, but for now I just hope that every script author will keep their @require up to date.

3 Likes

I love the new mobile-specific layout changes since I only use the website on mobile, but I noticed a new annoying behavior or bug. When tapping on the text field during reviews to bring up the keyboard, it auto scrolls down slightly, obscuring the info at the top (review count, accuracy, home button). Previously it wouldn’t scroll when tapped. I’m using Safari in iOS 16.3.1 on an iPhone 12 mini.

Let me know if I should submit a bug report for this, but since it’s not yet in production, I figured I’d mention it here.

Below screenshots are before and after tapping on the text field.


3 Likes

Agree, it is really annoying. In my case it scrolls down so much that the item under review is not visible at all. :persevere:

Also, I believe the summary page after a review session should remain. It gives in one glimpse many info on your progress and glitches. Feels like an incomplete, half finished session without the summary. :frowning:

3 Likes

I so hope that update is soon. This has become taxing on the eyes and I know it was stated elsewhere that you made other changes considering vision impaired, so I don’t understand the logic of keeping the text as it is. These text differences are a very annoying change that make the usability of the site unpleasant.

1 Like