WaniKani Custom SRS - WIP

:arrow_right: What would you want in a custom SRS system for WaniKani? Please let me know any ideas!

WaniKani Custom SRS

Custom radicals, kanji, and vocab, all built into standard WaniKani. Currently:

  • Make custom item packs
  • Add radicals, kanji, and vocabulary with details of each
  • They will appear at the start of your review sessions and follow the normal WK SRS system
  • Levelling can be set per-pack to follow WK levels or internal pack levels
  • Dashboard review numbers are updated with your custom item reviews
  • Cross-device sync! (currently experimental)
  • Compatible with lots of scripts (not all though. Jitai requires a small fix detailed below)
  • Export / import packs
  • Place to share custom decks (there’s a GitHub it pulls from)

New review modes!

  • Conjugation practice (for learned verbs)
  • Audio Quiz (for burned items)

Planned:

  • Lessons actually in lessons rather than in reviews

Install (make sure you have Tampermonkey installed): Install Link

Jitai Script Fix

If you go to Tampermonkey, click on the Jitai script and edit then line 361 of the latest version of Jitai (version with recent WK fixes applied - if it’s a slightly different version it might be a different line number, but you can just search for it as that exact code only appears in that one place) needs to be changed from

const glyphs = item_element.innerText;

to

const glyphs = item_element.innerText.split("\n")[0];

One point to note: with this script installed there will always be one "captured" review item, to make the review page always accessible (which will also be rotated out so that it doesn't affect SRS). This item should be correctly hidden everywhere except the review forecast (a section I need to fix!).

Github: https://github.com/leohumnew/wanikani-custom-srs

More Screenshots



13 Likes

Also - @rfindley @Kumirei sorry for the ping but was wondering if as scripting experts maybe either of you know if there’s a way to use the stimulus controllers or something to update the top-right remaining count during reviews? I know I could just manually change the DOM but I’m trying to make this script less dependant on the HTML and IDs not changing, but I still have yet to really understand the Stimulus controllers WK uses :sweat_smile:

4 Likes

I am not very familiar with Stimulus/Turbo. @Sinyaven might know

3 Likes

The last time I looked at the controllers, they weren’t written as objects with a complete object interface, so they aren’t very usable for purposes that differ much from how WK works. In Double-Check, I used the quiz stats controller solely to retrieve the DOM element, which I then modify manually, like this:

function get_controller(name) {
    return Stimulus.getControllerForElementAndIdentifier(document.querySelector(`[data-controller~="${name}"]`),name);
}

quiz_stats = get_controller('quiz-statistics');
quiz_stats.remainingCountTarget.innerText = remaining_count;
3 Likes

Hmm, thank you! That’s definitely better than manually getting the DOM object, should hopefully be slightly more stable over WK updates. And it’s super helpful to see that get_controller method, I’ll have to look into whether there’s anything else I can use the controllers for.

2 Likes

image

3 Likes

Holy crabigator, this is an awesome idea! I will sacrifice myself to test the early version!

4 Likes

Ok, I tested adding an item now (I added the missing Joyo grade 6 kanji bc it was bothering me that this was the only kanji up to Grade 6 that WK didn’t include lol), and I have some questions, if you don’t mind :slight_smile:

  • Is it possible to add multiple On’yomis/Kun’yomis by separating them with a comma? I didn’t try that yet because it didn’t say that I can enter multiple readings like this.

  • I’m not sure how it is when I have reviews of items already implemented in WK, but if I only have reviews of items that I added, I don’t seem to be able to do these reviews. Is that because it just got added and thus I need to wait 4 hours before reviewing it, or is that perhaps a bug?

grafik

  • Regarding the Export function: Can I use that to share my self-made decks with other people?

Here’s the console output, in case you need it for my second question:

Successfully compiled asm.js code (total compilation time 15ms) es-module-shims-b1a766ae18864aaabc0b984bb7c45eb3e6f47293fdf881f8fe2d1577a7fe3adb.js
shouldDisplay() end WaniKani-LevelUP-Celebrator.user.js:166:10
checkMilestones() WaniKani-LevelUP-Celebrator.user.js:382:10
getTurtleCounts() WaniKani-LevelUP-Celebrator.user.js:292:10
raw counts:  109 615 800 1042 0 WaniKani-LevelUP-Celebrator.user.js:323:10
cumulative counts:  2566 2457 1842 1042 0 WaniKani-LevelUP-Celebrator.user.js:330:10
nextMilestones:  [2500,2000,1500,1] WaniKani-LevelUP-Celebrator.user.js:390:10
achievements:  [0,0,0,0] WaniKani-LevelUP-Celebrator.user.js:425:10
checkMilestones() returning null WaniKani-LevelUP-Celebrator.user.js:434:11
Function starts Wanikani-2-Cool-4-Progress.user.js:26:13
Script name is Shin WaniKani Leech Trainer Shin-WaniKani-Leech-Trainer.user.js:42:9
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("style-src"). content.js:71:427
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). 2 content.js:60:457
[bugsnag] Loaded! app.bundle.js:2:43024
Einige Cookies verwenden das empfohlene "SameSite"-Attribut inkorrekt. 8
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://sessions.bugsnag.com/. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Cookie "fcuid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fccid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fcaid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "frontChatChannelToken" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://js-agent.newrelic.com/nr-spa-1.252.1.min.js. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. Der berechnete Hash ist "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==". dashboard
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    E https://www.wanikani.com/dashboard:7
    api https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading runtime APIs failed... dashboard:7:12474
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://js-agent.newrelic.com/nr-spa-1.252.1.min.js. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. Der berechnete Hash ist "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==". dashboard
New Relic: Downloading and initializing page_view_event failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing page_view_timing failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing metrics failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing jserrors failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing ajax failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing session_trace failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing page_action failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
New Relic: Downloading and initializing spa failed... dashboard:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    e https://www.wanikani.com/dashboard:7
    a https://www.wanikani.com/dashboard:7
