-
Notifications
You must be signed in to change notification settings - Fork 57
Description
It's a workaround for inconsistent results between initial and incremental updates of the editor.
Such inconsistencies can always happen when values stored in a cache are mutable. Mutations applied after a value is return from the cache are still present when the value is reused. If the modification isn't idempotent you end up with a different result.
In case of the MPS editor, editor cells for a child node are cached and then modified by their parent. Usually, the modification as simple as setting style attribute, which is idempotent.
The table editor applies some non-trivial modifications that aren't guaranteed to be idempotent. That's why these inconsistencies become visible.
A generic solution would be to track and revert all modifications done to a cell after it is returned from the cache. Then the modifications don't have to be idempotent.