mattermost-plugin-bridge-xmpp/server
Felipe Martin 8e9d87b176
feat: implement remote user creation for Mattermost bridge
Replace bot-based message posting with remote user creation system:

- Add getOrCreateRemoteUser() method to create/retrieve remote users on-demand
- Use plugin API to find existing users by username/email before creating new ones
- Generate usernames with bridge prefix and emails with bridge.{bridgeID} domain
- Set RemoteId field to BridgeMessage.SourceRemoteID for proper loop prevention
- Cache user mappings to avoid repeated API calls
- Post messages directly as remote users instead of bot with metadata
- Remove unused message formatting since messages are posted as actual users
- Log errors for failed user creation without complex retry logic

This enables authentic user attribution in Mattermost channels while maintaining
existing loop prevention mechanisms through the RemoteId field.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-06 12:29:55 +02:00
..
bridge feat: implement remote user creation for Mattermost bridge 2025-08-06 12:29:55 +02:00
command feat: implement sync and sync-reset commands for shared channel management 2025-08-05 19:39:01 +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 chore: register bridge id 2025-08-06 08:36:51 +02:00
store/kvstore refactor: standardize bridge-agnostic terminology and remove unused kvstore functions 2025-08-05 12:33:19 +02:00
xmpp fix: implement direct TCP connection to bypass DNS SRV discovery issues 2025-08-05 19:37:23 +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 OnSharedChannelsSyncMsg hook for bidirectional sync 2025-08-05 19:40:12 +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 chore: register bridge id 2025-08-06 08:36:51 +02:00
plugin_test.go Initial commit from mattermost-plugin-starter-template 2025-07-30 13:12:52 +02:00