News for hackers. Stuff that matters.
Re:Lessons learned from creating a rich-text editor with rea... by contingencies on Saturday December 12, 2020 @10:15PM (#25403995)
I was thinking about this the other day and realised the rsync algorithm should be feasible to compile to javascript to provide a sporadic, byte-efficient synchronization system with smart polling fallbacks in the case of zero websockets without the need for polling, websockets or JSON-based diffing protocols.
Re:Lessons learned from creating a rich-text editor with rea... by dboreham on Sunday December 13, 2020 @12:57AM (#25404626)
Re:Lessons learned from creating a rich-text editor with rea... by contingencies on Sunday December 13, 2020 @03:11AM (#25405089)
Yeah. So someone's done a reimplementation (vs. cross-compile webasm style), but it only has 135 stars (first case) and 10 (second case). Just shared the first one as an HN link at https://news.ycombinator.com/item?id=25405094 ... let's see if people upvote it or do something useful with it...
Re:Lessons learned from creating a rich-text editor with rea... by SahAssar on Sunday December 13, 2020 @08:18PM (#25412307)
The problem as I've understood it is conflict resolution, not diffing.

Rsync only does one-way sync so it does not help much here.

Re:Lessons learned from creating a rich-text editor with rea... by contingencies on Sunday December 13, 2020 @08:31PM (#25412436)
I guess you can have a distributed locking mechanism, either scope or line-driven.

Another option would be when there is a conflict you have a fork, and then re-merge at a later point (eg. when scope-specific changes are complete or scope is left or syntax is re-evaluated as valid), more similar to git style workflow. Which begs the question, why not just use an established RCS/VCS like git and build the interface in front of it, utilizing its built-in diff? However, this workflow probably detracts greatly from the real time intent...

Re:Lessons learned from creating a rich-text editor with rea... by SahAssar on Monday December 14, 2020 @04:27PM (#25423571)
> I guess you can have a distributed locking mechanism, either scope or line-driven

In real time? How would that solve the problems outlined in the article?

> However, this workflow probably detracts greatly from the real time intent

Seems like you understand the problem.

Re:Lessons learned from creating a rich-text editor with rea... by monroewalker on Tuesday December 15, 2020 @11:42AM (#25431927)