[M2] StreamingMessageTracker : mise à jour in-place via m.replace #195
Labels
No labels
module:M0-setup
module:M1-stt
module:M1-stt
module:M2-ai
module:M2-ai
module:M3-rich
module:M3-rich
module:M4-bridge
module:M4-bridge
module:M5-bonus
module:M5-bonus
module:setup
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:chore
type:chore
type:feature
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/my-fractal#195
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Les agents IA simulent le streaming en envoyant leur réponse via des edits successifs (
m.relates_to.rel_type: "m.replace"). Fractal+ doit détecter ce pattern et mettre à jour le message en place avec un curseur animé.Critères d'acceptation
StreamingMessageTrackeravecactive_streams: DashMap<OwnedEventId, StreamState>StreamStatecontient :agent_user_id,first_seen,last_update,edit_count,is_completeon_edit()retourneStreamAction::UpdateInPlace { body, show_cursor }si edit < 30s après le message original, sinonStreamAction::NormalEditis_complete = true), masquer le curseur|clignotant en CSSNotes techniques
crates/fractal-ai/(logique) +crates/fractal-gtk/(rendu curseur)