[Userscript] WaniKani Reviews Plus

So, I ticked the box for “show on single” as well now and testet every script one by one and I got now idea what I did differently today but by the end everything was working fine. ^^
At first I only got shown the synonymes on the wrong answers and three seperate scripts eliminated even that. When I activated the self-study script suddenly everything was working fine and when I tested those three, where nothing got shown, again at the end, everything was still working.
I know I need to wait a bit for the font-randomizer-script to get activated, so maybe i need to wait a bit longer before typing in the first answer? I’ll test that theory again for my next reviews. Sorry for giving you all this trouble. >.<

I’m seeing a couple of errors in the logs:

Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "querySelectorAll", levelDetails is undefined
    setup WaniKani Reviews Plus.user.js:35892
    nrWrapper quiz:7
    promise callback*Xe/i.prototype.then quiz:7
    nextTick WaniKani Reviews Plus.user.js:8135
    setup WaniKani Reviews Plus.user.js:35876
    wrapper quiz line 7 > injectedScript:235
    nrWrapper quiz:7
    setTimeout handler*nrWrapper quiz:7
    wrapper quiz line 7 > injectedScript:235
    nrWrapper quiz:7
    e quiz:7
    wrapper quiz line 7 > injectedScript:233
    nrWrapper quiz:7
    o turbo.es2017-esm.js:350
    notifyApplicationAfterPageLoad turbo.es2017-esm.js:6128
    pageBecameInteractive turbo.es2017-esm.js:6019
    pageIsInteractive turbo.es2017-esm.js:5005
    pageIsComplete turbo.es2017-esm.js:5010
    interpretReadyState turbo.es2017-esm.js:4998
    nrWrapper quiz:7
    nrWrapper quiz:7
    start turbo.es2017-esm.js:4979
    start turbo.es2017-esm.js:5759
    Rt turbo.es2017-esm.js:6235
    <anonymous> turbo.es2017-esm.js:7259

and:

TypeError: can't access property 0, unref(...).itemDetails is undefined
    setup moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:17361
    renderComponentRoot moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:11886
    componentUpdateFn moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:10989
    run moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6593
    runIfDirty moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6626
    callWithErrorHandling moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8065
    flushJobs moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8236
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    queueFlush moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8168
    queueJob moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8163
    scheduler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:11025
    trigger moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6616
    endBatch moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6674
    notify moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6884
    trigger moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:6871
    set value moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:7662
    set moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:7258
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36000
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    set_answer_state moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:534
    new_submit_handler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:710
    invokeWithEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    object https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    handleKeyDown https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:73
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    connect https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:31
    connect https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectContextForScope https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    loadDefinition https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    register https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    registerController https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:81
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    <anonymous> https://assets.wanikani.com/assets/controllers/index-b8fd7cd7.js:7
quiz:7:13938
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property 0, reviewsStore.itemDetails is undefined
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36007
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nextTick moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8135
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36003
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    set_answer_state moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:534
    new_submit_handler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:710
    invokeWithEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    object https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    handleKeyDown https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:73
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    connect https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:31
    connect https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectContextForScope https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    loadDefinition https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    register https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    registerController https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:81
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    <anonymous> https://assets.wanikani.com/assets/controllers/index-b8fd7cd7.js:7
quiz:36007:23
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property 0, reviewsStore.itemDetails is null
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36007
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nextTick moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8135
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36003
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    submitAnswer https://assets.wanikani.com/assets/controllers/quiz_queue/queue-705b4e32.js:65
    submitAnswer https://assets.wanikani.com/assets/controllers/quiz_queue_controller-2eb58fb7.js:37
    new_submit_handler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:741
    invokeWithEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    object https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    handleKeyDown https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:73
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    connect https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:31
    connect https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectContextForScope https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    loadDefinition https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    register https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    registerController https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:81
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    <anonymous> https://assets.wanikani.com/assets/controllers/index-b8fd7cd7.js:7
quiz:36007:23
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "setAttribute", levelDetails is undefined
    handleWillShowNextQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36043
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nextTick moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8135
    handleWillShowNextQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36038
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nextItem https://assets.wanikani.com/assets/controllers/quiz_queue/queue-705b4e32.js:57
    nextItem https://assets.wanikani.com/assets/controllers/quiz_queue_controller-2eb58fb7.js:33
    next_item moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:757
    new_submit_handler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:753
    invokeWithEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    object https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    handleKeyDown https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:73
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    connect https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:31
    connect https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectContextForScope https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    loadDefinition https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    register https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    registerController https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:81
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    <anonymous> https://assets.wanikani.com/assets/controllers/index-b8fd7cd7.js:7
quiz:36043:11
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "querySelectorAll", levelDetails is undefined
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36011
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nextTick moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:8135
    handleDidAnswerQuestion moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ WaniKani Reviews Plus.user.js#25:36003
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    set_answer_state moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:534
    new_submit_handler moz-extension://c9af8abf-6862-4695-acbd-5f730c58b9c2/ Wanikani Double-Check.user.js#9:710
    invokeWithEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    handleEvent https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    object https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    handleKeyDown https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:73
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    connect https://assets.wanikani.com/assets/controllers/quiz_input_controller-2adf5ebc.js:31
    connect https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectContextForScope https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    connectModule https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    loadDefinition https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    load https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    register https://assets.wanikani.com/assets/stimulus.min-4b1e420e.js:4
    registerController https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:81
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    nrWrapper https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    promise callback*Xe/i.prototype.then https://www.wanikani.com/recent-mistakes/-166921437031231334/quiz:7
    registerControllerFromPath https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:25
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    eagerLoadControllersFrom https://assets.wanikani.com/assets/stimulus-loading-1fc53fe7.js:9
    <anonymous> https://assets.wanikani.com/assets/controllers/index-b8fd7cd7.js:7

