mattermost-plugin-bridge-xmpp/plugin.json
Felipe Martin 4d6929bab6
feat: complete XMPP bridge implementation with configuration fixes
- Fix configuration loading by matching JSON field names with plugin manifest keys
- Move configuration to separate package to resolve type conflicts
- Implement bridge startup logic that initializes on OnActivate and updates on OnConfigurationChange
- Add certificate verification skip option for development/testing environments
- Create XMPP client initialization helper function to avoid code duplication
- Add SetOnlinePresence() method to XMPP client for presence management
- Set bridge user online presence automatically upon successful XMPP connection
- Remove unused mock generation and test files as requested
- Update bridge constructor to accept configuration parameter
- Implement proper bridge lifecycle management with Start/Stop methods

The bridge now properly loads configuration from admin console, creates XMPP connections
with appropriate TLS settings, and manages online presence for the bridge user.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 18:56:59 +02:00

85 lines
No EOL
2.9 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"
},
{
"key": "XMPPInsecureSkipVerify",
"display_name": "Skip TLS Certificate Verification",
"type": "bool",
"help_text": "Skip TLS certificate verification for XMPP connections (use only for testing/development)",
"default": false
}
]
},
"props": {
"pluginctl": {
"version": "v0.1.1"
}
}
}