feat: implement production-ready MUC operations and comprehensive testing
- Implement proper XMPP MUC operations using mellium.im/xmpp/muc package - Add session readiness checking to prevent blocking on room joins - Create comprehensive bridge manager architecture with lifecycle management - Add complete channel mapping functionality with KV store persistence - Remove defensive logger nil checks as requested by user - Enhance XMPP client doctor with MUC testing (join/wait/leave workflow) - Add detailed dev server documentation for test room creation - Implement timeout protection for all MUC operations - Add proper error handling with fmt.Errorf instead of pkg/errors - Successfully tested: MUC join in ~21ms, 5s wait, clean leave operation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4d6929bab6
commit
d159c668c2
11 changed files with 1048 additions and 553 deletions
|
@ -74,7 +74,26 @@ After completing the setup wizard:
|
|||
- **Email**: `testuser@localhost`
|
||||
4. Click **Create User**
|
||||
|
||||
### 4. Test Connectivity
|
||||
### 4. Create Test MUC Room
|
||||
|
||||
For testing Multi-User Chat functionality, create a test room:
|
||||
|
||||
1. In the admin console, go to **Group Chat** → **Create New Room**
|
||||
2. Fill in the room details:
|
||||
- **Room ID**: `test1`
|
||||
- **Room Name**: `Test Room 1`
|
||||
- **Description**: `Test room for XMPP bridge development`
|
||||
- **Subject**: `Development Test Room`
|
||||
3. Configure room settings:
|
||||
- **Room Type**: Public (searchable and accessible)
|
||||
- **Persistent**: Yes (room survives server restarts)
|
||||
- **Max occupants**: 50 (or leave default)
|
||||
- **Enable**: Yes
|
||||
4. Click **Create Room**
|
||||
|
||||
The room will be accessible as `test1@conference.localhost` for testing MUC operations.
|
||||
|
||||
### 5. Test Connectivity
|
||||
|
||||
Run the doctor tool to verify everything is working:
|
||||
|
||||
|
@ -84,6 +103,17 @@ make devserver_doctor
|
|||
|
||||
You should see successful connection, ping, and disconnect messages.
|
||||
|
||||
#### Test MUC Operations
|
||||
|
||||
To test Multi-User Chat room operations (requires the test room created above):
|
||||
|
||||
```bash
|
||||
# Test MUC room join/leave operations
|
||||
go run cmd/xmpp-client-doctor/main.go --test-muc
|
||||
```
|
||||
|
||||
This will test joining the `test1@conference.localhost` room, waiting 5 seconds, and then leaving.
|
||||
|
||||
## Server Details
|
||||
|
||||
- **Admin Console**: http://localhost:9090
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue