feat(bridge): BridgeType + UnifiedContact (#49) #123

Merged
charles merged 3 commits from feat/49-fractal-bridge into main 2026-04-06 02:14:33 +00:00
Owner

Résumé

Implémentation du crate fractal-bridge pour la gestion des contacts multi-réseau.

  • BridgeType enum : Telegram, WhatsApp, Signal, Slack, Discord, IRC, Generic, Native
  • BridgeType::detect(user_id) détecte le réseau depuis le localpart Matrix
  • Helpers : is_bridged(), display_label(), css_class()
  • UnifiedContact avec liste de BridgedIdentity
  • UnifiedContact::SCHEMA — DDL SQLite pour unified_contacts + bridged_identities
  • 7 tests unitaires sur la détection de bridge

Closes #49

Plan de test

  • cargo test -p fractal-bridge passe sans erreur
  • BridgeType::detect("@telegram_12345:example.com") retourne BridgeType::Telegram
  • UnifiedContact::SCHEMA contient les deux tables SQLite
## Résumé Implémentation du crate `fractal-bridge` pour la gestion des contacts multi-réseau. - `BridgeType` enum : `Telegram`, `WhatsApp`, `Signal`, `Slack`, `Discord`, `IRC`, `Generic`, `Native` - `BridgeType::detect(user_id)` détecte le réseau depuis le localpart Matrix - Helpers : `is_bridged()`, `display_label()`, `css_class()` - `UnifiedContact` avec liste de `BridgedIdentity` - `UnifiedContact::SCHEMA` — DDL SQLite pour `unified_contacts` + `bridged_identities` - 7 tests unitaires sur la détection de bridge Closes #49 ## Plan de test - [ ] `cargo test -p fractal-bridge` passe sans erreur - [ ] `BridgeType::detect("@telegram_12345:example.com")` retourne `BridgeType::Telegram` - [ ] `UnifiedContact::SCHEMA` contient les deux tables SQLite
feat(bridge): expose bridge_type and contact modules
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
9c40d2cd2e
Sign in to join this conversation.
No description provided.