Files
meshview/CONTRIBUTING.md
Joel Krauska e77428661c Version 3.0.0 Feature Release - Target Before Thanksgiving! (#96)
* Add alembic DB schema management (#86)

* Use alembic
* add creation helper
* example migration tool

* Store UTC int time in DB (#81)

* use UTC int time

* Remove old index notes script -- no longer needed

* modify alembic to support cleaner migrations

* add /version json endpoint

* move technical docs

* remove old migrate script

* add readme in docs:

* more doc tidy

* rm

* update api docs

* ignore other database files

* health endpoint

* alembic log format

* break out api calls in to their own file to reduce footprint

* ruff and docs

* vuln

* Improves arguments in mvrun.py

* Set dbcleanup.log location configurable

* mvrun work

* fallback if missing config

* remove unused loop

* improve migrations and fix logging problem with mqtt

* Container using slim/uv

* auto build containers

* symlink

* fix symlink

* checkout and containerfile

* make /app owned by ap0p

* Traceroute Return Path logged and displayed (#97)


* traceroute returns are now logged and /packetlist now graphs the correct data for a return route
* now using alembic to update schema
* HOWTO - Alembic

---------

Co-authored-by: Joel Krauska <jkrauska@gmail.com>

* DB Backups

* backups and cleanups are different

* ruff

* Docker Docs

* setup-dev

* graphviz for dot in Container

* Summary of 3.0.0 stuff

* Alembic was blocking mqtt logs

* Add us first/last timestamps to node table too

* Worked on /api/packet. Needed to modify
- Store.py to read the new time data
- api.py to present the new time data
- firehose.html chat.html and map.html now use the new apis and the time is the browser local time

* Worked on /api/packet. Needed to modify
- Store.py to read the new time data
- api.py to present the new time data
- firehose.html chat.html and map.html now use the new apis and the time is the browser local time

* Improves container build (#94)

* Worked on /api/packet. Needed to modify
- Store.py to read the new time data
- api.py to present the new time data
- firehose.html chat.html and map.html now use the new apis and the time is the browser local time

* Worked on /api/packet. Needed to modify
- Store.py to read the new time data
- api.py to present the new time data
- firehose.html chat.html and map.html now use the new apis and the time is the browser local time

* Worked on /api/packet. Needed to modify
- Added new api endpoint /api/packets_seen
- Modified web.py and store.py to support changes to APIs.
- Started to work on new_node.html and new_packet.html for presentation of data.

* Worked on /api/packet. Needed to modify
- Added new api endpoint /api/packets_seen
- Modified web.py and store.py to support changes to APIs.
- Started to work on new_node.html and new_packet.html for presentation of data.

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* fix ruff format

* more ruff

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* pyproject.toml requirements

* use sys.executable

* fix 0 epoch dates in /chat

* Make the robots do our bidding

* another compatibility fix when _us is empty and we need to sort by BOTH old and new

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* Finishing up all the pages for the 3.0 release.

Now all pages are functional.

* Remamed new_node to node. shorter and descriptive.

* Remamed new_node to node. shorter and descriptive.

* Remamed new_node to node. shorter and descriptive.

* Remamed new_node to node. shorter and descriptive.

* Remamed new_node to node. shorter and descriptive.

* Remamed new_node to node. shorter and descriptive.

* More changes... almost ready for release.

Ranamed 2 pages for easy or reading.

* Fix the net page as it was not showing the date information

* Fix the net page as it was not showing the date information

* Fix the net page as it was not showing the date information

* Fix the net page as it was not showing the date information

* ruff

---------

Co-authored-by: Óscar García Amor <ogarcia@connectical.com>
Co-authored-by: Jim Schrempp <jschrempp@users.noreply.github.com>
Co-authored-by: Pablo Revilla <pablorevilla@gmail.com>
2025-11-28 11:17:20 -08:00

4.7 KiB
Raw Permalink Blame History

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 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.

The Meshview community looks forward to your contributions. 🎉

And if you like the project but dont have time to contribute code, thats fine! You can still support Meshview by:

  • Starring the repo on GitHub
  • Talking about Meshview on social media
  • Referencing Meshview in your own projects README
  • Mentioning Meshview at local meetups or to colleagues/friends

Table of Contents


Code of Conduct

Meshview is an open and welcoming community. We want everyone to feel safe, respected, and valued.

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.

Unacceptable behavior includes harassment, insults, hate speech, personal attacks, or publishing others private information without permission.


I Have a Question

Before asking, please read the documentation if available.

  1. Search the issues list to see if your question has already been asked.
  2. If not, open a new issue with the question label.
  3. Provide as much context as possible (OS, Python version, database type, etc.).

I Want to Contribute

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 projects license.

Reporting Bugs

Before submitting a bug report:

  • Make sure youre using the latest Meshview version.
  • Verify the issue is not due to a misconfigured environment (SQLite/MySQL, Python version, etc.).
  • Search existing bug reports.
  • 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.
  • 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. Before suggesting:

  • Make sure the feature doesnt already exist.
  • Search for prior suggestions.
  • Check that it fits Meshviews scope (mesh packet analysis, visualization, telemetry, etc.).

When submitting:

  • Use a clear and descriptive title.
  • Describe the current behavior and what youd 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 youd like to start coding:

  1. Look for issues tagged with good first issue.
  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), wed love to invite you as a maintainer.

Start by contributing regularly, engaging in issues/PRs, and helping others.


Thats it! Thanks again for being part of Meshview. Every contribution matters.