mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-20 13:38:11 +02:00
UI: pas d'animation de repli au refresh + reorg reglages
- serveur emet {caught_up} quand le replay est draine ; le client cree alors les
bulles raisonnement/outil DEJA repliees (collapseInstant, sans animation) tant
qu'on rejoue le journal -> au refresh elles apparaissent fermees direct
- 'Mise a jour' passe au-dessus de 'Actions'
- le toggle compactage rejoint la section Parametres (sous le mode agent)
This commit is contained in:
1 parent
54e14c7935
commit
e28bc45557
2 files changed
+38
-10
No files matched your search
@@ -261,6 +261,7 @@ func (c *Conversation) Subscribe(ctx context.Context, from int, emit func(map[st
|
||||
c.mu.Lock()
|
||||
last := from
|
||||
epoch := c.epoch
|
||||
announced := false // a-t-on signalé la fin du replay (caught_up) ?
|
||||
for {
|
||||
if ctx.Err() != nil {
|
||||
c.mu.Unlock()
|
||||
@@ -304,6 +305,18 @@ func (c *Conversation) Subscribe(ctx context.Context, from int, emit func(map[st
|
||||
if sent {
|
||||
continue // il peut y avoir eu de nouveaux événements pendant l'envoi
|
||||
}
|
||||
// Replay drainé : on le signale UNE fois au client (il replie alors
|
||||
// instantanément les vieilles bulles, sans animation), avant de suivre le
|
||||
// direct. Événement synthétique, non journalisé.
|
||||
if !announced {
|
||||
announced = true
|
||||
c.mu.Unlock()
|
||||
if !emit(map[string]any{"caught_up": true}) {
|
||||
return
|
||||
}
|
||||
c.mu.Lock()
|
||||
continue
|
||||
}
|
||||
c.cond.Wait() // rien de neuf : dort jusqu'au prochain Broadcast (ou ctx annulé)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user