Example sentences can be re-parented in FLEx — simply drag-and-dropped onto another sense.
We didn't think that was possible (seen in a production project's history).
Senses already handle moves, but as an easier special case — their parents are the root entities, whose diff already runs deletes last. We need a more generic pattern than the sense one.
The sync diffs examples per-sense, so a move becomes an unrelated delete and create, in either order. We get problems like:
- CRDT silently deleting the example
- FwData throwing on creating an existing guid
Example sentences can be re-parented in FLEx — simply drag-and-dropped onto another sense.
We didn't think that was possible (seen in a production project's history).
Senses already handle moves, but as an easier special case — their parents are the root entities, whose diff already runs deletes last. We need a more generic pattern than the sense one.
The sync diffs examples per-sense, so a move becomes an unrelated delete and create, in either order. We get problems like: