Labels: medium, bug, configuration, data-consistency
Description
ShopManager.reload() merges file data into the existing in-memory state.
It does not remove shops or items that were deleted from shops.json.
Impact
- Deleted shops remain available in memory.
- Deleted items can remain purchasable until restart.
- Runtime state differs from the configuration file.
- Administrators cannot reliably reload shop configuration.
Expected behavior
Validate the new file and replace the complete in-memory shop state after successful validation.
Labels: medium, bug, configuration, data-consistency
Description
ShopManager.reload()merges file data into the existing in-memory state.It does not remove shops or items that were deleted from
shops.json.Impact
Expected behavior
Validate the new file and replace the complete in-memory shop state after successful validation.