Kaniwani Major Update: 1.3.4!

Good idea:



Would there be any way to separate out the srs for answering with the reading / kanji, or let you answer with both at once? (Maybe you could let me have another account? :caught_durtling:) I can never decide which would be more useful to answer in… If I answer with the reading, sometimes I’m thinking of the wrong kanji and vice versa. :thinking:

You are free to create another account with the same API key!

1 Like

I’ve been using kaniwani on android for a number of months. Recently while using it I find the keyboard keeps refusing to automatically open once I advance to a new item. It also constantly disappears while I’m trying to type an answer. I have to keep tapping in the answer box to get it to come back up and it is very slow to appear and is just as like to disappear again before I get my answer in. I never have this issue with anything else it seems, just kaniwani. I’m incredibly frustrated and not very tech savvy, any advice would be appreciated!

I created a userscript that displays an extremely blurred version of the answer in the reviews question to give you a better idea what is expected, like this:

I need to listen to changes in the DOM, and everything has seemingly autogenerated names like div.sc-dliRfk.bsdHG.

Are those class identifiers static and the same for everyone, and does this every change, for example when the CSS is updated?

There are no ids anywhere, so it’s hard to detect changes and add content to the right spots. [If the classes stay the same the script seems to work now.]


Classnames are generated, they’re subject to change so not safe to rely on.

You could look at small discussion here [Userscript] Kaniwani Anki Mode and mempo’s userscript to see how he targets answer info.

Or I could add a few specific ids if needs be.

1 Like

Hi @Codelle sorry for the missed reply. It’s best to contact us through the KW website.
At the time when you posted your comment mentioning “recently while using…”, we hadn’t/haven’t changed anything for a few months. Are you still experiencing problems?

The keyboard will disappear after your answer is marked correct/incorrect so you can interact with the info panel, add synonyms etc. It shouldn’t open/close while you’re typing though, that doesn’t sound good.

If you send a message through kaniwani.com/contact we can continue via email.

Thanks, I added the functionalty to the lessons and started seeing some problems, I will get the elements by position. Is there some easier way to get the content of the current question, like looking at $.jStorage in WK?

The page is also not playing so nicely with Tampermonkey, it doesn’t really detect page transitions, for example if you go Dashboard > Reviews by buttons the script is not loaded although the URL matches, it seems like the page transitions are done in a special way? If you reload on the reviews page the script is loaded as expected. [I’m using the script on any KW page now to avoid the problem.]

(Also, the classnames change depending on the same pattern (names I use for reviews work for lessons only after reload), I don’t really know what is going on there.)

No easier way than getting the innerText via node position (or getElementById if I add some).
KW isn’t really set up for third-party manipulation.

Not sure how Tampermonkey determines page changes, if it’s hooking into page loads technically there’s only one when you enter the app - then routing is handled internally. window.location and browser history are updated on page changes though. You can just run across the kw domain like you are and check at the start of your script.

if (/lessons|reviews\/session$/.test(window.location.href)) { 
  /* do your stuff */ 

Hmm, actually you might have to listen to https://developer.mozilla.org/en-US/docs/Web/Events/hashchange and/or https://developer.mozilla.org/en-US/docs/Web/Events/popstate
I would have thought tampermonkey has something available for you to use instead though - maybe check their docs about working with single page apps?

Ignore the classnames, they won’t help you :upside_down_face:
If you’re simply curious you can read medium.com/styled-components/how-styled-components-works-618a69970421

1 Like

Thanks for the details! I got it to work and it seems to do the right thing. I just load on all pages now and check the URL. Maybe there is another way, but it works anyway :slight_smile:

It is also tricky to detect that a new question is visible, I use a MutationObserver, and having no identifiers makes it a bit challenging because the changes depend on the content as well. I don’t know how KW works exactly, maybe there is some simple event to listen to instead?

I’ll just add some data-attributes to make life easier for you and mempo.

1 Like

@acm2010 @Mempo

I’ve peppered in some data-attrs with the latest settings update.
data-ruby will appear for any words with furigana on top, which should only be in the answer area on quiz pages but best to limit to the data-answer wrapper anyway (and you can mutation observe that or the question).

var primaryQ = document.querySelector('[data-question-primary]').innerText;
var secondaryQ = document.querySelector('[data-question-secondary]').innerText;
var answers = [...document.querySelectorAll('[data-answer] [data-ruby]')].map(node => node.dataset.ruby.split(' '));

  "primaryQ": "To Meet",
  "secondaryQ": "To Encounter, To Meet Up With",
  "answers": [

Hmm, this probably doesn’t include user-added answer synonyms.
Do you need access to those?
(WK meaning synonyms are already in the secondary question text).


Is there any method to skip lessons in KaniWani in it’s entirety? I go through the lessons in WK and would like to use KW just to do reviews EN>JP. I’m only level 6 on WK but I have 300+ lessons on KW I have to plow through before I can review them. I haven’t seen anything like this in the settings, but would sure save a lot of time.

Even if lessons were removed, you would still have to wait 4h for the first SRS interval, so you wouldn’t be saving time. Lessons on KW work pretty much like the Quiz on WK.

1 Like

It still feels like I have to ‘unlock’ everything. To me it doesn’t matter in what order I get my reviews, as long as I get everything I’ve had appear on WK so far.

I understand this isn’t a big deal, and I will just go through the lessons nonetheless. But I’d still prefer to not have to.

Before the last KW update, you could only unlock items by level. Which means that the moment you’d learn them on WK, 12h later they’d be on your reviews on KW. But this was dangerous, because you had no control, so they would just pile up and become unbearable. Also, if you had skipped a level, the only way to do those items was to unlock an entire level, which means that you’d get 100+ vocab right away. It was a mess to deal with all that.

I agree that lessons on KW do feel a little weird, mainly since you jump right to the Quiz… but they’re there to prevent the above issues I mentioned :slight_smile:

Not necessarily. You could (and still can, I believe) choose to only review items on KW that have reached a certain SRS level on WK. For example, you can choose to only review items on KW that you have burned on WK. I had mine set to Enlightened items only, previously, and that was great for me. So I still prefer not having to do lessons on KW, personally. I’d rather the reviews pop up once the items on WK have reached my preferred SRS level. :woman_shrugging:

1 Like

Yeah, good point. I was just talking about the default settings xD



This question probably gets asked a lot, but I haven’t really been able to find it, so I’ll just try it this way.
I just started using KaniWani, and I’m already at level 29. However, KaniWani starts at that level with lessons. I really want to improve my vocabulary starting at level 1, but this does not really seem to be an option. Will I ever get my lessons from level 28 or lower in KaniWani? Or is this impossible?

EDIT: I found it! It’s under Vocabulary.

Another small question, what are the small subway like sections in the info section of vocabulary?

Heya, I’m not a KW expert, but might be able to help.

Is the issue that you want to start at level 1 and work your way up? You can manually lock all of the later levels by going to ‘Vocabulary’ in the top-right and clicking on the lock symbols.

Given that you’re so advanced in WK, you might also want to consider setting up KW to unlock items only as you burn them in WK. That will probably give you a more reasonable number to start with, and you won’t have to control the pace of new additions manually.

Edit: oh drat, you just found it :joy:

Do you mean the pink and blue lines? They give you information on the pitch accent of the word.

1 Like