Please save me some time and use the following template. In 90% of all issues I can't reproduce the problem because I don't know what exactly you are doing, in which environment, or which y-* version is responsible. Just use the following template even if you think the problem is obvious.
Checklist
Describe the bug
A clear and concise description of what the bug is.
When converting from a Prosemirror Node to a YXmlFragment, y-prosemirror doesn't check that attributes it sets are actually strings.
const type = new Y.XmlElement(node.type.name)
for (const key in node.attrs) {
const val = node.attrs[key]
if (val !== null && key !== 'ychange') {
type.setAttribute(key, val)[Kevin Jahns, 2 years ago: • revert toms refactor](https://sourcegraph.com/github.com/yjs/y-prosemirror/-/commit/e39c91e45e113220b5d66311a24c9397b7af0a25)
}
}
This is problematic because a Prosemirror Node can have a non-string attribute, such as a number. Using YXmlElement.getElement(...) can therefore return a non-string which claims to be a string.
To Reproduce
Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Open console
- See error
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment Information
- Browser / Node.js [e.g. Chrome, Firefox, Node.js]
- Yjs version and the versions of the y-* modules you are using [e.g. yjs v13.0.1, y-webrtc v1.2.1]. Use
npm ls yjs to find out the exact version you are using.
Additional context
Add any other context about the problem here.
Checklist
Describe the bug
A clear and concise description of what the bug is.
When converting from a Prosemirror Node to a YXmlFragment,
y-prosemirrordoesn't check that attributes it sets are actually strings.This is problematic because a Prosemirror Node can have a non-string attribute, such as a
number. UsingYXmlElement.getElement(...)can therefore return a non-string which claims to be a string.To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment Information
npm ls yjsto find out the exact version you are using.Additional context
Add any other context about the problem here.