Sadly it still doesnβt work and I have to reload review page to make it working. ViolentMonkey shows this warning:
And there is this starcktrace in the dev console:
Uncaught (in promise) TypeError: Unhandled Promise Rejection: can't access property "className", characterElement is undefined
updateDiffInfo WaniKani Item Difficulty.user.js:1608
VMclkefr172on WaniKani Item Difficulty.user.js:1624
nrWrapper dashboard:7
setTimeout handler*nrWrapper dashboard:7
VMclkefr172on WaniKani Item Difficulty.user.js:1327
nrWrapper dashboard: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 dashboard:7
nrWrapper dashboard:7
clickCaptured turbo.es2017-esm.js:1692
nrWrapper dashboard:7
nrWrapper dashboard: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
dashboard:1608:65
Whatβs weird is Iβm havig similar problem with Review Plus script: [Userscript] WaniKani Reviews Plus - #108 by wojtek
Very werid.
It looks like for some reason variable characterElement is not set here:
let answerElement;
let characterElement;
let mainDiv;
const initializeIndicator = pageType !== 'lesson' ? async () => {
if ((mainDiv = document.getElementById(mainDivId))) mainDiv.remove();
answerElement = await awaitElement('quiz-input__input-container', true);
characterElement = await awaitElement('character-header', true);
characterElement.appendChild(strToElement(await diffDiv('gray', 'Inactive', true, '', false)));
mainDiv = document.getElementById(mainDivId);
} : async () => {
if ((mainDiv = document.getElementById(mainDivId))) mainDiv.remove();
characterElement = await awaitElement('character-header', true);
document.body.appendChild(strToElement(await diffDiv('gray', 'Inactive', true, '', true)));
mainDiv = document.getElementById(mainDivId);
};
