kbin Enhancement Suite: a community-curated script manager that lets you customize your kbin experience
A couple of weeks ago, @shazbot made this post about a project that they were working on. Since then, @shazbot, @ori, @minnieo and I have been hard at work, and we are excited to finally announce the official release of kbin Enhancement Suite (KES)!
kbin has seen an explosion of user-made add-ons, but keeping track of them in one place, letting them share settings with one another, and toggling them on and off can be a challenge. KES is an expandable add-on manager that aims to rectify this by providing a unified interface and framework for script makers to collaborate, and letting you use them all in one place.
KES brings together userscripts from the community, with a built-in settings menu that lets you tailor your experience to your liking. It also offers a flexible framework that empowers script authors to effortlessly integrate scripts into KES and set up custom input fields with no additional code.
KES gives you a single window onto a collection of enhancements that is growing by the day. And those features can be added to by you!
We’ve focused on making customizing your kbin experience as easy as possible, whether you are on mobile or desktop. After we sort out the bug reports from this release, we plan on adding many more features! Here’s what we have so far:
Once KES is successfully installed, access the settings menu by clicking on the wrench icon located at the top-right corner next to your username. From there, you can enable the features you like, and customize your browsing experience.
More information
For bug reports and feature requests, visit our GitHub repository’s issues page. If you have any questions or need assistance, don’t hesitate to ask here or make a post on /m/enhancement!
Developers
If you are a userscript author, we’d love it if you could try porting your userscripts into KES, or try writing completely new ones for it! @shazbot has made it easy to integrate your scripts: you just need to add your script’s information to manifest.json, make a few small modifications to your script, add it all to the GitHub repository, and you’re good to go!
KES benefits:
Turnkey integration: a simple, declarative framework for dynamically adding features to the UI without touching the underlying code
Sharing of user-defined settings through script namespaces: access your script settings, and those from other scripts, through a well-defined object
Automatically responds to infinite scroll and page reload events
Attribution of script authors
Easily toggle scripts on/off
Explore KES’s documentation here to get started. If you have any questions, feel free to reach out here, on /m/enhancement, or at our GitHub repository.
I apologize for the inconvenience. This should be fixed in 1.1.3. The update should be available momentarily as a prompt within KES. If you don't see it, try invoking Ctrl-F5 to refresh cache.
ViolentMonkey can at times be more idiosyncratic than TamperMonkey in the syntax it expects, and I don't usually recommend it because I don't think it has feature parity with TM, but regardless, this issue was my fault for not testing more thoroughly against different extensions.
We have worked up a more comprehensive fix that provides cross-API support for the different GreaseMonkey implementations found in various browser add-ons. Update should be forthcoming after being stress-tested. As it turns out, there is no truly universal API standard between these tools and highly similar but slightly different implementations, so we had to make a shim.
Edit: It appears that this doesn't completely work, we'll keep working on it
I've figured out the issue, as soon as @shazbot sees my pull request on GitHub there should be an update that fixes it! For a temporary fix for now though, you can Ctrl-F GM. and replace them with GM_ (there should be 4 of these, on lines 17, 18, 128, and 133), and remove the await on line 133