mattermost-plugin-bridge-xmpp/plugin.json
Felipe Martin 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

78 lines
No EOL
2.7 KiB
JSON

{
"id": "com.mattermost.bridge-xmpp",
"name": "Mattermost Bridge for XMPP",
"description": "This plugin provides a bridge connecting Mattermost and XMPP servers.",
"homepage_url": "https://github.com/mattermost/mattermost-plugin-bridge-xmpp",
"support_url": "https://github.com/mattermost/mattermost-plugin-bridge-xmpp/issues",
"icon_path": "assets/logo.png",
"version": "",
"min_server_version": "6.2.1",
"server": {
"executables": {
"darwin-amd64": "server/dist/plugin-darwin-amd64",
"darwin-arm64": "server/dist/plugin-darwin-arm64",
"linux-amd64": "server/dist/plugin-linux-amd64",
"linux-arm64": "server/dist/plugin-linux-arm64",
"windows-amd64": "server/dist/plugin-windows-amd64.exe"
},
"executable": ""
},
"webapp": {
"bundle_path": "webapp/dist/main.js"
},
"settings_schema": {
"header": "Configure the XMPP bridge connection settings below.",
"footer": "For more information about setting up the XMPP bridge, see the [documentation](https://github.com/mattermost/mattermost-plugin-bridge-xmpp/blob/main/README.md).",
"settings": [
{
"key": "XMPPServerURL",
"display_name": "XMPP Server URL",
"type": "text",
"help_text": "The URL of the XMPP server to connect to (e.g., xmpp.example.com:5222)",
"placeholder": "xmpp.example.com:5222"
},
{
"key": "XMPPUsername",
"display_name": "XMPP Username",
"type": "text",
"help_text": "The username for authenticating with the XMPP server",
"placeholder": "bridge@xmpp.example.com"
},
{
"key": "XMPPPassword",
"display_name": "XMPP Password",
"type": "text",
"secret": true,
"help_text": "The password for authenticating with the XMPP server"
},
{
"key": "EnableSync",
"display_name": "Enable Message Synchronization",
"type": "bool",
"help_text": "When enabled, messages will be synchronized between Mattermost and XMPP",
"default": false
},
{
"key": "XMPPUsernamePrefix",
"display_name": "XMPP Username Prefix",
"type": "text",
"help_text": "Prefix for XMPP users in Mattermost (e.g., 'xmpp' creates usernames like 'xmpp:user@domain')",
"placeholder": "xmpp",
"default": "xmpp"
},
{
"key": "XMPPResource",
"display_name": "XMPP Resource",
"type": "text",
"help_text": "XMPP resource identifier for the bridge client",
"placeholder": "mattermost-bridge",
"default": "mattermost-bridge"
}
]
},
"props": {
"pluginctl": {
"version": "v0.1.1"
}
}
}