dashboard:7:12515
TypeError: reviewCountElement is null
    fetch moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1467
turbo.min-c76137771b03539ae15efca497c5b9cf01245d8ca048d32cf8e56ae868222327.js:16:22202
Uncaught (in promise) TypeError: reviewCountElement is null
    fetch moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1467
dashboard line 9 > injectedScript:1467:53
[FrontChat][Front] FrontChat Version: 7.10.8 app.bundle.js:2:32052
Cookie "fcuid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fccid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Review Cache: Error fetching reviews 
Object { status: 304, url: "https://api.wanikani.com/v2/reviews?updated_after=2024-03-09T07:40:43.504000Z" }
WaniKani-Workload-Graph.user.js:182:17
Ably is attempting to establish a connection 
Object { version: "7.10.8", companyId: 914, channelNamespace: "tim:914", region: "us-west-1", namespace: "", appId: "b8c343a48b22494ebdea5e98cf6296ac94ac2a82e0cbd1422303229dd3d7aeda", conversationId: "9af308db-e511-412d-a33c-fa60eabdf90e", publicConversationId: "", initTimestamp: 1709971258997, shouldShowChatWindow: false, … }
app.bundle.js:2:32052
Ably connection has been established 
Object { version: "7.10.8", companyId: 914, channelNamespace: "tim:914", region: "us-west-1", namespace: "", appId: "b8c343a48b22494ebdea5e98cf6296ac94ac2a82e0cbd1422303229dd3d7aeda", conversationId: "9af308db-e511-412d-a33c-fa60eabdf90e", publicConversationId: "", initTimestamp: 1709971258997, shouldShowChatWindow: false, … }
app.bundle.js:2:32052
Review Cache: Error fetching reviews 
Object { status: 304, url: "https://api.wanikani.com/v2/reviews?updated_after=2024-03-09T07:40:43.504000Z" }
Wanikani-Heatmap.user.js:183:17
Source-Map-Fehler: Error: NetworkError when attempting to fetch resource.
Ressourcen-Adresse: moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/Shin-WaniKani-Leech-Trainer.user.js?id=9ef77814-855d-4795-8958-ca6a48f74691
Source-Map-Adresse: wanakana.min.js.map

