Skip to content

The second iteration of the transientBug browser extension - a unified code base for Chrome and Firefox designed to scale and fit upcoming features in the transientBug service

Notifications You must be signed in to change notification settings

transientBug/browser-extension

Repository files navigation

Bookmarking the www-bugs

The officially supported Firefox and Chrome extension for the transientBug bookmarking service.

Build Status

Development

This extension was scaffolded out using Create-React-App and is developed in TypeScript. Styling is done with emotion and Tailwind CSS through the Tailwind Babel macro. State is managed through a light-weight (and probably way too "clever") immutable store modeled after Redux & friends and built with React Hooks, Contexts and Immer.js; Actions and reducers are organized in a ducks like pattern. All of this lives in src/.

How to Build

Thanks to CRA and web-ext, building the extension is as easy as:

yarn install
yarn package

Notable Things

  • Debug flags are editable in the preferences when built with the environment variable REACT_APP_DEBUGGABLE=true.
  • yarn build or npm run build will build/bundle the extension into /build
  • yarn storybook or npm run storybook will start a storybook which has most of the components featured
    • Stories live along side their components under <component name>.stories.js files.

To contribute, please fork this repo, make your changes and submit a PR back to this repository.

Tasks

Known MVP work:

  • Add a bundle or package command for building the packages to upload
  • Tests where appropriate
  • Standardize styling of add on

Known Bugs:

  • Turbolinks and the like page loaders don't cause the page-action icon to change
  • Lots of tags causes the description box to move down while the page doesn't scroll

Enhancements:

  • Fetching tags from tB's autocomplete endpoint (TODO: document)
  • Rich markdown previews in descriptions with Slate.js
  • Transition from Travis-CI to GitHub Actions

Firefox

To load the extension into Firefox temporarily, visit about:debugging or see this MDN doc.

Chrome

NOTE: Chrome support is a work in progress.

To load the extension into Chrome temporarily, visit chrome://extensions or see this Google Dev doc.

This extension makes use of the Mozila WebExtension Polyfill to enable the use of the newer Promise based WebExtension APIs which are unavailable in Chrome. There could be edge cases which arise only in Chrome as a result of this.

Credits

License

MIT

About

The second iteration of the transientBug browser extension - a unified code base for Chrome and Firefox designed to scale and fit upcoming features in the transientBug service

Resources

Stars

Watchers

Forks

Packages

No packages published