mattermost-plugin-bridge-xmpp/server
Felipe Martin 7b56cb34c6
feat: implement bidirectional message bridge system with XMPP-Mattermost integration
This commit implements a comprehensive bridge-agnostic message routing system that enables
real-time bidirectional message synchronization between XMPP and Mattermost platforms.

Key features:
- Bridge-agnostic message types and structures for extensibility
- Central message bus system with publisher-subscriber pattern
- Complete Bridge interface implementation for both XMPP and Mattermost
- Message aggregation from multiple sources for scalability
- Loop prevention mechanisms to avoid infinite message cycles
- Buffered channels for high-performance message processing

Architecture highlights:
- Producer-consumer pattern for message routing between bridges
- Thread-safe goroutine lifecycle management with context cancellation
- Message handlers separated into dedicated files for maintainability
- Support for future bridge implementations (Slack, Discord, etc.)
- Markdown content standardization across all bridges

Files added:
- server/model/message.go: Core bridge-agnostic message structures
- server/bridge/messagebus.go: Central message routing system
- server/bridge/mattermost/message_handler.go: Mattermost-specific message processing
- server/bridge/xmpp/message_handler.go: XMPP-specific message processing

Files modified:
- server/bridge/manager.go: Integration with message bus and routing
- server/bridge/mattermost/bridge.go: Complete Bridge interface implementation
- server/bridge/xmpp/bridge.go: Message aggregation and interface completion
- server/model/bridge.go: Extended Bridge interface for bidirectional messaging
- server/xmpp/client.go: Enhanced message listening with mellium.im/xmpp

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 21:52:28 +02:00
..
bridge feat: implement bidirectional message bridge system with XMPP-Mattermost integration 2025-08-04 21:52:28 +02:00
command feat: implement OnSharedChannelsPing hook with active bridge health checking 2025-08-04 16:42:59 +02:00
config feat: restore XMPP bridge to use direct client connection instead of bridge user 2025-08-04 18:04:10 +02:00
logger feat: restore XMPP bridge to use direct client connection instead of bridge user 2025-08-04 18:04:10 +02:00
model feat: implement bidirectional message bridge system with XMPP-Mattermost integration 2025-08-04 21:52:28 +02:00
store/kvstore feat: implement bridge-agnostic channel mapping keys 2025-08-01 16:20:21 +02:00
xmpp feat: implement bidirectional message bridge system with XMPP-Mattermost integration 2025-08-04 21:52:28 +02:00
.gitignore Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00
api.go Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00
configuration.go fix: prevent dangling XMPP connections during configuration updates 2025-08-04 19:04:43 +02:00
hooks_sharedchannels.go feat: implement OnSharedChannelsPing hook with active bridge health checking 2025-08-04 16:42:59 +02:00
job.go Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00
main.go Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00
plugin.go feat: implement comprehensive bridge-agnostic user management system 2025-08-04 17:50:44 +02:00
plugin_test.go Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00