I've seen it come up often in collaborative text editors. Also see: https://github.com/yjs/yjs. - Source: Hacker News / 7 months ago
You are absolutely right that XML is better for document structures. My current theory is that Yjs [0] is the new JSON+XML. It gives you both JSON and XML types in one nested structure, all with conflict free merging via incremental updates. Also, you note the issue with XML and overlapping inline markup. Yjs has an answer for that with its text type, you can apply attributes (for styling or anything else) via... - Source: Hacker News / 9 months ago
Note: https://github.com/yjs/yjs for collaborative "document edition, and user cursors"; has WebRTC, web socket, matrix.org backend. - Source: Hacker News / 10 months ago
CCP needs to revamp proto anyway, due to recent exploits... practically, nothing really prevents 'em from using some sort of CRDT's to make the state of the sig view eventually consistent (yjs lib, if we're speaking frontendian). Source: 10 months ago
Yjs framework: Because it is a CRDT implementation which provides collaborative editing and offline-first capability. Source: 11 months ago
Anything CRDT (conflict free lated datatypes) related is fun to read up on and play with. Papers (page maintained by central academic in the world of CRDTs): https://crdt.tech Group doing research into how they can be used to build interesting collaborative (and async) applications: https://www.inkandswitch.com A few of the major open source implementations: - Yjs: https://github.com/yjs/yjs - Peritext:... - Source: Hacker News / about 1 year ago
Hi HN! Nostr-CRDT is an experimental project that connects Yjs [1] (a proven, high performance CRDT) with Nostr [2]. I wanted to learn about the Nostr protocol and see if it'd be possible to send updates to state (e.g.: edits of a rich text document, updates to a todo list) over Nostr. Nostr describes itself as "The simplest open protocol that is able to create a censorship-resistant global "social" network once... - Source: Hacker News / over 1 year ago
Also there is this Javascript library that implements Conflict Resistant Data Types. Source: over 1 year ago
A _lot_ of the heavy-lifting is done by the teams at Yjs[0] and Automerge[1], who have re-implemented their JS libs in Rust. This made it possible for us to wrap them into a Postgres extension using pgx[2] (which is fast becoming a de-facto tool at supabase) [0] Yjs: https://github.com/yjs/yjs [1] Automerge: https://github.com/automerge/automerge [3] pgx: https://github.com/tcdi/pgx. - Source: Hacker News / over 1 year ago
There are a lot of implementations of CRDTs out there. In JavaScript, for instance, we have Y.js (https://github.com/yjs/yjs) and automerge (https://github.com/automerge/automerge). There’s also a Y.js demo (https://demos.yjs.dev/prosemirror/prosemirror.html) that allows you to play around with them and have your own collaborative app running in just a few seconds. All messages are exchange via webRTC and manages... - Source: dev.to / over 1 year ago
You can use Nextcloud with an offline text editor such as Obsidian (for a better text edit UI). However, when two devices edit the same file at the same time, one will override the other (or cause a conflict). A CRDT algorithm is used to resolve file conflicts in real-time. As an example, this repository shows an example of conflicts being resolved with a CRDT using Yjs. How do you implement CRDT (for client-side... Source: over 1 year ago
Anyone unsure of what a CRDT is, this is the perfect intro: https://www.inkandswitch.com/peritext/ The two most widely used CRDT implementations (combining JSON like general purpose types and rich text editing types) are: - Automerge https://github.com/automerge/automerge - Yjs https://github.com/yjs/yjs. - Source: Hacker News / over 1 year ago
CRDTs like Yjs – solves several issues like local/offline-first, versioning, sync, collaboration (effectively replacing the cloud). Source: over 1 year ago
Related to this is also an example with ProseMirror (which TipTap uses for the editing component) [0][1] I'm not completely sure, but I think it uses Yjs [3] for the collaborative editing part. Quote: > Yjs is a CRDT implementation that exposes its internal data structure as shared types. Shared types are common data types like Map or Array with superpowers: changes are automatically distributed to other peers and... - Source: Hacker News / over 1 year ago
I've always been curious about real-time multiplayer user interfaces. When I found out about CRDTs and Yjs[1] I thought they could serve as a solid base for a project like that. So I built this pretty simple desktop-like UI (heavily inspired by lifeat.io) and used Yjs to replicate the whole UI state among multiple peers, creating the experience of a unique interface. Try online: https://yboard.lol [1]:... - Source: Hacker News / almost 2 years ago
Do you know an article comparing Yjs to other products?
Suggest a link to a post with product alternatives.
This is an informative page about Yjs. You can review and discuss the product here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.