Yjs port for Elixir using y-crdt
A demo using the phoenix framework can be found here.
def deps do
[
{:y_ex, "~> 0.6.0"}
]
end
yjs (13.6) |
yrs (0.18) |
y_ex (0.6.5) |
|
---|---|---|---|
YText: insert/delete | ✅ | ✅ | ✅ |
YText: formatting attributes and deltas | ✅ | ✅ | ✅ |
YText: embeded elements | ✅ | ✅ | ✅ |
YMap: update/delete | ✅ | ✅ | ✅ |
YMap: weak links | ✅ (weak-links branch) |
✅ | ❌ |
YArray: insert/delete | ✅ | ✅ | ✅ |
YArray & YText quotations | ✅ (weak links branch) |
✅ | ✅ |
YArray: move | ✅ (move branch) |
✅ | ✅ |
XML Element, Fragment and Text | ✅ | ✅ | ✅ |
Sub-documents | ✅ | ✅ | ❌ |
Shared collections: observers | ✅ | ✅ | ❌ |
Shared collections: recursive nesting | ✅ | ✅ | ❌ |
Document observers | ✅ | ✅ | ✅ |
Transaction: origins | ✅ | ✅ | ✅ |
Snapshots | ✅ | ✅ | ❌ |
Sticky indexes | ✅ | ✅ | ❌ |
Undo Manager | ✅ | ✅ | ❌ |
Awareness | ✅ | ✅ | ✅ |
Network provider: WebSockets | ✅ (y-websocket) |
✅ (yrs-warp) |
❌ |
Network provider: WebRTC | ✅ (y-webrtc) |
✅ (yrs-webrtc) |
❌ |