]> git.giacomolli.uk - onechat/blobdiff - daemon.go
Import WhatsApp history into a child
[onechat] / daemon.go
index 958d6f7bd2283fe8b2796c14ae345e7b5f14e604..2a93f1dfbdd699ec48eac3a300e7b4cc802a1109 100644 (file)
--- a/daemon.go
+++ b/daemon.go
@@ -370,10 +370,16 @@ func daemonServe(ctx context.Context, listener net.Listener, bot *TelegramBot, w
        }
 
        hub.snapshot = func(ctx context.Context, snapshot func() error) error {
        }
 
        hub.snapshot = func(ctx context.Context, snapshot func() error) error {
-               return messages.Snapshot(func() error {
-                       return daemonSnapshot(ctx, loops, snapshot)
-               })
+               return messages.SnapshotAgents(ctx, snapshot)
+       }
+
+       runtime := &DaemonChildren{
+               ctx:      ctx,
+               cancel:   cancel,
+               root:     l,
+               messages: messages,
        }
        }
+       l.tools.children = runtime
 
        var workers sync.WaitGroup
 
 
        var workers sync.WaitGroup
 
@@ -449,7 +455,7 @@ func daemonServe(ctx context.Context, listener net.Listener, bot *TelegramBot, w
        hub.CloseAll()
        workers.Wait()
 
        hub.CloseAll()
        workers.Wait()
 
-       return errors.Join(err, whatsappErr, schedulesErr, botErr, errors.Join(childErrors...))
+       return errors.Join(err, whatsappErr, schedulesErr, botErr, errors.Join(childErrors...), runtime.Close())
 }
 
 // daemonRunChild runs a child's turn loop and its schedules until either stops.
 }
 
 // daemonRunChild runs a child's turn loop and its schedules until either stops.