From 68ce13ead408b020a93585070e9a2d68b57414b2 Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Fri, 11 Sep 2026 22:46:44 +0100 Subject: [PATCH] Fix failed not being cleared --- plugins/inventory_sync/module/serialize.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/inventory_sync/module/serialize.lua b/plugins/inventory_sync/module/serialize.lua index 7fabb07c..4aed3a93 100644 --- a/plugins/inventory_sync/module/serialize.lua +++ b/plugins/inventory_sync/module/serialize.lua @@ -557,6 +557,7 @@ function serialize.deserialize_crafting_notifications(player, serialized, previo --- @type CraftingNotificationDelta local delta = helpers.json_to_table(assert(helpers.decode_string(serialized))) assert(type(delta) == "table", "wrong type decoded from json_to_table") + local failed = {} for _, recipe_name in pairs(previous_failed or {}) do failed[recipe_name] = true @@ -567,10 +568,11 @@ function serialize.deserialize_crafting_notifications(player, serialized, previo for _, recipe in pairs(player.force.recipes) do if recipe.enabled and not recipe.hidden then enabled[recipe.name] = true + failed[recipe.name] = nil end end - -- Clear notifications the player has cleared elsewhere + -- Clear notifications the player has cleared elsewhere, this means "add seen notification" for _, recipe_name in pairs(delta.add or {}) do if enabled[recipe_name] then player.clear_recipe_notification(recipe_name) @@ -579,7 +581,7 @@ function serialize.deserialize_crafting_notifications(player, serialized, previo end end - -- Add notifications the player has elsewhere + -- Add notifications the player has elsewhere, this means "remove seen notification" for _, recipe_name in pairs(delta.remove or {}) do if enabled[recipe_name] then player.add_recipe_notification(recipe_name)