Files
Daniel Pupius 69a31ca406 Split routers and extend mesh traffic retention (#1)
* Split routers on dashboard and extend retention periods

- Add Router node type with 12-hour stale timeout (vs 30 min for regular nodes)
- Create RouterList component to display router nodes separately
- Update NodeList to filter out routers (similar to gateways)
- Add yellow color scheme for router nodes to distinguish from gateways (green) and nodes (blue)
- Extend mesh traffic retention across the board:
  - Client-side packet age filter: 12h → 24h
  - Broker cache size: 50 → 200 packets
  - Messages per channel: 100 → 500

* Update regular node activity threshold to 60 minutes

* Fix TypeScript errors in router filtering logic

* Fix docker-build to use buildx explicitly with --load flag

* Add default empty value for MESHSTREAM_GOOGLE_MAPS_API_KEY in docker-build

* Restructure docker buildx command to fix path argument parsing

* Remove trailing backslash before build context path in docker-build

* Quote build args and separate path argument in docker-build
2026-01-06 12:25:34 -08:00
..
2025-04-29 12:12:41 -07:00
2025-05-02 12:24:48 -07:00
2025-05-02 12:24:48 -07:00
2025-04-22 16:42:22 -07:00
2025-04-22 13:26:35 -07:00

Meshstream Web Interface

This is the web interface for the Meshstream application, which provides a real-time view of Meshtastic network traffic.

Technologies Used

  • Vite
  • React
  • TypeScript
  • Redux Toolkit
  • Tailwind CSS
  • Tanstack Router

Development

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

# Preview production build
pnpm preview

Structure

  • src/components/ - React components
  • src/routes/ - Tanstack Router route components
  • src/store/ - Redux store and slices
  • src/hooks/ - Custom React hooks
  • src/lib/ - Utility functions and API clients
  • src/styles/ - CSS styles
  • src/assets/ - Static assets like images

API

The application communicates with the Meshstream server via:

  • REST API endpoints at /api/...
  • Server-Sent Events (SSE) connection at /api/stream

See src/lib/api.ts for more details on the API client implementation.