If a replica for a single replica is opened from many processes (e.g. many tabs acting on the same IndexedDB), there's nothing to stop them from attempting concurrent ingestions to the replica. This could lead to invalid or conflicting data on the replica.
There is a local lock on the ingestion process, but this only works within the same process.
What's the problem you want solved?
If a replica for a single replica is opened from many processes (e.g. many tabs acting on the same IndexedDB), there's nothing to stop them from attempting concurrent ingestions to the replica. This could lead to invalid or conflicting data on the replica.
There is a local lock on the ingestion process, but this only works within the same process.
Is there a solution you'd like to recommend?
Use the Web Locks API to create locks shared between processes. This API is already supported in all browsers, Deno support isn't far off.
This is pretty critical for the Earthstar Desktop project.