Merge pull request #2384 from dannycolin/clean-documentation
Update documentation and templates
This commit is contained in:
commit
7dee05ec1f
8 changed files with 103 additions and 155 deletions
24
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
24
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
**Before submitting your pull request**
|
||||||
|
|
||||||
|
- [ ] I agree to license my code under the [MPL 2.0 license](https://www.mozilla.org/en-US/MPL/2.0/).
|
||||||
|
- [ ] I rebased my work on top of the main branch.
|
||||||
|
- [ ] I ran `npm test` and all tests passed.
|
||||||
|
- [ ] I added test coverages if relevant.
|
||||||
|
|
||||||
|
# Description
|
||||||
|
|
||||||
|
*Please include a summary of the changes including relevant motivation and context.*
|
||||||
|
|
||||||
|
## Type of change
|
||||||
|
|
||||||
|
*Select all that apply.*
|
||||||
|
|
||||||
|
- [ ] Bug fix
|
||||||
|
- [ ] New feature
|
||||||
|
- [ ] Major change (fix or feature that would cause existing functionality to work differently than in the current version)
|
||||||
|
|
||||||
|
Tag issues related to this pull request:
|
||||||
|
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
|
@ -1,35 +1,38 @@
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Everyone is welcome to contribute to containers. Reach out to team members if you have questions:
|
## Requirements
|
||||||
|
|
||||||
- Matrix chat: [#containers:mozilla.org](https://matrix.to/#/#containers:mozilla.org)
|
* Firefox 91.1.0+
|
||||||
- Email: containers@mozilla.com
|
* Git 2.13+
|
||||||
|
* Node 7+
|
||||||
|
|
||||||
## Filing bugs
|
## Getting Started
|
||||||
|
|
||||||
If you find a bug with containers, please file a issue.
|
1. Follow the instructions on [How to fork a repository][fork]
|
||||||
|
2. Fetch the locales:
|
||||||
|
|
||||||
Check first if the bug might already exist: https://github.com/mozilla/multi-account-containers/issues
|
```
|
||||||
|
cd multi-account-containers
|
||||||
|
git submobule update --init
|
||||||
|
```
|
||||||
|
3. Install the project dependencies
|
||||||
|
```
|
||||||
|
npm install --legacy-peer-deps
|
||||||
|
```
|
||||||
|
4. Run `npm run dev`.
|
||||||
|
|
||||||
[Open an issue](https://github.com/mozilla/multi-account-containers/issues/new)
|
## Translations
|
||||||
|
|
||||||
1. Visit about:support
|
The translations are located in `src/_locales`. This directory is a git
|
||||||
2. Click "Copy raw data to clipboard" and paste into the bug. Alternatively copy the following sections into the issue:
|
repository like any other. Before editing files in this folder, you need to:
|
||||||
- Application Basics
|
|
||||||
- Nightly Features (if you are in nightly)
|
|
||||||
- Extensions
|
|
||||||
- Experimental Features
|
|
||||||
3. Include clear steps to reproduce the issue you have experienced.
|
|
||||||
4. Include screenshots if possible.
|
|
||||||
|
|
||||||
## Sending Pull Requests
|
1. `cd src/_locales/`
|
||||||
|
2. `git checkout -b message-updates-yyyymmdd`
|
||||||
|
3. `git push -u origin message-updates-yyyymmdd`
|
||||||
|
|
||||||
Patches should be submitted as pull requests. When submitting patches as PRs:
|
You can then [open a pull request][pr] on [the l10n repository][l10n].
|
||||||
|
|
||||||
- You agree to license your code under the project's open source license (MPL 2.0).
|
[fork]: https://docs.github.com/en/get-started/quickstart/fork-a-repo
|
||||||
- Base your branch off the current master (see below for an example workflow).
|
[l10n]: https://github.com/mozilla-l10n/multi-account-containers-l10n/
|
||||||
- Add both your code and new tests if relevant.
|
[pr]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests
|
||||||
- Run npm test to make sure all tests still pass.
|
[web-ext]: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext
|
||||||
- Please do not include merge commits in pull requests; include only commits with the new relevant code.
|
|
||||||
|
|
||||||
See the main [README](./README.md) for information on prerequisites, installing, running and testing.
|
|
||||||
|
|
119
README.md
119
README.md
|
@ -2,110 +2,31 @@
|
||||||
|
|
||||||
[](https://github.com/mozilla/multi-account-containers/actions/workflows/test.yaml)
|
[](https://github.com/mozilla/multi-account-containers/actions/workflows/test.yaml)
|
||||||
|
|
||||||
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](https://blog.mozilla.org/firefox/introducing-firefox-multi-account-containers/)
|
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!
|
||||||
|
|
||||||
[Available on addons.mozilla.org](https://addons.mozilla.org/firefox/addon/multi-account-containers/)
|
Learn more about Multi-Account Containers in
|
||||||
|
[our end-user documentation][enduser].
|
||||||
|
|
||||||
For more info, see:
|
## Contributing
|
||||||
|
|
||||||
* [Test Pilot Product Hypothesis Document](https://docs.google.com/document/d/1WQdHTVXROk7dYkSFluc6_hS44tqZjIrG9I-uPyzevE8/edit#)
|
Everyone is welcome to contribute to Multi-Account Containers. To learn how
|
||||||
* [Shield Product Hypothesis Document](https://docs.google.com/document/d/1vMD-fH_5hGDDqNvpRZk12_RhCN2WAe4_yaBamaNdtik/edit#)
|
to contribute a patch to Multi-Account Container, please
|
||||||
|
[read our contributing guide][contributing].
|
||||||
|
|
||||||
|
You can also chat with us on [our Matrix room][matrix] or [our forum][forum].
|
||||||
|
|
||||||
## Requirements
|
This repository is governed by Mozilla's code of conduct and etiquette
|
||||||
|
guidelines. For more details, [please read the Mozilla Community Participation Guidelines][cpg].
|
||||||
|
|
||||||
* node 7+ (for jpm)
|
### License
|
||||||
* Firefox 91.1.0+
|
|
||||||
|
|
||||||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
## Development
|
<!-- Please keep the list in alphabetical order -->
|
||||||
|
[contributing]: CONTRIBUTING.md
|
||||||
### Running Locally
|
[cpg]: https://www.mozilla.org/about/governance/policies/participation/
|
||||||
|
[enduser]: https://support.mozilla.org/en-US/kb/containers
|
||||||
#### Via WebExtensions API (web-ext)
|
[forum]: https://discourse.mozilla.org/c/containers/223
|
||||||
|
[matrix]: https://matrix.to/#/#containers:mozilla.org
|
||||||
1. Fetch the locales updating the git-submodules: `git submodule init && git submodule update --remote --depth 1 src/_locales`
|
|
||||||
2. Install the [web-ext](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_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](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Automatic_extension_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](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Temporary_Installation_in_Firefox).
|
|
||||||
5. Select `src/manifest.json`.
|
|
||||||
|
|
||||||
Here is a [video](https://www.youtube.com/watch?v=cer9EUKegG4) 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](https://github.com/mozilla-l10n/multi-account-containers-l10n/) `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](https://addons.mozilla.org/developers/addon/multi-account-containers/versions/submit/)
|
|
||||||
|
|
||||||
#### Publish to GitHub
|
|
||||||
|
|
||||||
Finally, we also publish the release to GitHub for those followers.
|
|
||||||
|
|
||||||
1. Download the signed `.xpi` from [the addon versions page](https://addons.mozilla.org/developers/addon/multi-account-containers/versions)
|
|
||||||
2. [Make the new release on
|
|
||||||
GitHub](https://github.com/mozilla/multi-account-containers/releases/new)
|
|
||||||
* 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
|
|
||||||
|
|
||||||
### Links
|
|
||||||
|
|
||||||
Facebook & Twitter icons CC-Attrib https://fairheadcreative.com.
|
|
||||||
|
|
||||||
- [License](./LICENSE.txt)
|
|
||||||
- [Contributing](./CONTRIBUTING.md)
|
|
||||||
- [Code Of Conduct](./CODE_OF_CONDUCT.md)
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
# Acceptance Criteria
|
|
||||||
|
|
||||||
## User Experience
|
|
||||||
- [ ] It should place a containers button on the user’s browser toolbar
|
|
||||||
- [ ] It should include all containers management UI inside a door hanger from this toolbar button
|
|
||||||
- [ ] It should provide a set of default container choices for users to pick from (work, home, travel etc.)
|
|
||||||
- [ ] Each container type should have a color, icon and name
|
|
||||||
- [ ] It should allow users to create new containers
|
|
||||||
- [ ] It should allow users to delete containers
|
|
||||||
- [ ] It should allow users to open container tabs
|
|
||||||
- [ ] each container tab should be clearly demarcated by color/icon etc.
|
|
||||||
- [ ] It should provide a control to show/hide all open tabs of one container type
|
|
||||||
- [ ] It should provide a control to sort tabs by container type
|
|
||||||
- [ ] It should provide a control to allow users to open containers in new tab or new window by default
|
|
||||||
|
|
||||||
## User Experience Non-Requirements (out of scope)
|
|
||||||
- [ ] It should not show any UI in browser settings
|
|
||||||
- [ ] It should not effect the awesome bar
|
|
||||||
- [ ] It should not effect the Firefox Library
|
|
||||||
- [ ] It should not make any changes to sync functionality
|
|
||||||
|
|
||||||
## Measurements
|
|
||||||
- [ ] It should measure container tab creations per session
|
|
||||||
- [ ] It should measure the type of container tab created
|
|
||||||
- [ ] It should measure container tab creations
|
|
||||||
- [ ] It should measure new container creations
|
|
||||||
- [ ] It should measure container deletes
|
|
||||||
- [ ] It should measure container sorts
|
|
||||||
- [ ] It should measure container hides
|
|
||||||
- [ ] It should report URIs accessed across multiple containers
|
|
||||||
- [ ] It should measure the % of tab-based vs windows-based containers
|
|
BIN
docs/kpi-1.png
BIN
docs/kpi-1.png
Binary file not shown.
Before Width: | Height: | Size: 95 KiB |
31
docs/release.md
Normal file
31
docs/release.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# Release a new version
|
||||||
|
|
||||||
|
## 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. Run `./bin/build-addon.sh`
|
||||||
|
2. [Upload the zip file to AMO][amo-upload]
|
||||||
|
|
||||||
|
## Publish to GitHub
|
||||||
|
|
||||||
|
Finally, we also publish the release to GitHub.
|
||||||
|
|
||||||
|
1. Download the signed `.xpi` from [the addon versions page][addon-page]
|
||||||
|
2. [Create a new release on GitHub][gh-release]
|
||||||
|
* For *Tag version* and *Release title*, use the version number
|
||||||
|
* For *Release notes*, copy the output of:
|
||||||
|
```
|
||||||
|
git log --no-merges \
|
||||||
|
--pretty=format:"%h %s" <previous-version>..<new-version>
|
||||||
|
```
|
||||||
|
* For the *Attach binaries*, select the signed `.xpi` file
|
||||||
|
|
||||||
|
[addon-page]: https://addons.mozilla.org/developers/addon/multi-account-containers/versions
|
||||||
|
[amo-upload]: https://addons.mozilla.org/developers/addon/multi-account-containers/versions/submit/
|
||||||
|
[gh-release]: https://github.com/mozilla/multi-account-containers/releases/new
|
|
@ -36,7 +36,7 @@
|
||||||
"url": "git+https://github.com/mozilla/multi-account-containers.git"
|
"url": "git+https://github.com/mozilla/multi-account-containers.git"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"webext": "web-ext run -s src/",
|
"dev": "web-ext run -s src/",
|
||||||
"lint": "npm-run-all lint:*",
|
"lint": "npm-run-all lint:*",
|
||||||
"lint:addon": "./bin/addons-linter.sh",
|
"lint:addon": "./bin/addons-linter.sh",
|
||||||
"lint:css": "stylelint src/css/*.css",
|
"lint:css": "stylelint src/css/*.css",
|
||||||
|
|
Loading…
Add table
Reference in a new issue