Files
meshstream/web
Daniel Pupius 26a2bba441 Fix network map mobile overflow and infer MQTT hops from SNR=0 (#2)
* Fix network map mobile overflow and infer MQTT hops from SNR=0

- Add min-h-0 and flex-shrink-0 to map layout so legend/actions don't
  overflow the viewport on mobile
- Infer viaMqtt=true for traceroute hops with SNR exactly 0
- Change MQTT hop color from purple to orange across map, legend, and
  node detail badges

https://claude.ai/code/session_01Ffqq7YPCJE28uUFR88eK7C

* Revert MQTT color to purple; keep SNR=0 MQTT inference

The color change was unintended — MQTT hops should stay purple. The
SNR=0 inference in traceroute processing correctly marks those hops
as viaMqtt so they render as purple dashed lines.

https://claude.ai/code/session_01Ffqq7YPCJE28uUFR88eK7C

* Fix test setup: mock URL.createObjectURL for maplibre-gl

maplibre-gl calls URL.createObjectURL during import for its worker
setup, which doesn't exist in jsdom. Add the mock to test setup.

https://claude.ai/code/session_01Ffqq7YPCJE28uUFR88eK7C

* Run go fmt on unformatted files

https://claude.ai/code/session_01Ffqq7YPCJE28uUFR88eK7C

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-15 23:06:20 -07:00
..
2025-04-29 12:12:41 -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.