From 7a8e3fa16970296de6e553631fab7cfd67f461c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 29 Mar 2025 21:08:14 +0100 Subject: Keep weak reference to previous local state --- main/State.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'main/State.hs') diff --git a/main/State.hs b/main/State.hs index 76441df..d357844 100644 --- a/main/State.hs +++ b/main/State.hs @@ -44,14 +44,15 @@ loadLocalStateHead term st = loadHeads st >>= \case , ssValue = [ storedRef $ idExtData $ fromMaybe identity owner ] } storeHead st $ LocalState - { lsIdentity = idExtData identity + { lsPrev = Nothing + , lsIdentity = idExtData identity , lsShared = [ shared ] , lsOther = [] } updateSharedIdentity :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Terminal -> m () -updateSharedIdentity term = updateLocalHead_ $ updateSharedState_ $ \case +updateSharedIdentity term = updateLocalState_ $ updateSharedState_ $ \case Just identity -> do Just . toComposedIdentity <$> interactiveIdentityUpdate term identity Nothing -> throwOtherError "no existing shared identity" -- cgit v1.2.3