diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9dafea5..20a0149 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,133 +1,43 @@ # Contributing to Meshview -First off, thanks for taking the time to contribute! ❤️ -All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for ways to help and details about how this project handles contributions. Please read the relevant section before getting started — it will make things smoother for both you and the maintainers. +Thanks for helping improve Meshview. Bug reports, fixes, documentation updates, and feature ideas are welcome. -The Meshview community looks forward to your contributions. 🎉 +## Be Respectful -> And if you like the project but don’t have time to contribute code, that’s fine! You can still support Meshview by: -> - ⭐ Starring the repo on GitHub -> - Talking about Meshview on social media -> - Referencing Meshview in your own project’s README -> - Mentioning Meshview at local meetups or to colleagues/friends +Keep discussion constructive and focused on the project. Harassment, personal attacks, hate speech, or sharing private information are not acceptable. ---- +## Questions and Issues -## Table of Contents +Before opening a new issue, please search the existing issues first. -- [Code of Conduct](#code-of-conduct) -- [I Have a Question](#i-have-a-question) -- [I Want to Contribute](#i-want-to-contribute) - - [Reporting Bugs](#reporting-bugs) - - [Suggesting Enhancements](#suggesting-enhancements) - - [Your First Code Contribution](#your-first-code-contribution) - - [Improving the Documentation](#improving-the-documentation) -- [Styleguides](#styleguides) - - [Commit Messages](#commit-messages) -- [Join the Project Team](#join-the-project-team) +For bugs, include: +- what you expected to happen +- what actually happened +- steps to reproduce +- OS, Python version, database type, and useful logs ---- +For feature requests, describe the use case and why it helps Meshview users. -## Code of Conduct +Security issues should not be reported in public issues. Email them to **meshview-maintainers@proton.me**. -Meshview is an open and welcoming community. We want everyone to feel safe, respected, and valued. +## Pull Requests -### Our Standards -- Be respectful and considerate in all interactions. -- Welcome new contributors and help them learn. -- Provide constructive feedback, not personal attacks. -- Focus on collaboration and what benefits the community. +Use the `develop` branch for development work. -Unacceptable behavior includes harassment, insults, hate speech, personal attacks, or publishing others’ private information without permission. +1. Fork and clone the repository. +2. Create your branch from `develop`. +3. Make your changes. +4. Test the app locally. +5. Commit and push your branch. +6. Open a pull request against `develop`. ---- +For Python changes, run: -## I Have a Question +```bash +./env/bin/ruff check . +./env/bin/ruff format . +``` -> Before asking, please read the [documentation](docs/README.md) if available. +## Contribution Terms -1. Search the [issues list](../../issues) to see if your question has already been asked. -2. If not, open a [new issue](../../issues/new) with the **question** label. -3. Provide as much context as possible (OS, Python version, database type, etc.). - ---- - -## I Want to Contribute! - -### Legal Notice -By contributing to Meshview, you agree that: -- You authored the content yourself. -- You have the necessary rights to the content. -- Your contribution can be provided under the project’s license. - ---- - -### Reporting Bugs - -Before submitting a bug report: -- Make sure you’re using the latest Meshview version. -- Verify the issue is not due to a misconfigured environment (SQLite/MySQL, Python version, etc.). -- Search existing [bug reports](../../issues?q=label%3Abug). -- Collect relevant information: - - Steps to reproduce - - Error messages / stack traces - - OS, Python version, and database backend - - Any logs (`meshview-db.service`, `mqtt_reader.py`, etc.) - -How to report: -- Open a [new issue](../../issues/new). -- Use a **clear and descriptive title**. -- Include reproduction steps and expected vs. actual behavior. - -⚠️ Security issues should **not** be reported in public issues. Instead, email us at **meshview-maintainers@proton.me**. - ---- - -### Suggesting Enhancements - -Enhancements are tracked as [issues](../../issues). Before suggesting: -- Make sure the feature doesn’t already exist. -- Search for prior suggestions. -- Check that it fits Meshview’s scope (mesh packet analysis, visualization, telemetry, etc.). - -When submitting: -- Use a **clear and descriptive title**. -- Describe the current behavior and what you’d like to see instead. -- Include examples, screenshots, or mockups if relevant. -- Explain why it would be useful to most Meshview users. - ---- - -### Your First Code Contribution - -We love first-time contributors! 🚀 - -If you’d like to start coding: -1. Look for issues tagged with [good first issue](../../issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). -2. Fork the repository and clone it locally. -3. Set up the development environment: -4. Run the app locally -5. Create a new branch, make your changes, commit, and push. -6. Open a pull request! - ---- - -### Improving the Documentation - -Docs are just as important as code. You can help by: -- Fixing typos or broken links. -- Clarifying confusing instructions. -- Adding examples (e.g., setting up Nginx as a reverse proxy, SQLite vs. MySQL setup). -- Writing or updating tutorials. - ---- - -## Join the Project Team - -Meshview is a community-driven project. If you consistently contribute (code, documentation, or community help), we’d love to invite you as a maintainer. - -Start by contributing regularly, engaging in issues/PRs, and helping others. - ---- - -✨ That’s it! Thanks again for being part of Meshview. Every contribution matters. \ No newline at end of file +By contributing, you confirm that you wrote the contribution or have the right to submit it, and that it can be provided under this project's license. diff --git a/README.md b/README.md index 64edcca..df01437 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ The project serves as a real-time monitoring and diagnostic tool for the Meshtas - MQTT/decryption: expanded Meshtastic one-byte PSK shorthand support in `mqtt.secondary_keys`. - Health/maintenance: added cleanup status reporting to the health page and fixed timezone handling in health reporting. - UI/API fixes: improved Firehose, Node, and Top channel handling, including showing all channels where expected. -- Contributors: thanks to giannoug for fixes to ROUTING ACK/NAK display, `mqtt.secondary_keys` PSK shorthand handling, and traceroute path orientation, plus jschrempp and the Meshview community for testing and feedback included in this release. +- Contributors: thanks to [giannoug](https://github.com/giannoug) for fixes to ROUTING ACK/NAK display, `mqtt.secondary_keys` PSK shorthand handling, and traceroute path orientation, plus jschrempp and the Meshview community for testing and feedback included in this release. ### Version 3.0.7 — May 2026 - Reliability report: added a dedicated reliability page for checking how well a selected node is heard across the mesh, including heard/missed status, packet counts, hop counts, gateway tables, and a map view.