58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# WebSocket Implementation Completion TODO
|
|
|
|
## Current Status
|
|
- [x] Analysis completed
|
|
- [x] Plan approved by user
|
|
- [ ] Implementation started
|
|
|
|
## Implementation Tasks
|
|
|
|
### 1. Enhance client.go message handlers
|
|
- [ ] Implement database operations (db_insert, db_query, db_custom_query)
|
|
- [ ] Implement admin functions (kick_client, kill_server, clear_logs)
|
|
- [ ] Enhance room management (join_room, leave_room, get_room_info)
|
|
- [ ] Improve ping/pong and heartbeat handling
|
|
- [ ] Add proper error handling and responses
|
|
|
|
### 2. Create proper MessageHandler interfaces
|
|
- [ ] Create DatabaseHandler for database operations
|
|
- [ ] Create AdminHandler for admin functions
|
|
- [ ] Create RoomHandler for room management
|
|
- [ ] Create MonitoringHandler for stats/health checks
|
|
- [ ] Register all handlers in MessageRegistry
|
|
|
|
### 3. Update broadcaster.go integration
|
|
- [ ] Ensure proper hub integration
|
|
- [ ] Add missing server-to-client broadcasting methods
|
|
- [ ] Improve message routing for different communication patterns
|
|
|
|
### 4. Update message.go and registry usage
|
|
- [ ] Ensure all message types are defined
|
|
- [ ] Update hub to use MessageRegistry instead of direct handling
|
|
- [ ] Test registry functionality
|
|
|
|
### 5. Update hub.go message routing
|
|
- [ ] Modify hub to route messages through registry
|
|
- [ ] Ensure proper message queuing and broadcasting
|
|
- [ ] Add monitoring for message processing
|
|
|
|
### 6. Testing and verification
|
|
- [ ] Test broadcast messaging
|
|
- [ ] Test client-to-client direct messaging
|
|
- [ ] Test room management functionality
|
|
- [ ] Test database operations
|
|
- [ ] Test admin functions
|
|
- [ ] Verify HTML AJAX example works with all features
|
|
|
|
## Files to be modified
|
|
- internal/services/websocket/client.go
|
|
- internal/services/websocket/message.go
|
|
- internal/services/websocket/broadcaster.go
|
|
- internal/services/websocket/hub.go
|
|
|
|
## Notes
|
|
- All database operations are currently stubbed and return "not implemented" messages
|
|
- Admin functions need proper authentication/authorization (currently just acknowledge)
|
|
- MessageRegistry exists but is not being used in handleMessage
|
|
- Client.html already supports all required message types
|