injected: keepAlive: got message 
Object { messageId: "ltk2solt.54", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltjt4m5v.k5", ack: true, method: "keepAlive" }
2 Likes

Thank you for taking the time to test it!

  • You can indeed add multiple on/kun’yomi separate by commas (I think!), I’ll improve the UI to make that clear at some point.
  • I hadn’t thought about the issue with when you have 0 reviews - I currently have 500+ and haven’t been at 0 for a while :sweat_smile: Should be an easy fix, will get that done today.
  • The export function isn’t in the released version quite yet, I’m just finishing it off. I don’t want to release it until the import function is working for obvious reasons. But that’ll be ready also this weekend hopefully.

I’ve got a 2 week uni break starting this weekend so I’ll be working on this a lot for a bit to hopefully get it to a good 1.0.0 release state by the end! I’ve been wanting to add custom items to WK for a while so it’s good to finally get a chance to put some time into it. Thanks for testing it and let me know if you have any other ideas / issues with it :slight_smile:

5 Likes

I’m not sure if this is already implemented, but it would be nice if you could choose which decks you want to appear in your reviews. For example, if I make a deck with a bunch of the N1 kanji not on WK, I don’t want them to appear in my reviews yet, but it would be nice to make a deck so that I can use it later on.

3 Likes

That’s a great idea - it should be simple to add an enable/disable checkbox on each deck. I’ll also get that implemented this weekend :slight_smile:

4 Likes

Thanks a lot! I’ll let you know if I have any other suggestions or issues :slight_smile:

3 Likes

Ok, I got to review it now as I had reviews. It seems to work fine (also in combination with the reorder omega and double check script), but when it quizzed me on the reading, it didn’t display the correct color:

Everything was normal for the meaning, though:

3 Likes

Ah - I assume that was the first item you had in the review session? I think there’s an issue with it not properly updating the colours from the WK item that was originally first even though it knows the item has changed. I’ll have to work on that, I’m currently not sure why exactly it happens. Thanks for letting me know!

3 Likes

Yes, the first item I had was originally a vocab, before the review for the kanji appeared. Is that the default behavior or because of the Reorder omega script?

2 Likes

Unfortunately it’s the default behaviour, as the script takes a moment to be loaded onto the page, meaning that the original WK item shows for a moment. I’m currently trying to work out if there’s a way around it. I could of course just prevent the custom items from appearing first but that’s not an ideal solution and of course won’t solve it if there’s no WK reviews!

4 Likes

I think I found a bug. I’m not sure if it’s related to the script, but it only occurs if I have it enabled:

If I try to load the info page of an item after the review, it displays this error:

Here is the console output, if needed:

Successfully compiled asm.js code (total compilation time 11ms) es-module-shims-b1a766ae18864aaabc0b984bb7c45eb3e6f47293fdf881f8fe2d1577a7fe3adb.js
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("style-src"). content.js:71:427
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline festgestellt ("style-src"). Ein CSP-Bericht wird gesendet. content.js:71:427
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). content.js:60:457
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline festgestellt ("script-src"). Ein CSP-Bericht wird gesendet. content.js:60:457
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). content.js:60:457
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline festgestellt ("script-src"). Ein CSP-Bericht wird gesendet. content.js:60:457
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("style-src"). content.js:71:427
Content-Security-Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src"). 2 content.js:60:457
InstallTrigger sollte nicht mehr verwendet werden und wird in Zukunft entfernt werden. review line 9 > injectedScript:1284:19
Uncaught (in promise) ReferenceError: Unhandled Promise Rejection: $ is not defined
    window["__f__ltk89rt3.w1b"]/</< moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/Wanikani:-SRS-Distribution-Charts.user.js?id=02d115ac-d70f-443e-a024-15ec7c741f65:14409
    window["__f__ltk89rt3.w1b"]/< moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/Wanikani:-SRS-Distribution-Charts.user.js?id=02d115ac-d70f-443e-a024-15ec7c741f65:14541
    Rt https://www.wanikani.com/subjects/review:9
    window["__f__ltk89rt3.w1b"]/< moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/Wanikani:-SRS-Distribution-Charts.user.js?id=02d115ac-d70f-443e-a024-15ec7c741f65:1
    "__f__ltk89rt3.w1b" moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/Wanikani:-SRS-Distribution-Charts.user.js?id=02d115ac-d70f-443e-a024-15ec7c741f65:1
    Rt https://www.wanikani.com/subjects/review:9
    o https://www.wanikani.com/subjects/review:81
    <anonymous> https://www.wanikani.com/subjects/review:84
    m https://www.wanikani.com/subjects/review:78
