[M4] BridgeType::detect() : identifier les puppet users par patterns user ID #47

Closed
opened 2026-04-06 01:36:36 +00:00 by charles · 0 comments
Owner

Contexte

Fondation de M4 : détecter si un UserId Matrix correspond à un utilisateur puppet créé par un bridge (mautrix-telegram, mautrix-whatsapp, etc.).

Critères d'acceptation

  • Enum BridgeType : Telegram, WhatsApp, Signal, Slack, Discord, IRC, Instagram, Custom(String)
  • BridgeType::detect(user_id) -> Option<BridgeType> basé sur le localpart : telegram_*, whatsapp_*, signal_*, slack_*, discord_*, irc_*
  • Patterns supplémentaires configurables dans config.toml ([bridges] auto_detect = true)
  • BridgeType::icon_name() retourne le nom d'icône SVG symbolique (bridge-telegram-symbolic, etc.)
  • Tests unitaires pour chaque pattern de détection

Notes techniques

  • Dépend de : #1 (workspace), #2 (fractal-ext)
  • Les patterns custom permettent de gérer des bridges non-standard
  • La détection est best-effort : pas de garantie (un humain pourrait avoir telegram_ dans son localpart)
## Contexte Fondation de M4 : détecter si un `UserId` Matrix correspond à un utilisateur puppet créé par un bridge (mautrix-telegram, mautrix-whatsapp, etc.). ## Critères d'acceptation - [ ] Enum `BridgeType` : `Telegram`, `WhatsApp`, `Signal`, `Slack`, `Discord`, `IRC`, `Instagram`, `Custom(String)` - [ ] `BridgeType::detect(user_id) -> Option<BridgeType>` basé sur le localpart : `telegram_*`, `whatsapp_*`, `signal_*`, `slack_*`, `discord_*`, `irc_*` - [ ] Patterns supplémentaires configurables dans `config.toml` (`[bridges] auto_detect = true`) - [ ] `BridgeType::icon_name()` retourne le nom d'icône SVG symbolique (`bridge-telegram-symbolic`, etc.) - [ ] Tests unitaires pour chaque pattern de détection ## Notes techniques - Dépend de : #1 (workspace), #2 (fractal-ext) - Les patterns custom permettent de gérer des bridges non-standard - La détection est best-effort : pas de garantie (un humain pourrait avoir `telegram_` dans son localpart)
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#47
No description provided.