orbitinghail / sqlsync

SQLSync is a collaborative offline-first wrapper around SQLite. It is designed to synchronize web application state between users, devices, and the edge.
https://sqlsync.dev
Apache License 2.0
2.19k stars 28 forks source link

coordinating reducer version upgrades #22

Open carlsverre opened 10 months ago

carlsverre commented 10 months ago

Upgrading a reducer requires careful coordination between the server and the client.

Need to look at this from the perspective of client-server reducer version mismatch. When this occurs, the server is in a unique position to coordinate the upgrade.

The other problem is when the client submits mutations that were created by an older reducer version. This may require extending the reducer API to support "mutation migration" or lensing.