Bluesky Overhaul Save Abandoned

UX improvements for Bluesky web app

Project README

Bluesky Overhaul

Chrome Web Store Mozilla Add-on Liberapay receiving

This is a small extension for Chrome (and partially Firefox) that adds some nice and handy functionality to Bluesky, the greatest media platform of all time.

Right now (as of April 19, 2023), the app is invite-only and the web app is running at https://staging.bsky.app/ (you may find yours truly at @blisstweeting.ingroup.social).

Table of contents

Features

Implemented features are listed here. For the planned ones, see Issues. Also, some new ideas may appear in this Bluesky thread (login required). You can also create an issue if you have a feature request.

Emoji picker

Allows you to pick emojis from a palette of all available emojis. You can also search for emojis by name.

Doesn't work on Firefox yet.

emoji-picker.png

Auto quote-posting

When you paste a link to someone's post:

  • removes "staging." from the URL
  • clicks the "Add link card" button for you
  • only works if the URL is at the end of the pasted text
  • you can remove the link from the text after the card is loaded

Keyboard navigation for photos

You can navigate through photos with and keys.

YouTube embeds in feed, profile, and post pages

YouTube player now appears beside YouTube links on some pages (not in search results yet).

img.png

Vim keybindings

You can now use j and k to traverse posts, l to like, and ? to look up the list of all keybindings. (There are 11 or more different actions configured, depending on the extension version.)

Hide followers, following, and posts counts from profiles

Pretty self-explanatory!

Settings popup

You can now change some settings in the extension popup window. You can also disable the extension from that popup if something is buggy, and it will turn back on when the next version is released.

Development

Local build

npm install
npm run build

Development guide

Unsorted temporary notes about how to approach development:

  1. If you want to implement a feature, please:
    • Add an issue to the Issues section if it's not there already.
    • Discuss it with Phil and draft an approximate plan.
    • Assign it to yourself.
    • Implement and test it.
      • It should pass the eslint checks.
    • Create a pull request.
  2. Please, make sure to run the pre-commit hook.
    • Soon, I'll add a CI pipeline that will run it on GitHub.
  3. So far, there are two major abstractions for any behavior: Watcher and Pipeline:
    • Watchers wait for events globally and react to those.
    • Pipelines are deployed and terminated for specific DOM elements.
    • If you need a new abstraction, please discuss it with Phil first.
  4. Finding elements in the DOM is a mess right now. It's on my personal vendetta refactoring list.
    • Some of it happens in the elementsFinder.js file (because it's needed in more than one place) and some of it does not. I'll probably put everything into that one file, but I have to organize it better.
Open Source Agenda is not affiliated with "Bluesky Overhaul" Project. README Source: xenohunter/bluesky-overhaul
Stars
26
Open Issues
15
Last Commit
1 year ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating