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>
This commit is contained in:
parent
f1a6cb138f
commit
07ff46624d
12 changed files with 763 additions and 10 deletions
11
server/bridge/mattermost/bridge.go
Normal file
11
server/bridge/mattermost/bridge.go
Normal file
|
@ -0,0 +1,11 @@
|
|||
package mattermost
|
||||
|
||||
// MattermostToXMPPBridge handles syncing messages from Mattermost to XMPP
|
||||
type MattermostToXMPPBridge struct {
|
||||
// TODO: Implement in Phase 4
|
||||
}
|
||||
|
||||
// NewMattermostToXMPPBridge creates a new Mattermost to XMPP bridge
|
||||
func NewMattermostToXMPPBridge() *MattermostToXMPPBridge {
|
||||
return &MattermostToXMPPBridge{}
|
||||
}
|
11
server/bridge/xmpp/bridge.go
Normal file
11
server/bridge/xmpp/bridge.go
Normal file
|
@ -0,0 +1,11 @@
|
|||
package xmpp
|
||||
|
||||
// XMPPToMattermostBridge handles syncing messages from XMPP to Mattermost
|
||||
type XMPPToMattermostBridge struct {
|
||||
// TODO: Implement in Phase 4
|
||||
}
|
||||
|
||||
// NewXMPPToMattermostBridge creates a new XMPP to Mattermost bridge
|
||||
func NewXMPPToMattermostBridge() *XMPPToMattermostBridge {
|
||||
return &XMPPToMattermostBridge{}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue