Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously.
Find a file
Danny Colin 66b90006bd
Merge pull request #2380 from dannycolin/issue-2377
Fix #2377 Tooltip renders off viewport when hovering over a container assigned to VPN.
2022-06-21 15:57:28 -04:00
.github Fix rendering for Troubleshooting info section 2022-06-08 18:57:00 -04:00
bin Reintroduce all the languages for the next release 2021-12-15 21:09:14 +01:00
docs Name change. Fixes #763 2017-09-01 15:16:56 -07:00
src Use browser builtin tooltip 2022-06-21 11:29:06 -04:00
test Fix tests 2021-10-20 14:41:58 -05:00
.env update README to be current 2017-01-05 16:40:25 -06:00
.eslintignore Add test coverage with nyc 2020-01-02 23:25:07 +00:00
.eslintrc.js Fix the tab sorting for custom container ordering - MAC-710 2022-04-29 01:29:54 +02:00
.gitignore Add test coverage with nyc 2020-01-02 23:25:07 +00:00
.gitmodules Github action and creation scripts 2021-10-26 14:00:53 +02:00
.htmllintrc Adding in CSS and HTML linting. Fixes 72 2017-01-30 16:02:26 +00:00
.jpmignore ignore all *.sw* files for jpm and git 2017-11-17 09:59:29 -06:00
.stylelintrc MozillaVPN Integration 2021-10-20 12:52:41 -05:00
CODE_OF_CONDUCT.md Bring CODE_OF_CONDUCT.md current 2019-04-15 14:24:16 -04:00
CONTRIBUTING.md Replace the matrix channel name with a link 2021-10-25 17:22:14 +02:00
icon.png for #5: start browser action UI 2016-12-20 11:05:37 -06:00
LICENSE.txt License added 2017-01-13 11:48:01 +01:00
package.json Bump version to 8.0.7 2022-04-06 10:58:43 -05:00
README.md Use GitHub Actions for testing 2022-04-27 16:25:57 +02:00

Multi-Account Containers

Test

The Firefox Multi-Account Containers extension lets you carve out a separate box for each of your online lives no more opening a different browser just to check your work email! Learn More Here

Available on addons.mozilla.org

For more info, see:

Requirements

  • node 7+ (for jpm)
  • Firefox 91.1.0+

Development

Running Locally

Via WebExtensions API (web-ext)

  1. Fetch the locales updating the git-submodules: git submodule init && git submodule update --remote --depth 1 src/_locales
  2. Install the web-ext tool.
  3. Run web-ext run -s src/. This launches Firefox and installs the extension automatically.

This tool provides some additional development features, such as automatic reloading.

Via about:debugging in Firefox

  1. Fetch the locales updating the git-submodules: git submodule init && git submodule update --remote --depth 1 src/_locales
  2. Open the about:debugging page in Firefox.
  3. Click on This Firefox.
  4. Click on Load Temporary Add-on.
  5. Select src/manifest.json.

Here is a video that demonstrates how to do this.

Testing

  • Install dependencies:

    npm install --legacy-peer-deps
    
  • Run all tests:

    npm run test
    
  • Only run the linter:

    npm run lint
    

There is a timeout test that sometimes fails on certain machines, so make sure to run the tests on your clone before you make any changes to see if you have this problem.

Add/update messages for translation

The src/_locales directory is a git repository like any other, so to make changes to the messages:

  1. Make whatever changes you need in src/_locales/en as you work.

  2. cd src/_locales/en

  3. git branch message-updates-yyyymmdd

  4. git push -u origin message-updates-yyyymmdd

You can then open a pull request from the message-updates-yyyymmdd branch to

the l10n repo main branch.

Distributing

Make the new version

  1. Bump the version number in package.json and manifest.json
  2. Commit the version number bump
  3. Create a git tag for the version: git tag <version>
  4. Push the tag up to GitHub: git push --tags

Publish to AMO

  1. ./bin/build-addon.sh
  2. Upload the .zip to AMO

Publish to GitHub

Finally, we also publish the release to GitHub for those followers.

  1. Download the signed .xpi from the addon versions page
  2. Make the new release on GitHub
    • Use the version number for "Tag version" and "Release title"
    • Release notes: copy the output of git log --no-merges --pretty=format:"%h %s" <previous-version>..<new-version>
    • Attach binaries: select the signed .xpi file

Facebook & Twitter icons CC-Attrib https://fairheadcreative.com.