First off, thanks for taking the time to contribute! You are awesome! 🎉👏
Before creating bug reports, please make sure there isn't already an existing issue describing your problem. Create the new issue and provide the necessary information by filling in the bug-report template.
Enhancement suggestions are also tracked as GitHub issues. Before creating enhancement suggestions, please check the existing issues as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please include as many details as possible. Fill in the feature-request template, including the steps that you imagine you would take if the feature you're requesting existed.
Simply fill in the required template. Please do not include issue numbers in the PR title, but add it in the PR body, e.g. via "Closes #1234".
All code must pass the validation workflow automatically running when pushing to a PR. All tests must pass to protect against regressions.
Always run pnpm lint and pnpm format before pushing to this repo.
Please always use the existing code as a guide for new code. Linter and formatter should cover most of the code styling automatically. Other than that
- Custom components follow the PascalCalse when importing and dash-case when adding them to the markup.
- Use destructuring where reasonable
- Favor template literals over string concatenation where applicable
- Modularize code where reasonable
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Start your commit messages with one of the following emojis:
- ➕
:heavy_plus_sign:when adding a file or implementing a feature - 🔨
:hammer:when fixing a bug or issue - 💚
:green_heart:when improving code or comments - ⚡
:zap:when improving performance - 📜
:scroll:when updating docs or readme - 🔑
:key:when dealing with security - 🔁
:repeat:when updating dependencies or data - ✅
:white_check_mark:when releasing a new version - 👕
:shirt:when refactoring or removing linter warnings - ❌
:x:when removing code or files
- ➕
You can add a new translation or improve an existing one by taking the following steps:
- Go to the locales directory on GitHub
- Choose a language and start translating either directly on GitHub or fork the repo and create a Pull Request.
If you run into any problems, leave an issue or start a discussion thread.
Testing and reporting bugs is a great way to help! Here's how:
- Download the latest nightly build from the ThirdStats CDN (XPI file)
- Start Thunderbird and install the XPI file by going to Settings > Add-ons and Themes > Extensions > Gear Button > Install Add-on from file > Choose the downloaded XPI file
- Now start using ThirdStats and check if...
- ThirdStats logo appears in the menu and the popup shows all active accounts
- add-on options page displays properly, alle options can be changed, options can be reset
- stats page display properly, data is shown correctly, processing works, all filter work as expected
If you run into any problems, leave a comment on the corresponding issue #370 or start a discussion thread.
Thanks a lot for your support 💚