I made a browser extension for more easily navigating to Lemmy communities from the browser address bar

Raicuparta@lemmy.ml to Lemmy@lemmy.ml – 236 points –

tl;dr: With Lemmy Go you type lg beekeeping on the address bar and it takes you to the most popular beekeeping community, or you can pick one from the given suggestions.

Get Lemmy Go for Firefox

Get Lemmy Go for Chrome

More information about Lemmy Go on GitHub

Why

On Reddit, I had a simple search keyword for navigating directly to subreddits, where I could just type r firefox and be taken to reddit.com/r/firefox.

I wanted to have the same behavior for Lemmy, but the Fediverse makes this a lot more complicated.

So I made Lemmy Go to try and make it as simple as possible to jump to a community, or even find new ones more easily.

It's still a work in progress, so it might be a bit unstable and missing a bunch of features. But I've been using it myself for a few days, and it's already pretty helpful.

Usage

Type lg followed by a space (some browsers also accept tab instead), and then type the name of the community you're looking for.

Example: lg linux

Lemmy Go will search its database for any community that has the text linux in its name (e.g. linux_gaming) or title (Linux Gaming).

If you just type a community name and press enter, Lemmy Go will take you to the most popular community from that list.

If you don't press enter right away, you will be shown a list of communities that match that query. You can then select the specific one you want.

Preferred Instance

If you set your preferred instance in the user settings (click the extension icon), Lemmy Go will try its best to navigate to that community in your preferred instance, although this isn't always possible (in which case Lemmy Go will just navigate to the remote instance instead).

For instance, if your preferred instance is set to lemmy.ml and you select firefox@lemmy.world, Lemmy Go will take you to lemmy.ml/c/firefox@lemmy.world.

But if lemmy.ml blocks the lemmy.world instance, then Lemmy Go will take you to lemmy.world/c/firefox instead.

Read the readme on GitHub for more information about how Lemmy Go works

18

found 2 problems

  1. i wish to add instances that are not indexed in this db, not possible apparently.

    I can see that it depends on this API url: https://lemmy.raicuparta.com/communities.json

    maybe add a customizable api url so that I can set up my own where I clone this api url result & add my own communities?

  2. whenever i set any instance as "preferred" (testing), it adds a new counter to Blocked Instances as can be seen in the image below.

I see this as deleted in lemmy.ml but still there in lemmy.world so uh I guess I'll answer anyway.

  1. You can insert any instance in the settings, it doesn't have to be in the database. If that instance isn't linked to any of the instances in the database, then the communities from that instance won't show up in the suggestions. But you can fix that by linking that instance to one of the instances in the database.
  2. The blocked thing isn't a counter, it's just the number of instances that your preferred instance blocks. So it just means it worked. I'll get rid of that message since it's not useful.

Any aspirations for a RES like future?

I've actually thought about it, but it sounds like too big of a project. I don't think I'd have the time to maintain it for free. Besides, Lemmy being open source means we should probably focus on directly improving Lemmy vs doing it via addons (I made a tiny fix a few days ago, I can see myself contributing in a more soon).

That would be awesome. Also highlighting new comments like the "Reddit (Au)" addon for Firefox.

On kbin we have a lot of people making scripts in the vain of RES, good stuff.

Unsure if possible, but I'd love to use this on Waterfox.

Currently, states it's incompatible with the latest version of Waterfox, no problem at all if it's not something that can be remedied.

I had never used Waterfox, but I installed it just now, to see why it doesn't work. Latest Waterfox is apparently based on Firefox 102, which doesn't support Manifest v3 extensions (and Lemmy Go is one of those). I tried to see if supporting v3 and v2 was feasible, but it's just too many changes even for a relatively small extension like this one. I'd rather keep the project as simple as possible for now.

I expect Waterfox G6 (which is supposed to release in September) to support Manifest v3 extensions, so maybe we just need to wait a bit.

No problem at all, I'm happy waiting. Here's to hoping you're correct about Waterford G6. I appreciate you taking the time to investigate for me.

Looks great i will try it. How do you keep it updated?

I had that shortcut for reddit too. This is a good idea.

Awesome dude, this is so sweet. fyi you need to add a preferred server and that part is sorta borked. it's a drop down list but there's no options pre populated, and if you type one in, there's no confirmation that it's an actual server. You gotta just type it in and hit save. Once you hit save, there's no indication that you indeed have selected your lemmy instance.

There's a little work to be done but the primary functionality is working fantastic! Thanks for sharing

Looks like it's not working for you. The extension is supposed to work without setting a preferred server. The instance list is supposed to be pre populated. Something must have happened that prevented it from getting the list. Also, when you click save, it's supposed to show a popup from the browser asking for extra permissions, and then in the Lemmy Go window there's supposed to be a text at the bottom saying "validating instance..." and then "success!", or some error. Is the rest of the extension working for you without setting the instance? It's weird because the instance list comes from the same place as the community list used for the suggestions, so I'm wondering why one would fail but not the other.

I'm working on an update that will show better logs for errors like these.

The link for firefox on this page is broken, looks like there's a rogue ( in the link.

Agh, thanks for the heads up. No idea how I managed to break that. It will be fixed in a few minutes once it redeploys.