The mod desyncs like 5 minutes into multiplayer because inserterDiscovery.lua caches its discovery state in a module local, not in storage. The host's on_init path and the joining client's on_load path then write storage.inserterDiscoveryState asymmetrically (host: never writes, client: writes once).
Sadly the repro is best described as "kinda random" because it depends on hell knows what, but it does produce a consistent source of random desyncs.
The root cause:
inserterDiscovery.lua:46:
local state = makeInserterDiscoveryState() -- module-local
inserterDiscovery.lua:60-64:
local function initInserterDiscoveryIfNeeded(tick)
if not state or state.version ~= InserterDiscoveryStateVersion then
initInserterDiscovery(tick, nil) -- this writes storage.inserterDiscoveryState
end
end
inserterDiscovery.lua:67-69:
function inserterDiscoveryOnLoad()
state = storage.inserterDiscoveryState
end
The same module-local state stuff is in inserterRepo.lua, probably another desync source.