This is the browser extension for Ona. It supports Chrome (see Chrome Web Store), Firefox (see Firefox Add-ons) and Edge (see how to install Chrome extensions), and adds an Ona button to the configured GitLab, GitHub, Bitbucket and Azure DevOps installations (defaults to gitlab.com, github.com, bitbucket.org and dev.azure.com) which immediately creates an Ona environment for the current git context:
We are currently tracking all issues related to the browser extension in the gitpod-io/gitpod repository.
You can use the component: browser-extension label to search for relevant issues including feature proposals and bug reports.
To make changes and test them using Ona itself:
- add test cases to the unit test
- try out changes like this:
- run
pnpm build - run
pnpm watch-prodand download the built binary for your system (local machine) - run the binary anywhere on your local machine to sync the extension folder locally.
- open Chrome and go to
chrome://extensions/ - enable
Developer mode(top right) - click
Load unpacked(top left) and select the folder you just downloaded - now you can test your changes
- repeat step 1 and 2 and reload the extension whenever you want to test new changes
- run
Or, when developing locally, you can execute the following to enable hot reloading with the extension in Chrome:
pnpm dev
Then, Load unpacked the build/chrome-mv3-dev folder in Chrome and after making changes, pages will reload automatically and the changes will be reflected immediately.
The build happens automatically when you start a workspace but if you want to build explicitly, use these commands:
pnpm install
pnpm build --target=chrome-mv3 # or --target=firefox-mv3
pnpm package --target=chrome-mv3 # or --target=firefox-mv3
You can test the extension without publishing to the store. Before uploading the bundle to the browser, make sure to build the code, then follow these steps:
- Open Chrome
- Click Settings -> Extensions -> Load unpacked (if you don't see this option, ensure you have Developer mode toggled on)
- Select the
chrome-mv3-prodfolder inside ofbuild/
- Open Firefox
- Go to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on -> Select the
firefox-mv3-prod.zipfile. Please note, that some features (like extension settings) will not work.
We currently publish the extension for Chrome and Firefox.
To release a new version, follow these steps:
-
Bump up the version value inside
package.json(yarn version --patchoryarn version --minor) -
Push your changes to
main -
Compose a list of changes using the list of commits that were pushed since last version
-
Create a new release, listing changes:
### Changes - Change/Fix A - Change/Fix B - Change/Fix C ### Credits Thanks to @{EXTERNAL_CONTRIBUTOR_USERNAME} for helping! 🍊
For Firefox:
- Sign in to our Mozilla Add-On management page with the credentials from 1Password
- Click Upload new version
- Upload the zip file (
firefox-mv3-prod.zip) - Go through the steps and submit
For Chrome:
- Using your Google account, open the
gitpod-browser-extension Google Group - If you don't have access, reach out for help in Slack
- An existing member of the group, who is also Verified (paid the $5 for verification) on the Chrome Webstore needs to sync the group members in the webstore
- Navigate to the Chrome Webstore console, make sure you switch the
publishertoGitpod - Click "Upload new package"
- Upload the zip file (
chrome-mv3-prod.zip) and submit - Wait a few hours for the review to happen!