review line 9 > injectedScript:14409:18
[bugsnag] Loaded! app.bundle.js:2:43024
Einige Cookies verwenden das empfohlene "SameSite"-Attribut inkorrekt. 8
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://sessions.bugsnag.com/. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://js-agent.newrelic.com/nr-spa-1.252.1.min.js. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. Der berechnete Hash ist "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==". review
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: A problem occurred when starting up session manager. This page will not start or extend any session. review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    E https://www.wanikani.com/subjects/review:7
    api https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading runtime APIs failed... review:7:12474
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://js-agent.newrelic.com/nr-spa-1.252.1.min.js. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. Der berechnete Hash ist "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==". review
New Relic: Downloading and initializing page_view_event failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing page_view_timing failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing metrics failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing jserrors failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing ajax failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing session_trace failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing page_action failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
New Relic: Downloading and initializing spa failed... review:7:12474
ChunkLoadError: Loading chunk 111 failed.
(error: https://js-agent.newrelic.com/nr-spa-1.252.1.min.js)
    j https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    e https://www.wanikani.com/subjects/review:7
    a https://www.wanikani.com/subjects/review:7
review:7:12515
Cookie "fcuid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fccid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fcaid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "frontChatChannelToken" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
[FrontChat][Front] FrontChat Version: 7.10.8 app.bundle.js:2:32052
Cookie "fcuid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Cookie "fccid" wird bald abgelehnt, da es fremd ist und nicht das "Partitioned"-Attribut besitzt. app.bundle.js:2:567892
Ably is attempting to establish a connection 
Object { version: "7.10.8", companyId: 914, channelNamespace: "tim:914", region: "us-west-1", namespace: "", appId: "96a0a154311aa3fd27c160ff1e50dfb3c1b381298968b1fa896854b64c6be452", conversationId: "50d61c3e-0aef-4a4d-ad28-e8ab41e6a1de", publicConversationId: "", initTimestamp: 1709995593025, shouldShowChatWindow: false, … }
app.bundle.js:2:32052
Review Cache: Error fetching reviews 
Object { status: 304, url: "https://api.wanikani.com/v2/reviews?updated_after=2024-03-09T14:46:13.320000Z" }
WaniKani-Workload-Graph.user.js:182:17
Ably connection has been established 
Object { version: "7.10.8", companyId: 914, channelNamespace: "tim:914", region: "us-west-1", namespace: "", appId: "96a0a154311aa3fd27c160ff1e50dfb3c1b381298968b1fa896854b64c6be452", conversationId: "50d61c3e-0aef-4a4d-ad28-e8ab41e6a1de", publicConversationId: "", initTimestamp: 1709995593025, shouldShowChatWindow: false, … }
app.bundle.js:2:32052
injected: keepAlive: got message 
Object { messageId: "ltkdb239.jfl", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltkf9a1u.sy", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltkgud4l.p1", ack: true, method: "keepAlive" }
content.js:8:1240
TypeError: this.getPack(...) is undefined
    getSubjectInfo moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1336
    fetch moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1440
turbo.min-c76137771b03539ae15efca497c5b9cf01245d8ca048d32cf8e56ae868222327.js:16:22202
Uncaught (in promise) TypeError: this.getPack(...) is undefined
    getSubjectInfo moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1336
    fetch moz-extension://628b4396-402c-4844-a78c-86b41cd2773c/userscripts/WK-Custom-SRS.user.js?id=ef0c2313-79ce-4c0a-a3e4-e1a411a32ccb:1440
2 review line 9 > injectedScript:1336:25
injected: keepAlive: got message 
Object { messageId: "ltk84bpt.jr", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltkhuhom.f0f", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltkf5dzg.5br", ack: true, method: "keepAlive" }
content.js:8:1240
injected: keepAlive: got message 
Object { messageId: "ltkfvvrv.afl", ack: true, method: "keepAlive" }
1 Like

Does that happen with custom items, WK items, or both?

Well, I was very wrong about this being an easy fix as WaniKani immediately redirects back to the dashboard if you try to do a review without any WK items, and there’s no way to override that with a userscript afaik :sweat_smile: For now I’ll keep working on the other things you mentioned while I try to work out a way around this - I have a couple of ideas but it’ll be a bit of a longer fix!

4 Likes

It definitely happens for WK items, but I’ve only added one custom item so far, so I can’t tell if it happens for custom items as well yet :sweat_smile: I’ll add another item later and let you know then!

I have reviews most of the time anyway, so for me, it’s not that big of a problem :slight_smile:

2 Likes

@tofugu-scott apologies for the ping, if you have just a moment I was just wondering if you could confirm for me that there isn’t any way to get the reviews page to load if the WK server thinks there’s nothing to review? I’m making a custom item script and trying to work out how to make it possible to review custom items without any WK reviews scheduled. I assume there probably isn’t as WK just instantly redirects back to the dashboard in that situation?
Not looking for any script support from you or anything, I’m just hoping you could quickly confirm that that’s what WK does and that there’s no way around it that immediately comes to mind for you. Thanks!

3 Likes