mirror of
https://github.com/dpup/meshstream.git
synced 2026-03-28 17:42:37 +01:00
Map: - Fix __publicField error by setting esbuild target to esnext - Replace react-map-gl with direct maplibre-gl imperative API across all map components - Add dark theme styling for MapLibre popup, attribution, and navigation controls - Add NavigationControl to NetworkMap and NodeLocationMap - Fix auto-zoom race condition using mapLoaded state - Fix node click popup being immediately dismissed - Add MQTT links as separate dashed purple layer - Reduce node/dot sizes on NetworkMap - Switch glyph CDN to fonts.openmaptiles.org - Extend map legend with SNR line color key and MQTT indicator Node detail: - Extract shared ConnectionRow and ConnectionList components - Compact connections table: single row per entry with color-coded SNR, badges, short time - Apply same compact style to NeighborInfoPacket neighbor list - Move Connections section into right column below Last Activity - Split Gateway Node out of Device Information into its own card - Fold observed node count into "Recently observed nodes (N)" subtext - Add formatLastSeenShort for compact time display Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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 componentssrc/routes/- Tanstack Router route componentssrc/store/- Redux store and slicessrc/hooks/- Custom React hookssrc/lib/- Utility functions and API clientssrc/styles/- CSS stylessrc/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.