188
submitted 1 year ago* (last edited 1 year ago) by artillect@kbin.social to c/kbinMeta@kbin.social

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!

The KES settings menu

What the feed looks like with everything enabled

The comments with everything turned on

Features

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:

  • Collapsible comments with nesting (by @artillect)
  • Use slash commands to add emoticons in text areas (by @minnieo)
  • Add syntax highlighting (with customizable themes) to code blocks (by @ori)
  • Show instance names next to non-local users and communities (by @artillect)
  • Add a link to message users on your instance next to their usernames (by @shazbot)
  • Hide upvote/downvote buttons and reputation (by @artillect)
  • Show more detailed timestamps on threads and comments (by @shazbot)
  • Hide thumbnails on threads (by @shazbot)
  • Add link to subscribed magazines to the navbar (by @shazbot)
  • Replace or hide the kbin logo in the navbar (by @shazbot)
  • Add “OP” label next to thread author’s username in comments (by @shazbot)
  • Convert navigation links on profile pages into a dropdown (by @shazbot)

Each of these can be toggled in the settings menu, and some of them have additional configuration options, such as setting custom labels, colors, etc.

New features are added on a rolling basis and the menu pages will update on the fly to reflect this new content.

Installation

Click here to install KES, and follow your userscript manager’s prompt to complete the installation.

If you don’t have a userscript management extension, you can install one of these, and then install KES using the link above:

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.

you are viewing a single comment's thread
view the rest of the comments
[-] minnieo@kbin.social 1 points 1 year ago

what browser are you using and what extension to run the script?

[-] fuzz@kbin.social 2 points 1 year ago

I’ve got the same issue - using iOS Safari and Userscripts.

[-] artillect@kbin.social 2 points 1 year ago

It seems like this is the opposite of the issue we were having with Violentmonkey, we'll see what we can do about fixing it

[-] shazbot@kbin.social 2 points 1 year ago

This is tentatively fixed and we have it working on all flavors now. The update should be forthcoming over the weekend or start of next week, we are just verifying things. We will definitely need your help to test Safari and Userscripts, as this seems to be the most rare combination.

[-] Noki@kbin.social 1 points 1 year ago

I am using safari with userscript, and will give an update as soon as it works.

[-] shazbot@kbin.social 2 points 1 year ago

If you have time, would you mind trying the 2.0.0 release here?

[-] Noki@kbin.social 1 points 1 year ago

I did the update but still have no wrench, but it’s late for me and I will try tomorrow from scratch.
I appreciate your work!

[-] shazbot@kbin.social 2 points 1 year ago

Alright, if you have additional debug output from the dev tools console, that would be helpful. Unfortunately, we don't have easy access to an iOS test bench at the moment, but I'll try to read through the Userscripts documentation to see why it might behave differently.

[-] Noki@kbin.social 1 points 1 year ago

Good news, it seems to work in Safari! But not when I add kbin as a PWA/add to Home Screen. But I think that is by design of Apple?

[-] shazbot@kbin.social 1 points 1 year ago

Yes, I think there are additional sandboxing/security considerations when using a PWA, which may block pulling in additional script dependencies needed. If I understood you correctly, it works on Safari on a desktop, but when you add it as a mobile home screen app, it doesn't? Can you still use it on mobile some other way?

[-] Noki@kbin.social 1 points 1 year ago

Correction: I’m using safari on iPad iOS on 16.5.1 and don’t have any Mac.

My desktops uses Windows 10 and Firefox and that works with out any problem.

[-] shazbot@kbin.social 1 points 1 year ago

Ah, okay, so it works on mobile Safari, but with the caveat that you can't save it as a pseudo app to your home screen. This seems pretty good overall, we can mention that in the documentation. A few other users reported trying to create PWAs with some special apps (not Userscripts) and reported the same outcome. It's because they essentially blacklist extra dependencies.

Overall, I'd say this is a positive indication that it's working, yes? This is the outcome we were hoping for, as Userscripts closely resembles GreaseMonkey's API, so once we added support for the latter, it was all but guaranteed to work on the former.

[-] Noki@kbin.social 1 points 1 year ago

Yes your correct!

It will work for me, it would be nice if there is a workaround in the future but it is not immediately needed.

[-] shazbot@kbin.social 1 points 1 year ago
[-] Noki@kbin.social 1 points 1 year ago

Do you know if it should work with the „add to homescreen“/PWA-function?

[-] shazbot@kbin.social 1 points 1 year ago

I don't have an iOS test bench myself, so I'm not intimately familiar with this, but I believe we have succeeded in implementing a generic, tool-agnostic internal method that ensures compatibility between different versions, based on reference to the GreaseMonkey API. I have confirmed it working on GM/TM/VM, and expect it to work on Userscripts insofar as it implements functionally the same API as GM.

[-] fuzz@kbin.social 1 points 1 year ago

Good effort! I’ll give it a test.

[-] unabatedshagie@kbin.social 1 points 1 year ago

I wasn't aware you could use Userscripts on iOS.

[-] shazbot@kbin.social 1 points 1 year ago

If you have time, would you mind trying the 2.0.0 release here?

[-] fuzz@kbin.social 1 points 1 year ago

Roger. I’ve updated (script says v2.0.1) but still seems a bust - no wrench menu.

[-] shazbot@kbin.social 1 points 1 year ago

