sim: fix changing settings bug

This commit is contained in:
Joey Hess 2024-09-17 11:37:25 -04:00
parent 4c7db31c20
commit ae19ad0fa1
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -920,22 +920,22 @@ updateSimRepoState newst sr = do
, removeDiff = const . flip groupChange (const mempty)
}
updateField oldst newst simWanted $ DiffUpdate
{ replaceDiff = const . preferredContentSet
{ replaceDiff = replaceNew preferredContentSet
, addDiff = preferredContentSet
, removeDiff = const . flip preferredContentSet mempty
}
updateField oldst newst simRequired $ DiffUpdate
{ replaceDiff = const . requiredContentSet
{ replaceDiff = replaceNew requiredContentSet
, addDiff = requiredContentSet
, removeDiff = const . flip requiredContentSet mempty
}
updateField oldst newst simGroupWanted $ DiffUpdate
{ replaceDiff = const . groupPreferredContentSet
{ replaceDiff = replaceNew groupPreferredContentSet
, addDiff = groupPreferredContentSet
, removeDiff = const . flip groupPreferredContentSet mempty
}
updateField oldst newst simMaxSize $ DiffUpdate
{ replaceDiff = const . recordMaxSize
{ replaceDiff = replaceNew recordMaxSize
, addDiff = recordMaxSize
, removeDiff = const . flip recordMaxSize (MaxSize 0)
}
@ -953,7 +953,7 @@ updateSimRepoState newst sr = do
(getSimLocations' ls)
}
updateField oldst newst simFiles $ DiffUpdate
{ replaceDiff = const . stageannexedfile
{ replaceDiff = replaceNew stageannexedfile
, addDiff = stageannexedfile
, removeDiff = const . unstageannexedfile
}
@ -987,6 +987,9 @@ data DiffUpdate a b m = DiffUpdate
, removeDiff :: a -> b -> m ()
}
replaceNew :: (a -> b -> m ()) -> a -> b -> b -> m ()
replaceNew f a new _old = f a new
updateMap
:: (Monad m, Ord a, Eq b)
=> M.Map a b