From d1ae298161660e5fd2ac9a0dcbc3c3b3305a05e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 15 Aug 2026 23:11:25 +0200 Subject: Track local head cache in main/test commands --- main/Main.hs | 6 ++++++ main/Test.hs | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/main/Main.hs b/main/Main.hs index 654c04b..5d5df63 100644 --- a/main/Main.hs +++ b/main/Main.hs @@ -51,6 +51,7 @@ import Erebos.Set import Erebos.State import Erebos.Storable import Erebos.Storage +import Erebos.Storage.Head import Erebos.Storage.Merge import Erebos.Sync import Erebos.TextFormat @@ -635,6 +636,11 @@ instance MonadHead LocalState CommandM where modify $ \s -> s { csHead = h' } return x + getLocalHeadCache _ = do + h <- maybe (fail "failed to reload head") return =<< reloadHead =<< gets csHead + modify $ \s -> s { csHead = h } + return $ headCache h + type Command = CommandM () getSelectedPeer :: CommandM Peer diff --git a/main/Test.hs b/main/Test.hs index f9657c2..6ee75bd 100644 --- a/main/Test.hs +++ b/main/Test.hs @@ -289,6 +289,11 @@ instance MonadHead LocalState CommandM where modify $ \s -> s { tsHead = Just h' } return x + getLocalHeadCache _ = do + h <- maybe (fail "failed to reload head") return =<< reloadHead =<< getOrLoadHead + modify $ \s -> s { tsHead = Just h } + return $ headCache h + type Command = CommandM () commands :: [ ( Text, Command ) ] -- cgit v1.2.3