Make sure you are on 2.0.2 at the minimum. A small hotfix was needed.

[-] fuzz@kbin.social 1 points 1 year ago

Updated to v2.0.2 - still nothing.

[-] shazbot@kbin.social 1 points 1 year ago

OK, just wanted to isolate the scope of the problem. Seems to still be isolated to iOS.

[-] fuzz@kbin.social 1 points 1 year ago

Not sure if any relevant changes were made between 2.0.2 -> 2.0.4, but just fyi it’s still not working for me on iOS + Userscripts.

[-] shazbot@kbin.social 1 points 1 year ago

Still investigating. One user on iOS tablet/Safari/Userscripts has reported it working. @Noki would you mind conferring with @fuzz and checking if your settings are aligned?

[-] shazbot@kbin.social 1 points 1 year ago

Take a look at this thread, think we have the smoking gun here after putting the pieces together and looking at what is different in your setups. It seems to be a totally cosmetic issue: KES is loading, but the wrench icon got buried in the attenuated navbar on mobile view. This explains why it worked on tablet Safari but not for users on phones. This should be easy to fix now that we know the scope of the problem.

[-] fuzz@kbin.social 1 points 1 year ago

That’s great! I’ll keep an eye out for an update and give it a test.

[-] shazbot@kbin.social 1 points 1 year ago

May I ask what mobile phone you are using? There is a hotfix live now that should move the wrench icon into the hamburger menu if the viewport is too small.

[-] Noki@kbin.social 1 points 1 year ago* (last edited 1 year ago)

Ipad with safari works with out any problem.

Iphone iOS 16.5 works only if i flip my phone to the side. Then the wrench is visible. I am on 2.0.6. Iphone 10 (not even in the “hamburger menu”)

[-] shazbot@kbin.social 1 points 1 year ago

Hmm, thank you for the data point. If you are rotating your phone, it's going into the "desktop view" and the wrench will be on the far right. As of 2.0.6, the wrench should be in the hamburger menu on the upper left. Can you try tapping that and looking inside to see if you find the wrench in there now?

[-] Noki@kbin.social 1 points 1 year ago

Im stupid, looked at the wrong place. Its in the hamburger menu on the left side. Thank you once again.

[-] shazbot@kbin.social 1 points 1 year ago

My pleasure! Hopefully the mystery is solved now.

[-] DarkThoughts@kbin.social 1 points 1 year ago
[-] shazbot@kbin.social 2 points 1 year ago

This is tentatively fixed and we have it working on all flavors now. The update should be forthcoming over the weekend or start of next week, we are just verifying things.

[-] DarkThoughts@kbin.social 1 points 1 year ago

Thanks for the heads up.

[-] shazbot@kbin.social 1 points 1 year ago

This is noted, it is a high priority at the moment to support all of the different flavors of extensions.

[-] shazbot@kbin.social 1 points 1 year ago

This should be fixed, would you mind trying the 2.0.0 release here?

[-] DarkThoughts@kbin.social 1 points 1 year ago* (last edited 1 year ago)

I already switched to Violentmonkey over the weekend, since Greasemonkey seems to be abandoned for now.
At least for the previous version I couldn't really find much use for. Most of the features were sort of worse than the one in my other used scripts. Like the collapsible comments didn't work with the endless comment scrolling from kbin usability pack and I found the ones from kbin enhancement script just had more usable features that come with it, like collapsing replies and a default collapsed state. Other features didn't really offer much use. Like hiding the sidebar, which a) also hides the config button and doesn't really do anything with the empty space, like enlarging the main content to that side.

Edit: Also, updating to the latest version did not work in ViolentMonkey.

[-] artillect@kbin.social 2 points 1 year ago

Like the collapsible comments didn't work with the endless comment scrolling from kbin usability pack

Ooh, I had no idea that was a feature in KUP! I'll see what I can do to fix that. Should be a relatively easy fix

[-] shazbot@kbin.social 1 points 1 year ago

Thanks for your feedback. There is no intentional curation as to what scripts go in, as authors are free to include what they want provided it complies with the framework, so ultimately this becomes a generic place for different features that may or may not suit different people. Other tools may have a more intentional design if they are made by one person. We cannot actively (but nevertheless try to) support other scripts unless the authors are willing to work with us.

Enlarging the content seems like a good secondary option to add.

By your last comment, I take it you are referring to clicking the update button and installing the new script over? Have you tried refreshing cache after that?

[-] DarkThoughts@kbin.social 1 points 1 year ago

Yes, I mean the update function of the script manager. I ended up just adding the new version manually from the main site again.

[-] shazbot@kbin.social 1 points 1 year ago

I have found the issue and it will be fixed in the next security hotfix. Due to the way github handles caching, VM does not update internally when pointing to the raw files, so we must point to the redirect link.

[-] shazbot@kbin.social 1 points 1 year ago

Thank you, I will try to reproduce it and inspect the VM settings to see why it doesn't auto-update as intended when invoked through the manager itself.

this post was submitted on 12 Jul 2023
188 points (100.0% liked)

/kbin meta

2 readers
1 users here now

Magazine dedicated to discussions about the kbin itself. Provide feedback, ask questions, suggest improvements, and engage in conversations related to the platform organization, policies, features, and community dynamics. ---- * Roadmap 2023 * m/kbinDevlog * m/kbinDesign

founded 1 year ago