From aef03732bd8a83dfc60ba26e2bb13ae8aac87ee5 Mon Sep 17 00:00:00 2001 From: realpoke Date: Fri, 4 Sep 2026 16:46:14 +0200 Subject: [PATCH] fix: Emit synchronization state only after merging into history _on_state was emitted even when _merge_rollback_state rejected the snapshot (e.g. stale or out-of-history data), letting consumers react to state that was never recorded. --- addons/netfox/servers/network-synchronization-server.gd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/netfox/servers/network-synchronization-server.gd b/addons/netfox/servers/network-synchronization-server.gd index 693763cd..6c9f3b53 100644 --- a/addons/netfox/servers/network-synchronization-server.gd +++ b/addons/netfox/servers/network-synchronization-server.gd @@ -435,7 +435,6 @@ func _handle_diff_sync(sender: int, data: PackedByteArray): func _ingest_state(sender: int, snapshot: _Snapshot) -> void: snapshot.sanitize(sender) - NetworkHistoryServer._merge_rollback_state(snapshot) + if NetworkHistoryServer._merge_rollback_state(snapshot): + _on_state.emit(snapshot) _logger.trace("Ingested state: %s", [snapshot]) - - _on_state.emit(snapshot)