* feat(conn): add connection screen and logic * fixes from code review * force https * code review fixes * add http for self testing * enable deviceStore persistance * added translations * disabled feature flag * i18n updates * chore: add new folders to biome config (#910) * chore(i18n): New Crowdin Translations by GitHub Action (#908) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> * fix: use correct deprecated GPS coordinate format enum (#917) The Config_DisplayConfig_GpsCoordinateFormat export doesn't exist in the protobufs package. The correct export is Config_DisplayConfig_DeprecatedGpsCoordinateFormat, which matches what's used in the validation schema. Added TODO comment explaining that this field is deprecated since protobufs 2.7.4 and should be migrated to DeviceUIConfig.gps_format when DeviceUI settings are implemented. * style: fix line wrapping for GPS coordinate format enum (#918) - Split long enum reference across multiple lines to improve code readability - Maintains consistent code formatting standards without changing functionality * fix(core): ensure core package works in browser (#923) * fix(core): ensure core package works in browser * style(core): revert new line removal * fix: add @serialport/bindings-cpp to onlyBuiltDependencies (#914) * feat(ui): Add UI library (#900) * feat: scaffold UI library * Update packages/ui/src/components/theme-provider.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add lock file * lint/formatting fixes --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * formatting/linting fixes * fixed some paring logic * fixed connection issue with serial --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Kamil Dzieniszewski <kamil.dzieniszewski@gmail.com> Co-authored-by: Azarattum <43073346+Azarattum@users.noreply.github.com> Co-authored-by: Ben Allfree <ben@benallfree.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.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.
Note
You can find the main Meshtastic documentation at https://meshtastic.org/docs/introduction/.
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-node-serial: NodeJS Serial 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.packages/protobufs: Git submodule containing Meshtastic’s shared protobuf definitions, used to generate and publish the JSR protobuf package.
All Meshtastic JS packages (core and transports) are published both to
JSR. NPM
Repository activity
| 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