* Improves map node and neighbor display Updates the map page to enhance the visualization of nodes, waypoints, and neighbor connections. Adds a map layer tool for toggling the visibility of direct/remote neighbors and position precision indicators. Introduces clustering to improve map readability when multiple nodes share the exact same location. Adds SNR lines to visually represent network connections between nodes Co-Authored-By: jamon <jamon@users.noreply.github.com> * Clean up * Update packages/web/src/components/generic/TimeAgo.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/web/src/components/PageComponents/Map/Layers/SNRLayer.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Improve dark mode and expires field * Review fixes Co-Authored-By: Dan Ditomaso <dan.ditomaso@gmail.com> --------- Co-authored-by: philon- <philon-@users.noreply.github.com> Co-authored-by: jamon <jamon@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Dan Ditomaso <dan.ditomaso@gmail.com>
Meshtastic Web Monorepo
Overview
This monorepo consolidates the official Meshtastic web interface and its supporting JavaScript libraries. It aims to provide a unified development experience for interacting with Meshtastic devices.
Projects within this Monorepo (packages/)
All projects are located within the packages/ directory:
packages/web(Meshtastic Web Client): The official web interface, designed to be hosted or served directly from a Meshtastic node.packages/core: Core functionality for Meshtastic JS.packages/transport-node: TCP Transport for the NodeJS runtime.packages/transport-deno: TCP Transport for the Deno runtime.packages/transport-http: HTTP Transport.packages/transport-web-bluetooth: Web Bluetooth Transport.packages/transport-web-serial: Web Serial Transport.
All Meshtastic JS packages (core and transports) are published both to
JSR. NPM
Stats
| Project | Repobeats |
|---|---|
| Meshtastic Web |
Tech Stack
This monorepo leverages the following technologies:
- Runtime: pnpm / Deno
- Web Client: React.js
- Styling: Tailwind CSS
- Bundling: Vite
- Language: TypeScript
- Testing: Vitest, React Testing Library
Getting Started
Prerequisites
You'll need to have pnpm installed to work with this monorepo. Follow the installation instructions on their home page.
Development Setup
- Clone the repository:
git clone https://github.com/meshtastic/meshtastic-web.git cd meshtastic-web - Install dependencies for all packages:
This command installs all necessary dependencies for all packages within the monorepo.
pnpm install
Running Projects
Meshtastic Web Client
Please refer to the Meshtastic Web README for setup and usage.
Feedback
If you encounter any issues, please report them in our issues tracker. Your feedback helps improve the stability of future releases
Contributing
We welcome contributions! Here’s how the deployment flow works for pull requests:
-
Preview Deployments:
Every pull request automatically generates a preview deployment on Vercel. This allows you and reviewers to easily preview changes before merging. -
Staging Environment (
client-test):
Once your PR is merged, your changes will be available on our staging site: client-test.meshtastic.org.
This environment supports rapid feature iteration and testing without impacting the production site. -
Production Releases:
At regular intervals, stable and fully tested releases are promoted to our production site: client.meshtastic.org.
This is the primary interface used by the public to connect with their Meshtastic nodes.
Please review our Contribution Guidelines before submitting a pull request. We appreciate your help in making the project better!