Commit Graph

18 Commits

Author SHA1 Message Date
Daniel Pupius
e9fa0104e3 Docker set up and fixes for build 2025-05-01 15:34:16 -07:00
Daniel Pupius
68fc353673 Info page 2025-04-30 15:08:03 -07:00
Daniel Pupius
ebb4e1306f Add connection heartbeat 2025-04-30 10:24:55 -07:00
Daniel Pupius
81892a5793 Cache recent packets and send to client when it connects 2025-04-25 17:22:36 -07:00
Daniel Pupius
acaeeaf495 Fix map view on node details 2025-04-25 10:27:44 -07:00
Daniel Pupius
4a41b0062d Cleanup error handling 2025-04-25 09:34:51 -07:00
Daniel Pupius
86e6f45d5e Fixes for node links and early stream connection 2025-04-25 08:46:30 -07:00
Daniel Pupius
0184cba1ef Updates to node details 2025-04-24 20:10:56 -07:00
Daniel Pupius
d04f52d379 Add a dashboard showing observed nodes and gateways 2025-04-24 09:59:06 -07:00
Daniel Pupius
71e914b05d Fixing wireformat for SSE 2025-04-22 13:37:07 -07:00
Daniel Pupius
86380cccf9 Refactor protos 2025-04-21 15:40:10 -07:00
Daniel Pupius
41ee61b59a Updated logging configuration for dev and json for prod 2025-04-21 14:16:35 -07:00
Daniel Pupius
c6d94b10d1 Inject loggers from main.go instead of creating them locally
- Update all components to accept a logger parameter
- Add default fallbacks when logger is not provided
- Ensure consistent logger naming with parent.Named() pattern
- Create a proper logger hierarchy originating from main.go
- Update MessageLogger to pass logger to BaseSubscriber
2025-04-21 11:09:27 -07:00
Daniel Pupius
9447f44139 Update logging to use prefab/logging package
- Replace standard log package with prefab/logging
- Add context-aware logging in HTTP handlers
- Add structured logging with fields and levels
- Improve logging hierarchy and namespaces
- Implement named loggers for components
2025-04-21 11:01:45 -07:00
Daniel Pupius
9c438713de Add graceful shutdown for SSE connections
Add atomic shutdown flag and shutdown channel to handle graceful
termination of Server-Sent Events connections. This ensures:

1. New connections are rejected with a proper status code during shutdown
2. Existing connections receive a notification before being closed
3. All subscriber channels are properly unsubscribed from the broker

This implementation safely handles multiple in-flight requests during
shutdown by using an atomic flag to track server state.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-04-21 10:38:59 -07:00
Daniel Pupius
52ed85ed23 Send complete packet object to SSE clients 2025-04-21 10:13:30 -07:00
Daniel Pupius
ed1e719bca Add SSE endpoint for streaming MQTT messages to web browsers 2025-04-21 10:01:05 -07:00
Daniel Pupius
758aaa0dc0 Add web server using prefab framework 2025-04-21 09:53:04 -07:00