Hmmm. Sounds likes its not finding the SRS indicator.
A quick peak at WaniKani’s settings page, it seems that piece is optional.

If you go to https://www.wanikani.com/settings/app , there’s an option for “SRS update indicator during reviews”. Is that set to ‘no’ by chance?

It is and was on:

I’m using Firefox/Violentmonkey if that matters

Well, its never the simple solution is it.

Any other scripts running on the rewards reviews page? Could be interference with another script?

I’ll keep poking around at it.

“Rewards page”?

Those is is my complete list of UserScripts:

Wanikani Open Framework
Wanikani Double-Check
ConfusionGuesser
Wanikani Heatmap
Wanikani Review SRS/Level Indicator
Wanikani Niai Similar Kanji
WaniKani Stroke Order
WaniKani Media Context Sentences
Advanced Context Sentence 2
WaniKani User Synonyms++
WaniKani Multiple Answer Input (2023)
Wanikani Levels Overview Plus
WaniKani Markdown
WaniKani Markdown Notes
WaniKani Reviews Plus
Wanikani Self-Study Quiz
WaniKani Item Difficulty
WaniKani Item Info
WaniKani Show Specific SRS 2
WK Vocab Breakdown
Wanikani Wrap-up Button Enhancement
Wanikani Open Framework JLPT, Joyo, and Frequency filters
WaniKani Dashboard Level Progress Detail

Right now, when doing reviews I get this error:


