[M4] Vue unifiée de conversation (merge sort des timelines multi-bridge) #231

Closed
opened 2026-04-06 08:55:08 +00:00 by charles · 0 comments
Owner

Contexte

Quand un contact logique regroupe plusieurs identités, une vue fusionnée affiche tous les messages de tous les bridges dans une seule timeline chronologique.

Critères d'acceptation

  • Struct UnifiedTimeline { contact, sources: Vec<RoomTimelineSource> } avec méthode next_batch(count) -> Vec<UnifiedEvent>
  • Struct UnifiedEvent { event, bridge_type, room_id } : chaque message porte son badge d'origine
  • Merge sort K-way sur les timestamps des sources (SF-M4-03)
  • Chaque message affiche un badge de provenance bridge (icône Telegram, WhatsApp, etc.) — SF-M4-04
  • Navigation dans l'historique : pagination cohérente même avec plusieurs sources
  • Sélecteur de canal de réponse : dropdown pour choisir par quel bridge répondre, mémorisation du dernier canal utilisé — SF-M4-05

Notes techniques

  • Crate : crates/fractal-bridge/ (logique) + crates/fractal-gtk/ (UI)
  • Voir specs §6.2 (SF-M4-03, SF-M4-04, SF-M4-05) et §6.3 (ST-M4-03)
  • Dépend de #221 (UnifiedContact)
## Contexte Quand un contact logique regroupe plusieurs identités, une vue fusionnée affiche tous les messages de tous les bridges dans une seule timeline chronologique. ## Critères d'acceptation - [ ] Struct `UnifiedTimeline { contact, sources: Vec<RoomTimelineSource> }` avec méthode `next_batch(count) -> Vec<UnifiedEvent>` - [ ] Struct `UnifiedEvent { event, bridge_type, room_id }` : chaque message porte son badge d'origine - [ ] Merge sort K-way sur les timestamps des sources (SF-M4-03) - [ ] Chaque message affiche un badge de provenance bridge (icône Telegram, WhatsApp, etc.) — SF-M4-04 - [ ] Navigation dans l'historique : pagination cohérente même avec plusieurs sources - [ ] Sélecteur de canal de réponse : dropdown pour choisir par quel bridge répondre, mémorisation du dernier canal utilisé — SF-M4-05 ## Notes techniques - Crate : `crates/fractal-bridge/` (logique) + `crates/fractal-gtk/` (UI) - Voir specs §6.2 (SF-M4-03, SF-M4-04, SF-M4-05) et §6.3 (ST-M4-03) - Dépend de #221 (UnifiedContact)
Sign in to join this conversation.
No milestone
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#231
No description provided.