When I published my browser extension a few days ago, I promised a few updates, whether it will be used or not by anyone else.
What's New?
- Works in Ecency and Hive.blog, besides PeakD
- "Remembers" the voting info of recently checked out authors
- Works in Chromium browsers and Firefox
Details on how to install it on the GitHub repo.
Example of usage from Ecency. You need to hover over the link of the username inside their informational popup for the user - an extra step compared to PeakD and Hive.blog.
A little tip, if you want to use the extension. After the popup is shown, use scroll down or up as necessary, either to see the full popup (if it doesn't fit into the window) or, for example, to reach the "More Details" link. If you try to move your mouse from the link to the popup, in 99% of the cases it will disappear before you reach it.
Some Technical Stuff
The first thing to remark was that the final version 1.1 extension had no issue working on Chromium browsers, even though I had my concerns at first. The fact that I used manifest.json v3
from the start spared me of any additional changes, and I had no other Firefox-specific customizations that needed to be done differently in Chrome.
In version 1.1, there are two significant code changes, even though for the usability of the extension, the fact that I added support for ecency.com
and hive.blog
is probably more important.
But let's see what the code changes are:
- caching vote info for the recent authors being checked out (i.e. mouse over the link of the username, and holding for at least 1 second).
- moving the API call to get outgoing vote info from the content script to a background worker service (or script).
Let's talk a little more about each of them:
- This is done to prevent calling the API multiple times for information already provided previously. A max of 25 authors are "remembered" with a TTL (time to live) of 1 hour. Probably more than enough for most situations. I also included a cache cleanup function to run when the extension is loaded, and which removes expired entries, and additional entries (older first) if their total number exceeds the max of 25.
- The second change was needed because calling the API from
content.js
didn't work for hive.blog, and I had to move it to a background service worker. You may have noticed that above I say background script in the parenthesis. It looks that service workers are disabled in Firefox, at least in my version. And I included that option to allow the background script to work in Firefox too.
Used ChatGPT to help out. They have a surprisingly high daily limit on token usage for a free account (haven't reached it), compared to other competitors I've tried out. That isn't necessarily a good thing, as we know it - nothing good is free, especially in high quantities.
It should work for brave too I guess right?
Yes, I tested it on Brave and it works.
I tried loading the extension unpacked and it told me that it would only work with manifest v2.
Google Chrome 137.0.7151.103
EDIT: It does work, I guess the background workers that are failing are what you added to make it work with firefox.
Yes, background scripts only work in manifest v2, and had to add them as an alternative to service workers as a fallback for Firefox. In my Firefox browser it says service workers are not enabled although they should have support for them at this version. But anyway, it works in both cases if I add both options in the manifest.
Thanks for trying it out!
Always happy to play with gidgets and gadgets :)
I think its a good extension, but I don't find myself using it much.
As for ChatGPT, I think its fairly good text-wise, but I think it lacks a bit when it comes to how much you can upload as an image.
One way I use it is to discover new people, by easily seeing who others are voting for in their Top 10.
I haven't used it much for images. When I did, apart from image-to-text recognition (and translation) it did very well once, I find it performing less well than other LLMs I use on images.
Extensions that support multiple services like Ecency, Hive.blog, and PeakD really make a lot easier for users.
Well, they cater to more users, for sure.