TypeError: can't access property 0, unref(...).itemDetails is undefined
    setup WaniKani Reviews Plus.user.js:17362
    renderComponentRoot WaniKani Reviews Plus.user.js:11886
    componentUpdateFn WaniKani Reviews Plus.user.js:10989
    run WaniKani Reviews Plus.user.js:6593
    runIfDirty WaniKani Reviews Plus.user.js:6626
    callWithErrorHandling WaniKani Reviews Plus.user.js:8065
    flushJobs WaniKani Reviews Plus.user.js:8236
    nrWrapper (index):7
    promise callback*Ye/i.prototype.then (index):7
    queueFlush WaniKani Reviews Plus.user.js:8168
    queueJob WaniKani Reviews Plus.user.js:8163
    scheduler WaniKani Reviews Plus.user.js:11025
    trigger WaniKani Reviews Plus.user.js:6616
    endBatch WaniKani Reviews Plus.user.js:6674
    notify WaniKani Reviews Plus.user.js:6884
    trigger WaniKani Reviews Plus.user.js:6871
    set value WaniKani Reviews Plus.user.js:7662
    set WaniKani Reviews Plus.user.js:7258
    handleDidAnswerQuestion WaniKani Reviews Plus.user.js:36000
    nrWrapper (index):7
    set_answer_state Wanikani Double-Check.user.js:534
    new_submit_handler Wanikani Double-Check.user.js:710
    invokeWithEvent stimulus.min-4b1e420e.js:4
    handleEvent stimulus.min-4b1e420e.js:4
    handleEvent stimulus.min-4b1e420e.js:4
    object (index):7
    nrWrapper (index):7
    handleKeyDown quiz_input_controller-2adf5ebc.js:73
    nrWrapper (index):7
    nrWrapper (index):7
    connect quiz_input_controller-2adf5ebc.js:31
    connect stimulus.min-4b1e420e.js:4
    connectContextForScope stimulus.min-4b1e420e.js:4
    scopeConnected stimulus.min-4b1e420e.js:4
    elementMatchedValue stimulus.min-4b1e420e.js:4
    tokenMatched stimulus.min-4b1e420e.js:4
    tokenMatched stimulus.min-4b1e420e.js:4
    tokensMatched stimulus.min-4b1e420e.js:4
    tokensMatched stimulus.min-4b1e420e.js:4
    elementMatchedAttribute stimulus.min-4b1e420e.js:4
    elementMatched stimulus.min-4b1e420e.js:4
    addElement stimulus.min-4b1e420e.js:4
    processTree stimulus.min-4b1e420e.js:4
    processAddedNodes stimulus.min-4b1e420e.js:4
    processMutation stimulus.min-4b1e420e.js:4
    processMutations stimulus.min-4b1e420e.js:4
    mutationObserver stimulus.min-4b1e420e.js:4
    nrWrapper (index):7
    setTimeout handler*nrWrapper (index):7
    assignNewBody turbo-page-renderer-5323274b.js:10
    replaceBody turbo.es2017-esm.js:5353
    preservingPermanentElements turbo.es2017-esm.js:1795
    preservingPermanentElements turbo.es2017-esm.js:1896
    replaceBody turbo.es2017-esm.js:5351
    render turbo.es2017-esm.js:5303
    renderSnapshot turbo.es2017-esm.js:1601
    render turbo.es2017-esm.js:1561
www.wanikani.com:7:13938
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property 0, reviewsStore.itemDetails is undefined
    handleDidAnswerQuestion WaniKani Reviews Plus.user.js:36007
    nrWrapper (index):7
    promise callback*Ye/i.prototype.then (index):7
    nextTick WaniKani Reviews Plus.user.js:8135
    handleDidAnswerQuestion WaniKani Reviews Plus.user.js:36003
    nrWrapper (index):7
    set_answer_state Wanikani Double-Check.user.js:534
    new_submit_handler Wanikani Double-Check.user.js:710
    invokeWithEvent stimulus.min-4b1e420e.js:4
    handleEvent stimulus.min-4b1e420e.js:4
    handleEvent stimulus.min-4b1e420e.js:4
    object (index):7
    nrWrapper (index):7
    handleKeyDown quiz_input_controller-2adf5ebc.js:73
    nrWrapper (index):7
    nrWrapper (index):7
    connect quiz_input_controller-2adf5ebc.js:31
    connect stimulus.min-4b1e420e.js:4
    connectContextForScope stimulus.min-4b1e420e.js:4
    scopeConnected stimulus.min-4b1e420e.js:4
    elementMatchedValue stimulus.min-4b1e420e.js:4
    tokenMatched stimulus.min-4b1e420e.js:4
    tokenMatched stimulus.min-4b1e420e.js:4
    tokensMatched stimulus.min-4b1e420e.js:4
    tokensMatched stimulus.min-4b1e420e.js:4
    elementMatchedAttribute stimulus.min-4b1e420e.js:4
    elementMatched stimulus.min-4b1e420e.js:4
    addElement stimulus.min-4b1e420e.js:4
    processTree stimulus.min-4b1e420e.js:4
    processAddedNodes stimulus.min-4b1e420e.js:4
    processMutation stimulus.min-4b1e420e.js:4
    processMutations stimulus.min-4b1e420e.js:4
    mutationObserver stimulus.min-4b1e420e.js:4
    nrWrapper (index):7
    setTimeout handler*nrWrapper (index):7
    assignNewBody turbo-page-renderer-5323274b.js:10
    replaceBody turbo.es2017-esm.js:5353
    preservingPermanentElements turbo.es2017-esm.js:1795
    preservingPermanentElements turbo.es2017-esm.js:1896
    replaceBody turbo.es2017-esm.js:5351
    render turbo.es2017-esm.js:5303
    renderSnapshot turbo.es2017-esm.js:1601
    render turbo.es2017-esm.js:1561
