First of all, thanks for taking the time to contribute to Web Scrobbler!
If you want to contribute to a metadata-filter
module, which is used to
filter track info in this extension, follow this link.
If you find an issue on the extension website, please, submit it to a relevant repository.
Follow this wiki page for details.
- Ensure the bug was not already reported by searching on GitHub under issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible.
Please read this page to understand how to get the extension logs. If you don't know how to report bugs effectively, please use this article as a guideline.
Please make sure your issue describes only one feature, request or bug.
- Read our wiki.
- Fork the Web Scrobbler git repository.
- Create a pull request against the master branch.
- Ensure PR title explains concisely what the functionality is doing, if merged this will be used in the release notes.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number(s) if applicable.
- Ensure CI tests pass.
It's also worth reading how to write good commit messages.
Since PR titles are used to communicate changes in the release notes we should strive for consistency.
For example when adding support for a new connector the title should be:
Add support for Soundcloud
If your fixing a connector:
Fix Soundcloud connector
For fixes and general updates they should express the change concisely. Examples:
- Improve artist filters for Soundcloud connector
- Update dark mode colour scheme
- Fix race condition when scrobbling cached entries
Please open a separate PR for each logical addition, change, or deletion. For example, if you added a new connector, and fixed an existing one, open two separate PRs for each change; if you added a new feature and updated connectors to use this feature, you can open a single PR containing all changes.
This is because we leverage tooling to automate the release notes and uses the PR title and labels to organise this correctly.
If you plan on contributing something that requires significant changes, please contact us first. You can find us in Discord; alternatively, feel free to open a new issue or discussion and tell us about your plans.
Follow this wiki page for details.
Connectors development is explained in this.
We use a number of linters to verify the source code. Please ensure before
committing the changes they meet our requirements by running npm run lint
.
We also use EditorConfig, which helps to keep code in the same code style in different code editors and IDE's. If you haven't used EditorConfig before, you can visit EditorConfig website for further information.