Here's an extension for /lists [0] that I thought other HN users might find useful. I actually wrote it a few years ago and submitted it back then, but it didn't get any attention. So at the risk of embarrassing myself further, here I am, again!

Since my original submission I've updated the available lists and added inline form elements for lists that use querystring variables. The extension certainly isn't perfect, but I'd love to get your feedback!

So, what does this extension even do?

I've always thought that the lists link could stand to be placed more prominently on the page, rather than being almost hidden away at the bottom of the site. So to that end, the extension adds a <select> element to the top of the page containing options for known lists so that you can click them be navigated there.

Some of the options, like "Front" (AKA past), add an appropriately typed <input> element to the page. For example, in the case of Front, the input uses type "date" with min and max attributes set to the first day of HN's history, and today's date, respectively.

Besides the official lists, I included an option for the whoishiring [1] user submissions. I spent some time thinking about what else may be useful to include that isn't an official list, but this was the only one that seemed suitable. Perhaps, if there are any other well-known and useful bot accounts on HN that I've missed, they could be included.

As a bit of a "finishing touch" I included code that checks what your topcolor is set to so that the select element blends in with your site header instead of always being the Y Combinator signature orange. This code also checks the brightness of your topcolor so that the text colour the extension uses can be set appropriately (which is useful if for some crazy reason you've set your topcolor to #000000 :P)

There's really not much to this extension other than that... the earlier versions only reached about 50 sloc, but now that I've recently added the input elements with their required event handlers and querystring variable handling (and the styling code mentioned above) the size has nearly tripled. And I'm okay with that, because that's still pretty darn small.

Ultimately, my aim is to always to keep the extension small enough so that it can be easily vetted by anybody wanting to use it. It requires your permission to access the content of the HN webpage to make its modifications, and I absolutely wouldn't trust some extension to not swipe passwords without reading the source code.

Some further work I'm planning for the extension is listed on the README. The biggest one, of course, being support for Safari, which I'd really like to tackle because I spend most of my time browsing HN on an iPhone. There's also an annoying bug I found that I'm yet to resolve affecting the Firefox version which is related to a difference in the way Chrome and Firefox handle the onchange event for input[type=date] [2].

I also need look into how extensions are programmed and distributed for other browsers like Edge, Brave, Opera, etc. But the first things I'm going to get around to doing once I've got a moment is to add an option for /asknew (I don't know how I missed this...) and fixing the Firefox date picker bug.

Lastly, with regard to the Chrome webstore app/extension review process:

For some reason, the Chrome webstore doesn't allow revoking a submission from the review queue. So if you've just submitted (a new version of) an extension for review, and then realised a moment later that you forgot to include some piece of source code or an asset or whatever, there's actually no way to just cancel the review and remove your extension from the review queue so that you can fix it and resubmit. Instead, you have to wait for your submission to inevitably be rejected before submitting again. This wouldn't really be an issue if the review turnaround time was relatively fast, but Chrome's review team must be inundated with work because it seems to take at least twenty-four hours usually.

Compared to Firefox, you're able to revoke a submission before it's been reviewed and immediately resubmit, and on top of that Firefox's review turnaround time is a lot faster. For my tiny extension it's usually never been longer than fifteen minutes.

I'm not trying to bad-mouth Chrome here, I just figured it was worth mentioning because I was really surprised when I discovered this. It must surely be a pain for other developers, too. Submitting something for review with missing/broken things can't be a rare thing, and allowing developers to cancel a review only lightens the work load for the review team.

Anyways, if you'd like to try out the extension, you can find it in the Chrome webstore [3] and Firefox addon browser [4].

0: https://news.ycombinator.com/lists

1: https://news.ycombinator.com/user?id=whoishiring

2: https://github.com/skibz/hnlists/issues/1

3: https://chrome.google.com/webstore/detail/hn-lists/ocmmphbmp...

4: https://addons.mozilla.org/en-US/firefox/addon/hnlists/