www.wanikani.com:36007:23
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://apiv2.immersionkit.com/index_meta. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 504.

When I hit the reload page (which also fixes some issue where certain scripts don’t load) I see this one:

Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "subject", reviewsStore.currentQuestion is undefined
    setup WaniKani Reviews Plus.user.js:35895
    nrWrapper review:7
    promise callback*Ye/i.prototype.then review:7
    nextTick WaniKani Reviews Plus.user.js:8135
    setup WaniKani Reviews Plus.user.js:35876
    wrapper review line 7 > injectedScript:235
    nrWrapper review:7
    setTimeout handler*nrWrapper review:7
    wrapper review line 7 > injectedScript:235
    nrWrapper review:7
    e review:7
    wrapper review line 7 > injectedScript:233
    nrWrapper review:7
    o turbo.es2017-esm.js:350
    notifyApplicationAfterPageLoad turbo.es2017-esm.js:6128
    pageBecameInteractive turbo.es2017-esm.js:6019
    pageIsInteractive turbo.es2017-esm.js:5005
    pageIsComplete turbo.es2017-esm.js:5010
    interpretReadyState turbo.es2017-esm.js:4998
    nrWrapper review:7
    nrWrapper review:7
    start turbo.es2017-esm.js:4979
    start turbo.es2017-esm.js:5759
    Rt turbo.es2017-esm.js:6235
    <anonymous> turbo.es2017-esm.js:7259

I have ublock disabled on wanikani. Same as Firefox security stuff.

Reviews. Darn autocorrect.

Not sure what most of those are, but judging from some of the names, they may be interacting with the same element this script is looking for. I’ll have to find their greasyfork pages and take a look.
“Wanikani Review SRS/Level Indicator” sounds like the most likely. Though some others maybe too. If you disable the level indicator one, does that change anything?

OK, there were a bunch of scripts running on the “rewards” ( :smiley: ) page but for the debug/troubleshooting purposes I left only ReviewPlus one:

And the same issue:

Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "subject", reviewsStore.currentQuestion is undefined
    setup WaniKani Reviews Plus.user.js:35895
    nrWrapper (index):7
    promise callback*Ye/i.prototype.then (index):7
    nextTick WaniKani Reviews Plus.user.js:8135
    setup WaniKani Reviews Plus.user.js:35876
    wrapper line 7 > injectedScript:235
    nrWrapper (index):7
    setTimeout handler*nrWrapper (index):7
    wrapper line 7 > injectedScript:235
    nrWrapper (index):7
    e (index):7
    wrapper line 7 > injectedScript:233
    nrWrapper (index):7
    o turbo.es2017-esm.js:350
    notifyApplicationAfterPageLoad turbo.es2017-esm.js:6128
    visitCompleted turbo.es2017-esm.js:5989
    visitCompleted turbo.es2017-esm.js:4918
    complete turbo.es2017-esm.js:3938
    loadResponse turbo.es2017-esm.js:4011
    render turbo.es2017-esm.js:4210
    loadResponse turbo.es2017-esm.js:4002
    visitRequestCompleted turbo.es2017-esm.js:4267
    recordResponse turbo.es2017-esm.js:3987
    requestSucceededWithResponse turbo.es2017-esm.js:4110
    receive turbo.es2017-esm.js:924
    perform turbo.es2017-esm.js:901
    issueRequest turbo.es2017-esm.js:3965
    visitStarted turbo.es2017-esm.js:4253
    start turbo.es2017-esm.js:3915
    startVisit turbo.es2017-esm.js:4804
    visitProposedToLocation turbo.es2017-esm.js:4242
    visitProposedToLocation turbo.es2017-esm.js:5970
    proposeVisit turbo.es2017-esm.js:4794
    visit turbo.es2017-esm.js:5809
    followedLinkToLocation turbo.es2017-esm.js:5959
    clickBubbled turbo.es2017-esm.js:1703
    nrWrapper (index):7
    nrWrapper (index):7
    clickCaptured turbo.es2017-esm.js:1692
    nrWrapper (index):7
    nrWrapper (index):7
    start turbo.es2017-esm.js:1678
    start turbo.es2017-esm.js:5763
    Rt turbo.es2017-esm.js:6235
    <anonymous> turbo.es2017-esm.js:7259
