API reference › @evolu/common › local‑first/Protocol › ProtocolChangeTooLargeError
Defined in: packages/common/src/local-first/Protocol.ts:578
Error for a stored change that sync skipped because it cannot fit an empty ProtocolMessage after a pending Skip range, which is the message a later round is guaranteed to reach.
Every change within maxMutationSize fits. Larger ones are changes saved before that limit existed and crafted changes a relay stores. A change up to 22 bytes too large for that message can still fit one without a pending skip, so sync may send it, sometimes after reporting it, but usually reports it in every sync like a larger one. With defaultProtocolMessageMaxSize, PADMÉ padding leaves no honest change size in that 22-byte window.
An answer to a Timestamps range neither sends nor lists a skipped change, so range fingerprints keep disagreeing about it. A request or a split still lists its timestamp, so a peer that lacks it may ask for it once per sync and gets an answer without it. Every sync narrows the fingerprints to it, skips it again, and ends.
Extends
Typed<"ProtocolChangeTooLargeError">
Properties
size
readonly size: number & Brand<"NonNaN"> & Brand<"Finite"> & Brand<"Int"> & Brand<"NonNegative"> & Brand<"Positive">;
Defined in: packages/common/src/local-first/Protocol.ts:581
The length of the encrypted change in bytes.
timestamp
readonly timestamp: Timestamp;
Defined in: packages/common/src/local-first/Protocol.ts:579
type
readonly type: "ProtocolChangeTooLargeError";
Defined in: packages/common/src/Type.ts:15316