Elgato Stream Deck Japanese Reviews

Something I’ve been using for the last year, but just finally released for the limited number of people likely using a Elgato Stream Deck - Japanese review buttons.

Supports:

  • Kitsun
  • Wanikani
  • Bunpro

Clicking the button takes you to the website, one click away from reviews. For Kitsun, it takes you to your decks.

Streamdeck Plugin Download
Github Link

Preview Image
Setup Window

PXL_20220530_023601565

3 Likes

Pretty cool! Thanks for sharing!

1 Like

Thanks for making a thread for this, hopefully, more people will see it this way ^^

1 Like

@Neicudi Any plans for a public API anytime soon? :slight_smile:

The latest version of the Stream Deck software broke the plugin, but only for Kitsun. To get the data, I’m calling /profile/login then /general/home using the JavaScript Fetch API, however the V6 software isn’t respecting the set-cookie header, so no cookie header is passed to the second call and Kitsun throws a 500 Internal Server Error.

Not your problem obviously since I think it’s a regression in their software, I’ve got emails out to them hoping there’s something they can do about it but I don’t have high hopes, but an actual API or even just some Authorization header support on the existing calls would probably solve everything.

1 Like

I’m afraid the public API we made (but never publicly published) is outdated at this point, but I could definitely whip up a simple public layer for our regular API calls at this point.

So no cookies are being set on the client/device? Are you able to read the set-cookie value from the first call? If so you could potentially set the actual cookie in the header yourself, but I’m guessing it’s something you can’t extract.

Ideally I’d like to overhaul Kitsuns auth system to start using JWT. I can probably first add an Authorization header though, seems like the simplest solution for now :slight_smile:

The Stream Deck just embeds Chromium to run it’s JavaScript plugins. The latest V6 update of the software updated the Chromium engine, which also broke a lot of other plugins due to CORS policy changes (including my button for Bunpro), which they fixed that at least. Chrome/JS doesn’t let you access the cookies in the request headers directly to prevent cross-site attacks, but I did initially try to go down the path of reading the set-cookie value and just set the header myself.

Again, no rush, I still haven’t received a response from Elgato but with the holidays I wouldn’t be surprised if they don’t respond until next week, but I’m hoping it’s something they can fix rather than needing you to do anything. If you did go down the Authorization path though, I’d be good with any implementation, including bearer tokens or just a simple basic auth implemenation.

1 Like

Piggybacking on this somewhat since I just happened to see this: ascend, I’ve been using your stream deck button for a good while now for WK and Bunpro and it has been delightful. I’ve grown to rely on plugins to remind me of reviews, since I’m terrible about opening websites and push notifications tend to get missed.

On that note though… any chance of expanding the functionality to include MaruMori? :slight_smile: Although I’d imagine that in the immediate future it’s probably hampered in the same way that Kitsun currently is due to Elgato’s v6 changes.

1 Like

I’d be up for it. I don’t necessarily have plans to use MaruMori since I’m already doing Wani/Bunpro at the most casual pace possible, but it’d be easy to add MaruMori too. I just signed up to check, and you’re right, the login and reviews count look to be the same as Kitsun, so I’m currently blocked by the same issue.

1 Like

Figured as much :slight_smile: If you happen to think of it if and when the situation is resolved though, you’d delight at least one person who loves to use a stream deck for entirely mundane things.

1 Like

Figured as much, that’s too bad. I’ll await the response from Elgato then. If they do not fix it, I can probably add it in the future :grinning_face_with_smiling_eyes:

They finally got back to me, although misunderstood the issue so I explained better and hopefully they should look at the real problem next.

I did find the actual issue though, they did update their embedded Chromium version, and it looks like it’s due to a Chromium V80 change that changes SameSite cookie policy by default and may block cross-site cookies in non-secure contexts, which their inspector is through HTTP so I’d assume it’s considered non-secure. You can see the warning from Chrome below that actually says it’s blocking the cookie.

I don’t have very high hopes they’ll find a solution very quickly - I’ll let you know if they do, but I’m expecting I might just have to wait for a non-cookie approach on your end for both Kitsun and MaruMori. You could try SameSite=None if it didn’t pose a security issue on your end and I would test it, I just wasn’t clear from the documentation whether it allows HTTP cross-site usage.

1 Like

I just recently added this to my stream deck and wondered how I could thank the person that made it. Fate brought me to this thread after buying kitsun. Thanks for making this, it is very helpful!