www.wanikani.com:35895:41

weird thing is that the FrontChatApp is throwing an error as well…


Anything I could try/check on my end?

How’s it function with the other scripts off, post that first error? Is the “.itemDetails is undefined” gone?

There is an issue I’ve been fighting with (well was, I haven’t had the time to get back at it), where data I’m using doesn’t exist for the actual first question. Tweaks I make to SRS indicator don’t work for the first question, but then work fine for the rest of them. Could be what that ‘CurrentQuestion’ error is about.

Actually you are right - even with all the scripts on it does work on the subsequent cards.

Hello, thanks a lot for the script, it has made my reviewing experience much better :heart: :sparkles: :folded_hands:

I’m wondering if there was a way to add links to each item’s page in the tally?
The reason is: at the end of the review session I analyze my mistakes and try to figure out why they happened. Sometimes I want to change or add to the mnemonic in the hope it sticks better. And at the moment I have to open a separate tab, search the item with the WK search bar etc.

Would it be possible to either link to the item directly (maybe opened in a new tab although we can decide that ourselves too), or at least to the search page like `https://www.wanikani.com/search?query=[item name]

Thanks for the script in any case, super helpful :sunny:

(P.S. I tipped you on kofi, but it’s just for the script as is don’t factor it in my above request)

1 Like

Thanks for the support.
Adding a link to the page should be easy enough. All the data I would need is (I’m pretty sure) already behind the scenes. I can tackle this later tonight. If its as easy as I think it’ll be, it will be a pretty quick update.

Script updated. Tally items now link to the items in question.
I did notice some potential for styling conflicts with other scripts. I don’t think its actually an issue anywhere at the moment, but I’ll have to rework that a bit, just to be safe.

Thank you! It works nicely.
The popup doesn’t appear when clicking on radicals for me. I don’t know if this is on purpose, if it’s always been like that :thinking:

Cheers! Thanks again for the quick update!

Its not like that on purpose, though I don’t have any radicals to test against to see what’s going on.
I did make a small tweak that should hopefully fix it. If not, I’ll have to unburn some radicals to test with. I believe the issue was with the popup trying to display some info for radicals, that only exists on kanji and vocab, causing the popup to fail displaying

1 Like

So the popup does display for radicals now, but the URL is incorrect:

Currently links look something like wanikani.com/radical/孝 which is a 404
It should like to wanikani.com/radicals/teacher (so an extra “s” after radical, and the meaning field rather than the symbol, which I guess is because radicals are not strictly part of japanese unicode I guess)

I’ll keep an eye out for problems and report them here, but the links for kanji and vocab are already super helpful, thanks a lot!

(UX wise, would it be possible to append a symbol like fa-external-link: Font Awesome Icons next to the vocab/kanji/radical to make it obvious it’s a link and to reassure the user that it opens in a new tab/window?)

Well that’s annoying that radicals don’t follow the same logic as kanji/vocab.

https://www.wanikani.com/${item.subject.type.toLowerCase()}/${item.subject.characters}

Though, I suppose it makes sense to not use ‘characters’ since some radicals don’t actually have a unicode character. Looks like the type portion needs to be plural as well, which I suppose kanji/vocab are already plural, so that just happened to work out.

Totally forgot I could just self study burned items to test radicals. Whoops.
Just put link creation inside an if-then statement. After a few attempts, seems to be working now. v1.44 is out.
UX side, I need to get it styled up a bit more in general. I’ll work on that a bit later.

1 Like

Works great now! Small edge case to sort out eventually:

I went through the whole list of radicals, this rule is consistent for all compound names, and there are no other special characters which could cause similar problems.

The script is super helpful to work on my mistakes, thanks again for your hard work!! :sparkles:

P.S. oh and I already think the UX is great honestly. I’m pointing out small things but overall it’s a great tool that’s easy to use and that’s no small feat.

1 Like

Just writing here to say it’s working really well, thank you for taking the time to do the suggested changes! Using this script daily to breeze through reviews and take note of my mistakes (which are getting rarer so my method is working :relieved_face: )
All the best for your own studies! :sparkles:

2 Likes

Thank you so much for creating this script! It has significantly reduced the time it takes me to do my reviews and improved my accuracy.

2 Likes