Important announcement if you make scripts or use scripts.
We’re starting work on the WaniKani front-end code. Quick story is: we’re converting it to React. To start we’ll be touching the Lessons section, replacing it piece by piece. If everything works perfectly, it will look and feel exactly the same to start (though we’re planning to throw in user synonyms on the Lessons while we’re in there). Even if you don’t notice a difference in vanilla WaniKani, one thing will be affected: scripts! Although we don’t know specifically how many people use scripts in Lessons , we do know ~5-10% of our users use scripts, which is no small number. We had a lot of thinking to do.
What will this update do, and is it worth it in the end? On the less impactful side of the spectrum, this update will be good for bug fixes and performance. We’ll be able to make changes more quickly. When new features are introduced, bugs will be much easier to identify and deal with. Speaking of features (here’s the main reason we’re doing this), we’re working on some things, and we needed more flexibility in Lessons and Reviews to do them. I wish I could talk more about this now, but I think in the long-term, the overall benefit will become obvious, even if it’s a bit of a pain right now.
But, I’m here to talk about the short term! Because scripts are built on assumptions about the front-end code, and because we’re going to be changing it, some scripts will stop working. Scripts are going to break! In some cases, authors will need to update their scripts. In other cases, it may not be possible to update a script to be compatible. We’ll do our best to avoid this situation, and if we can’t we’ll try to address it in our own application or help users find a workaround.
We’ll try to make the transition as smooth as possible, and communicate about progress regularly. We’ll post smaller updates and guide(s) on the forums and do larger announcements on our developer/API email list. Before it goes live, we’ll put the changes on a public test server for script authors to try.
We very much admire the work and enthusiasm around scripts. The value you’ve added is awesome, honestly. It’s a scary change for everybody, I think, but in the end it will be good. Let us know if you have any questions. Myself or one of the other people on this project will do our best to give you an answer. Thank you!
Edit: I added groups to our email list, which was originally just for API updates, but now covers general developer kinds of things. If you signed up to the list previously, you’ll want to update your notification settings (unless you just want API updates, then you’re good). Just sign up for the list again, choose what you want to be notified about, and submit. As long as you used the same email, it should overwrite your email profile and you’ll be added to the notification groups you want to be on.
Related Posts / Update Posts:
- Related Post, 1/23: UserScript Guidelines for Upcoming Front-End Updates
- Update, 1/31: We wanted to update everyone that, well, we don’t have any updates yet. We’re working on laying down the groundwork before we incrementally replace components. We’ll be back here next week to let you know if we start deploying anything to our preview servers. - @gomakuma @WaniKaniJavi
- Update, 2/7: Still quiet this week but we are wrapping up some changes today. Planning to post a preview server URL on Monday (2/10) for everyone to check out! - @gomakuma @WaniKaniJavi
- Update, 2/11: Preview site, forum thread and email newsletter updated.
Update, 2/12: Added a note about making sure the
@includewhitelist on user scripts include preview.wanikani.com
- Update, 2/21: Some changes coming on preview.wanikani.com on Monday (2/24). Working our way down the Lesson Quiz to convert the answer form and answer feedback to React, the Kana chart, Info and Audio button container, and the bottom right corner shortcut key map and contact link. Will post here and send out an email update when it’s live.
- Update, 5/13: We pushed an updated version of jStorage yesterday that uses sessionStorage instead of localStorage. If you have scripts/extensions that access jStorage by way of localStorage, you’ll need to make updates to look in sessionStorage instead.
- 5/21: Updating the preview server today with some React changes. Everything inside the #lessons div on /lessons will be rendered by React but manipulated by jQuery, and the stats section is now a React component. We’re still using jStorage for all of it.
- 5/29: Another set of updates on preview. We expanded the React component to encompass most of the body of /lessons. Within it, the new React sections are the home, skip, character display, question label, and the shortcut key and contact buttons on the bottom right.
- 6/4: The changes from 5/21 are now on production
- 6/9: preview.wanikani.com has an update where the lesson quiz answer checking logic has been separated from the jQuery front-end code. no front-facing changes like markup or CSS.
6/16: www.wanikani.com: Header, Subject, Subject Type, Footer Buttons React components along with the answer checker logic
preview.wanikani.com: Lesson quiz answer field and tooltips are now React rendered