Remove _diff marker: use self-describing jay_diff protocol

Server (network.py): send every record in diff mode starting from
prev={}, including the first — fixes history drop on new client connect.

Collect (collect.py): remove payload["_diff"] = True from live broadcast.

GUI client (gui_client.py): always call jay_merge_full in diff mode;
drop the _diff key check that gated reconstruction.

CLI client (client.py): fix `args.diff or True` guard that made --diff
irrelevant.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 16:08:33 +02:00
co-authored by Claude Sonnet 4.6
parent a4ce702ee4
commit ca5b284e9a
4 changed files with 6 additions and 19 deletions
+1 -5
View File
@@ -159,11 +159,7 @@ class TcpReader(QObject):
try:
data = json.loads(line)
if self._diff_mode:
if data.get("_diff"):
diff = {k: v for k, v in data.items() if k != "_diff"}
self._state = jay_merge_full(self._state, diff)
else:
self._state = data
self._state = jay_merge_full(self._state, data)
self.message.emit(copy.deepcopy(self._state))
else:
self.message.emit(data)