Commit graph

2 commits

Author SHA1 Message Date
d159c668c2
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>
2025-08-01 13:47:15 +02:00
07ff46624d
feat: implement XMPP client and development server infrastructure
## XMPP Client Implementation
- Create XMPP client with mellium.im/xmpp library
- Add SASL Plain authentication with TLS support
- Implement basic connection, ping, and disconnect functionality
- Add TLS certificate verification skip option for development

## Development Server Management
- Add custom makefile targets for XMPP server management
- Implement devserver_start, devserver_stop, devserver_status commands
- Add devserver_logs, devserver_clean, devserver_doctor commands
- Create comprehensive sidecar/README.md with setup instructions

## XMPP Client Doctor Tool
- Create cmd/xmpp-client-doctor diagnostic tool
- Add CLI flags for server configuration with sensible defaults
- Implement verbose logging and connection testing
- Include insecure TLS option for development environments

## Bridge Architecture Foundation
- Create placeholder bridge structs in proper package hierarchy
- Add server/bridge/mattermost and server/bridge/xmpp packages
- Update plugin initialization to create bridge instances
- Maintain clean separation between Mattermost and XMPP concerns

## Dependencies and Configuration
- Add mellium.im/xmpp dependencies to go.mod
- Fix plugin.json password field type validation
- Update README.md with XMPP bridge description and doctor usage
- Add .claude.md to .gitignore for local development notes

All tests passing. Ready for Phase 4 (Bridge Logic) implementation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 13:55:24 +02:00