Comments (4)
Note: we also found another woraround
When using { ignoreRemoteMapChanges: true } in the UndoManager constructor, this issue is also not reproducible.
from yjs.
I have the same issue. Another workaround is using captureTimeout: 0
so the set
+ delete
are not stacked together.
It's this same issue:
#443
It was resolved, but seems that it's happening again.
from yjs.
I have the same issue. Another workaround is using
captureTimeout: 0
so theset
+delete
are not stacked together.It's this same issue: #443
It was resolved, but seems that it's happening again.
Issue is slightly different than #443 in the sense that only the second client has the bad map in this bug here
from yjs.
I also just hit this issue using XmlFragments and was doing some digging with the debugger before finding this issue.
UndoManager
calls redoItem
to remake the map and keys. When remaking the Item
for 'before change'
, origin
is set to the now-deleted item 'changed content'
, but parent
correctly points to the new, re-created map.
Then the function Item.write
serializes the items to sync remote clients, but Item.write
only encodes parent
if origin
is null, so remote clients only see that the 'before change'
key has an origin pointing to the deleted map key. As far as I can tell, it looks like remote clients are connecting the recreated key to the deleted map, instead of the recreated map.
from yjs.
Related Issues (20)
- How to use YJS in a server written in Java language? HOT 3
- Delta embeds support HOT 2
- Regression in v13.6.13 and up HOT 2
- Is there a way to actively trigger garbage collection or actively discard some data HOT 1
- Allow subscribing to only updates with a specific origin on doc.on('update', () => {}) HOT 2
- Inconsistency in absolute position index across clients after an undo operation HOT 5
- @kangc/v-md-editor
- yjs v13.6.13 breaks `y-utility/y-multidoc-undomanager` HOT 1
- Cannot undo a change made from y-crdt in Yjs HOT 7
- `y-codemirror.next` stops syncing because `y-indexeddb` throws exception
- RangeError: Maximum call stack size exceeded
- events item order when undo
- Allow obfuscator to be used across multiple updates for the same document
- documentation is incomplete HOT 1
- Inconsistency when creating absolute position from a relative position
- Allow some origins to propagate HOT 1
- 在vue2中引入报错 HOT 2
- Test failed: error TS2694: Namespace ‘LinkifyIt’ has no exported member ‘LinkifyIt’ HOT 3
- `Y.diffUpdate` does not properly diff out deletions (but does diff out insertions) in `Y.Text` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yjs.