diff-match-patch icon indicating copy to clipboard operation
diff-match-patch copied to clipboard

Repo status: has this been abandoned? Are there active forks?

Open derekperkins opened this issue 4 years ago • 3 comments

We're about 2.5 years out from the last commit. There are seemingly viable PRs to be merged, but no activity from maintainers. Is there an active fork somewhere?

derekperkins avatar Dec 09 '21 00:12 derekperkins

Hi @derekperkins for what it is worth I care about this library and use it in production for all realtime sync for https://cocalc.com. I maintain a slightly modified dmp.js here

https://github.com/sagemathinc/cocalc/blob/master/src/packages/util/dmp.js

with some minor fixes for edge cases I've hit. I may end up creating a fork at some point to revive this project. I've also been thinking about writing a new implementation of the algorithm in zig (+compiled to wasm), but we'll see if that makes sense, as Javascript is pretty fast.

williamstein avatar Sep 07 '22 05:09 williamstein

Hi @williamstein I'm curious what edge cases you've run into? I am encountering an issue when comparing superscripts. Interested to see if this case is covered in your modifications.

Text 1
(I(X))u
Text 2
(I(X))<sub>u</sub>
Compare output
(I(X))<ins><s</ins>u<ins>b>u</sub></ins>

As you can see, the html tag for subscript has been flagged as a diff the return is broken html

burnit66 avatar Oct 18 '22 17:10 burnit66

I'm curious what edge cases you've run into?

They were issues involving the timeout implementation, and I think also some really bad performance in edge cases, e.g., shifting a 1MB string over by 1. When using this algorithm in production, especially on a server, these become important.

Thanks for sharing your example. It would be easier for me to test my code on it if you could give a snippet of javascript using dmp that I can just run, importing my slightly modified dmp instead of the official one. If it really is a bug, I'll be very interested in that and hopefully maybe have an idea how to fix it.

williamstein avatar Oct 18 '22 17:10 williamstein