fix: preserve Today sync enqueue order
CI / lint (pull_request) Successful in 2m38s
CI / build-release (pull_request) Successful in 5s
CI / browser-journey (pull_request) Successful in 2m9s
CI / release-candidate (pull_request) Has been skipped

This commit is contained in:
timmy committed 2026-08-17 20:43:13 +00:00
1 parent 4a85f02eae
commit 442d0a157d
3 files changed
+27 -2

No files matched your search

+25
View File
@@ -83,6 +83,31 @@ sync.enqueue('add', 'issue:r:1:');
}
def test_operations_queued_in_the_same_millisecond_preserve_enqueue_order():
script = f"""
const createTodaySync = require({json.dumps(str(TODAY_SYNC))});
const values = new Map();
const storage = {{
get length() {{ return values.size; }}, key: index => [...values.keys()][index] || null,
getItem: key => values.get(key) || null,
setItem: (key, value) => values.set(key, value), removeItem: key => values.delete(key),
}};
const operationIds = ['z-add-first', 'a-move-second'];
const sync = createTodaySync({{
storage, getLogin: () => 'timmy', now: () => 1000,
createOperationId: () => operationIds.shift(),
fetchJson: async () => ({{revision: 0, ids: []}}),
}});
sync.enqueue('add', 'issue:r:1:');
sync.enqueue('move', 'issue:r:1:', 'up');
process.stdout.write(JSON.stringify(sync.pending().map(operation => operation.operation_id)));
"""
assert json.loads(subprocess.run(
["node", "-e", script], check=True, capture_output=True, text=True
).stdout) == ["z-add-first", "a-move-second"]
def test_today_capacity_configuration_syncs_offline_and_adopts_remote_plan():
script = f"""
const createTodaySync = require({json.dumps(str(TODAY_SYNC))});