In general, the invert() method is not very reliable as an API. Neither json0 and json1 guarantee that any given op is invertible. This can lead to surprising data states when using a "soft" rollback. We should probably default to hard rollback in all cases, and force consumers to opt-in if they want this behaviour (which means they should also hopefully know what they're doing).
Further discussion:
In general, the
invert()method is not very reliable as an API. Neitherjson0andjson1guarantee that any given op is invertible. This can lead to surprising data states when using a "soft" rollback. We should probably default to hard rollback in all cases, and force consumers to opt-in if they want this behaviour (which means they should also hopefully know what they're doing).Further discussion:
invertautomatically inDoc.prototype._rollback#442