@adobe/data - v0.10.30
    Preparing search index...

    Function createRollForwardConcurrency

    • Roll-forward reconciliation: a client-side optimistic concurrency model for collaborative / multi-peer editing. Provided to prove the ConcurrencyStrategy seam can host a fundamentally different reconciliation engine than createRebaseReplayConcurrency — it is not currently wired into a real transport.

      The defining difference from createRebaseReplayConcurrency:

      • Roll-forward, not re-execute. On rebase, each pending local edit is replayed by re-applying its captured post-image tuples, not by re-running its transaction function. A transaction that reads current state and derives a new value (e.g. "add 10 to whatever is there") therefore preserves the value it originally produced, regardless of how the confirmed base shifted underneath it. Re-execution would instead recompute against the new base.

      The rebase sequence on a confirmed (positive-time) delta:

      1. roll back all pending entries newest-to-oldest (apply their undo),
      2. apply the confirmed delta,
      3. replay the remaining pending entries oldest-to-newest by re-applying their captured redo tuples, recapturing fresh undo against the new base.

      Local transients carry monotonically increasing |time| (they are appended as the user edits), so a newly-captured entry always sorts last; the buffer is kept in arrival order and a new entry is materialized on top of the replayed survivors.

      Parameters

      • userId: string | number

        Stable peer/session identifier stamped on every outbound envelope, unique across all peers sharing the same sync server.

      Returns ConcurrencyStrategyFactory