You would need to make a plugin to listen for a socket event, and in the widget js send the needed data to verify the request server-side. After adjusting the reputation and sending the new rep back, you probably want to make a db key to record the last action taken, such as how core uses pid:x:upvote
git rev-parse HEAD returns aa116e6b4d2f42731729db01f28875494988a684
I've looked through the Chrome dev console in the network section and it seems that ajaxify is receiving 304: Not modified responses, and gets stuck on opacity:0. A very weird functionality. All of the elements are loaded in, but they are all invisible. Very odd.
There is an Uncaught Error: Mismatched anonymous define() module error that occurs on page load in ajaxify.
Okay, I guess never mind. One of the external sources I was including was causing the problem. I removed the define call and now it's working.
@CyanPrime not sure how that's fixed it as your route inside theme.less doesn't actually point to the vanilla template. For that file to point at vanilla, you'd be looking at ../../../nodebb-theme-vanilla, but if it works then, so be it.